diff --git a/ci-scripts/Jenkinsfile-gitlab b/ci-scripts/Jenkinsfile-gitlab
index 54ceca9603244dc27cdc15ca65ee596c66d6641e..423e07be923195b9591bbb832017886ed7971d20 100644
--- a/ci-scripts/Jenkinsfile-gitlab
+++ b/ci-scripts/Jenkinsfile-gitlab
@@ -115,10 +115,10 @@ pipeline {
             }
         }
 
-        stage ("Start VM -- cppcheck") {
+        stage ("Start VM -- basic-sim") {
             steps {
                 timeout (time: 5, unit: 'MINUTES') {
-                    sh "./ci-scripts/createVM.sh --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                    sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
                 }
             }
         }
@@ -126,39 +126,39 @@ pipeline {
         stage ("Start VM -- enb-usrp") {
             steps {
                 timeout (time: 5, unit: 'MINUTES') {
-                    sh "./ci-scripts/createVM.sh --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                    sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
                 }
             }
         }
 
-        stage ("Start VM -- basic-sim") {
+        stage ("Start VM -- enb-ethernet") {
             steps {
                 timeout (time: 5, unit: 'MINUTES') {
-                    sh "./ci-scripts/createVM.sh --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                    sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
                 }
             }
         }
 
-        stage ("Start VM -- phy-sim") {
+        stage ("Start VM -- ue-ethernet") {
             steps {
                 timeout (time: 5, unit: 'MINUTES') {
-                    sh "./ci-scripts/createVM.sh --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                    sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
                 }
             }
         }
 
-        stage ("Start VM -- enb-ethernet") {
+        stage ("Start VM -- phy-sim") {
             steps {
                 timeout (time: 5, unit: 'MINUTES') {
-                    sh "./ci-scripts/createVM.sh --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                    sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
                 }
             }
         }
 
-        stage ("Start VM -- ue-ethernet") {
+        stage ("Start VM -- cppcheck") {
             steps {
                 timeout (time: 5, unit: 'MINUTES') {
-                    sh "./ci-scripts/createVM.sh --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                    sh "./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
                 }
             }
         }
@@ -169,7 +169,7 @@ pipeline {
                     steps {
                         gitlabCommitStatus(name: "Analysis with cppcheck") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                                sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                             }
                         }
                     }
@@ -178,7 +178,7 @@ pipeline {
                     steps {
                         gitlabCommitStatus(name: "Build eNb-USRP") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                                sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                             }
                         }
                     }
@@ -187,34 +187,34 @@ pipeline {
                     steps {
                         gitlabCommitStatus(name: "Build basic-sim") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                                sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
                             }
                         }
                     }
                 }
-                stage ("Build physical simulators") {
+                stage ("Build eNb-ethernet") {
                     steps {
-                        gitlabCommitStatus(name: "Build phy-sim") {
+                        gitlabCommitStatus(name: "Build eNb-ethernet") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                                sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
                             }
                         }
                     }
                 }
-                stage ("Build eNb-ethernet") {
+                stage ("Build UE-ethernet") {
                     steps {
-                        gitlabCommitStatus(name: "Build eNb-ethernet") {
+                        gitlabCommitStatus(name: "Build UE-ethernet") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                                sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
                             }
                         }
                     }
                 }
-                stage ("Build UE-ethernet") {
+                stage ("Build physical simulators") {
                     steps {
-                        gitlabCommitStatus(name: "Build UE-ethernet") {
+                        gitlabCommitStatus(name: "Build phy-sim") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                               sh "./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
                             }
                         }
                     }
@@ -252,7 +252,7 @@ pipeline {
                             archiveArtifacts artifacts: 'archives/vm_build_logs.zip'
                         }
                         if ("MERGE".equals(env.gitlabActionType)) {
-                            sh "./ci-scripts/reportBuildLocally.sh --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
+                            sh "./ci-scripts/oai-ci-vm-tool report-build --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
                             sh "./ci-scripts/checkAddedWarnings.sh --src-branch ${env.gitlabSourceBranch} --target-branch ${env.gitlabTargetBranch}"
                             def res=readFile('./oai_warning_files.txt').trim();
                             if ("0".equals(res)) {
@@ -263,7 +263,7 @@ pipeline {
                                 addGitLabMRComment comment: message
                             }
                         } else {
-                            sh "./ci-scripts/reportBuildLocally.sh --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
+                            sh "./ci-scripts/oai-ci-vm-tool report-build --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
                         }
                         if(fileExists('build_results.html')) {
                             sh "sed -i -e 's#Build-ID: ${BUILD_ID}#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' build_results.html"
@@ -280,7 +280,7 @@ pipeline {
                     steps {
                         gitlabCommitStatus(name: "Test phy-sim") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/runTestOnVM.sh --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                                sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                             }
                         }
                     }
@@ -289,205 +289,185 @@ pipeline {
                     steps {
                         gitlabCommitStatus(name: "Test basic-sim") {
                             timeout (time: 20, unit: 'MINUTES') {
-                                sh "./ci-scripts/runTestOnVM.sh --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                                sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                             }
                         }
                     }
                 }
-                stage ("Test on CI bench #1") {
-                    stages {
-                        stage ("Test FDD - Band 7 - B210") {
-                            steps {
-                                script {
-                                    try {
-                                        if ("MERGE".equals(env.gitlabActionType)) {
-                                            gitlabCommitStatus(name: "Test-FDD-Band7") {
-                                                build job: 'eNB-CI-FDD-Band7-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: true)
-                                                   ]
-                                            }
-                                        } else {
-                                            gitlabCommitStatus(name: "Test-FDD-Band7") {
-                                                build job: 'eNB-CI-FDD-Band7-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: false)
-                                                   ]
-                                            }
-                                        }
-                                    } catch (Exception e) {
-                                        currentBuild.result = 'FAILURE'
-                                    }
+                stage ("Test FDD - Band 7 - B210") {
+                    steps {
+                        script {
+                            if ("MERGE".equals(env.gitlabActionType)) {
+                                gitlabCommitStatus(name: "Test-FDD-Band7") {
+                                    build job: 'eNB-CI-FDD-Band7-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: true)
+                                       ]
+                                }
+                            } else {
+                                gitlabCommitStatus(name: "Test-FDD-Band7") {
+                                    build job: 'eNB-CI-FDD-Band7-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: false)
+                                       ]
                                 }
                             }
-                            post {
-                                // In case of any non-success, we are retrieving the HTML report of the last completed
-                                // slave job.
-                                // The only drop-back is that we may retrieve the HTML report of a previous build
-                                always {
-                                    script {
-                                        if (!fileExists('test_results-eNB-CI-FDD-Band7-B210.html')) {
-                                            copyArtifacts(projectName: 'eNB-CI-FDD-Band7-B210',
-                                                          filter: 'test_results*.html',
-                                                          selector: lastCompleted())
-                                            if (fileExists('test_results-eNB-CI-FDD-Band7-B210.html')) {
-                                                sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-FDD-Band7-B210.html"
-                                                archiveArtifacts artifacts: 'test_results-eNB-CI-FDD-Band7-B210.html'
-                                            }
-                                        }
+                        }
+                    }
+                    post {
+                        // In case of any non-success, we are retrieving the HTML report of the last completed
+                        // slave job.
+                        // The only drop-back is that we may retrieve the HTML report of a previous build
+                        always {
+                            script {
+                                if (!fileExists('test_results-eNB-CI-FDD-Band7-B210.html')) {
+                                    copyArtifacts(projectName: 'eNB-CI-FDD-Band7-B210',
+                                                  filter: 'test_results*.html',
+                                                  selector: lastCompleted())
+                                    if (fileExists('test_results-eNB-CI-FDD-Band7-B210.html')) {
+                                        sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-FDD-Band7-B210.html"
+                                        archiveArtifacts artifacts: 'test_results-eNB-CI-FDD-Band7-B210.html'
                                     }
                                 }
                             }
                         }
-                        stage ("Test TDD - Band 40 - B210") {
-                            steps {
-                                script {
-                                    try {
-                                        if ("MERGE".equals(env.gitlabActionType)) {
-                                            gitlabCommitStatus(name: "Test-TDD-Band40") {
-                                                build job: 'eNB-CI-TDD-Band40-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: true)
-                                                   ]
-                                            }
-                                        } else {
-                                            gitlabCommitStatus(name: "Test-TDD-Band40") {
-                                                build job: 'eNB-CI-TDD-Band40-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: false)
-                                                   ]
-                                            }
-                                        }
-                                    } catch (Exception e) {
-                                        currentBuild.result = 'FAILURE'
-                                    }
+                    }
+                }
+                stage ("Test TDD - Band 40 - B210") {
+                    steps {
+                        script {
+                            if ("MERGE".equals(env.gitlabActionType)) {
+                                gitlabCommitStatus(name: "Test-TDD-Band40") {
+                                    build job: 'eNB-CI-TDD-Band40-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: true)
+                                       ]
+                                }
+                            } else {
+                                gitlabCommitStatus(name: "Test-TDD-Band40") {
+                                    build job: 'eNB-CI-TDD-Band40-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: false)
+                                       ]
                                 }
                             }
-                            post {
-                                // In case of any non-success, we are retrieving the HTML report of the last completed
-                                // slave job.
-                                // The only drop-back is that we may retrieve the HTML report of a previous build
-                                always {
-                                    script {
-                                        if (!fileExists('test_results-eNB-CI-TDD-Band40-B210.html')) {
-                                            copyArtifacts(projectName: 'eNB-CI-TDD-Band40-B210',
-                                                          filter: 'test_results*.html',
-                                                          selector: lastCompleted())
-                                            if (fileExists('test_results-eNB-CI-TDD-Band40-B210.html')) {
-                                                sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-TDD-Band40-B210.html"
-                                                archiveArtifacts artifacts: 'test_results-eNB-CI-TDD-Band40-B210.html'
-                                            }
-                                        }
+                        }
+                    }
+                    post {
+                        // In case of any non-success, we are retrieving the HTML report of the last completed
+                        // slave job.
+                        // The only drop-back is that we may retrieve the HTML report of a previous build
+                        always {
+                            script {
+                                if (!fileExists('test_results-eNB-CI-TDD-Band40-B210.html')) {
+                                    copyArtifacts(projectName: 'eNB-CI-TDD-Band40-B210',
+                                                  filter: 'test_results*.html',
+                                                  selector: lastCompleted())
+                                    if (fileExists('test_results-eNB-CI-TDD-Band40-B210.html')) {
+                                        sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-TDD-Band40-B210.html"
+                                        archiveArtifacts artifacts: 'test_results-eNB-CI-TDD-Band40-B210.html'
                                     }
                                 }
                             }
                         }
-                        stage ("Test IF4p5 - FDD - Band 7 - B210") {
-                            steps {
-                                script {
-                                    try {
-                                        if ("MERGE".equals(env.gitlabActionType)) {
-                                            gitlabCommitStatus(name: "Test-IF4p5-FDD-Band7") {
-                                                build job: 'eNB-CI-IF4p5-FDD-Band7-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: true)
-                                                   ]
-                                            }
-                                        } else {
-                                            gitlabCommitStatus(name: "Test-IF4p5-FDD-Band7") {
-                                                build job: 'eNB-CI-IF4p5-FDD-Band7-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: false)
-                                                   ]
-                                            }
-                                        }
-                                    } catch (Exception e) {
-                                        currentBuild.result = 'FAILURE'
-                                    }
+                    }
+                }
+                stage ("Test IF4p5 - FDD - Band 7 - B210") {
+                    steps {
+                        script {
+                            if ("MERGE".equals(env.gitlabActionType)) {
+                                gitlabCommitStatus(name: "Test-IF4p5-FDD-Band7") {
+                                    build job: 'eNB-CI-IF4p5-FDD-Band7-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: true)
+                                       ]
+                                }
+                            } else {
+                                gitlabCommitStatus(name: "Test-IF4p5-FDD-Band7") {
+                                    build job: 'eNB-CI-IF4p5-FDD-Band7-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: false)
+                                       ]
                                 }
                             }
-                            post {
-                                // In case of any non-success, we are retrieving the HTML report of the last completed
-                                // slave job.
-                                // The only drop-back is that we may retrieve the HTML report of a previous build
-                                always {
-                                    script {
-                                        if (!fileExists('test_results-eNB-CI-IF4p5-FDD-Band7-B210.html')) {
-                                            copyArtifacts(projectName: 'eNB-CI-IF4p5-FDD-Band7-B210',
-                                                          filter: 'test_results*.html',
-                                                          selector: lastCompleted())
-                                            if (fileExists('test_results-eNB-CI-IF4p5-FDD-Band7-B210.html')) {
-                                                sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-IF4p5-FDD-Band7-B210.html"
-                                                archiveArtifacts artifacts: 'test_results-eNB-CI-IF4p5-FDD-Band7-B210.html'
-                                            }
-                                        }
+                        }
+                    }
+                    post {
+                        // In case of any non-success, we are retrieving the HTML report of the last completed
+                        // slave job.
+                        // The only drop-back is that we may retrieve the HTML report of a previous build
+                        always {
+                            script {
+                                if (!fileExists('test_results-eNB-CI-IF4p5-FDD-Band7-B210.html')) {
+                                    copyArtifacts(projectName: 'eNB-CI-IF4p5-FDD-Band7-B210',
+                                                  filter: 'test_results*.html',
+                                                  selector: lastCompleted())
+                                    if (fileExists('test_results-eNB-CI-IF4p5-FDD-Band7-B210.html')) {
+                                        sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-IF4p5-FDD-Band7-B210.html"
+                                        archiveArtifacts artifacts: 'test_results-eNB-CI-IF4p5-FDD-Band7-B210.html'
                                     }
                                 }
                             }
                         }
-                        stage ("Test IF4p5 - TDD - Band 40 - B210") {
-                            steps {
-                                script {
-                                    try {
-                                        if ("MERGE".equals(env.gitlabActionType)) {
-                                            gitlabCommitStatus(name: "Test-IF4p5-TDD-Band40") {
-                                                build job: 'eNB-CI-IF4p5-TDD-Band40-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: true)
-                                                   ]
-                                            }
-                                        } else {
-                                            gitlabCommitStatus(name: "Test-IF4p5-TDD-Band40") {
-                                                build job: 'eNB-CI-IF4p5-TDD-Band40-B210',
-                                                   parameters: [
-                                                       string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                                                       string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
-                                                       string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
-                                                       booleanParam(name: 'eNB_mergeRequest', value: false)
-                                                   ]
-                                            }
-                                        }
-                                    } catch (Exception e) {
-                                        currentBuild.result = 'FAILURE'
-                                    }
+                    }
+                }
+                stage ("Test IF4p5 - TDD - Band 40 - B210") {
+                    steps {
+                        script {
+                            if ("MERGE".equals(env.gitlabActionType)) {
+                                gitlabCommitStatus(name: "Test-IF4p5-TDD-Band40") {
+                                    build job: 'eNB-CI-IF4p5-TDD-Band40-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: true)
+                                       ]
+                                }
+                            } else {
+                                gitlabCommitStatus(name: "Test-IF4p5-TDD-Band40") {
+                                    build job: 'eNB-CI-IF4p5-TDD-Band40-B210',
+                                       parameters: [
+                                           string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+                                           string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
+                                           string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
+                                           booleanParam(name: 'eNB_mergeRequest', value: false)
+                                       ]
                                 }
                             }
-                            post {
-                                // In case of any non-success, we are retrieving the HTML report of the last completed
-                                // slave job.
-                                // The only drop-back is that we may retrieve the HTML report of a previous build
-                                always {
-                                    script {
-                                        if (!fileExists('test_results-eNB-CI-IF4p5-TDD-Band40-B210.html')) {
-                                            copyArtifacts(projectName: 'eNB-CI-IF4p5-TDD-Band40-B210',
-                                                          filter: 'test_results*.html',
-                                                          selector: lastCompleted())
-                                            if (fileExists('test_results-eNB-CI-IF4p5-TDD-Band40-B210.html')) {
-                                                sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-IF4p5-TDD-Band40-B210.html"
-                                                archiveArtifacts artifacts: 'test_results-eNB-CI-IF4p5-TDD-Band40-B210.html'
-                                            }
-                                        }
+                        }
+                    }
+                    post {
+                        // In case of any non-success, we are retrieving the HTML report of the last completed
+                        // slave job.
+                        // The only drop-back is that we may retrieve the HTML report of a previous build
+                        always {
+                            script {
+                                if (!fileExists('test_results-eNB-CI-IF4p5-TDD-Band40-B210.html')) {
+                                    copyArtifacts(projectName: 'eNB-CI-IF4p5-TDD-Band40-B210',
+                                                  filter: 'test_results*.html',
+                                                  selector: lastCompleted())
+                                    if (fileExists('test_results-eNB-CI-IF4p5-TDD-Band40-B210.html')) {
+                                        sh "sed -i -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_results-eNB-CI-IF4p5-TDD-Band40-B210.html"
+                                        archiveArtifacts artifacts: 'test_results-eNB-CI-IF4p5-TDD-Band40-B210.html'
                                     }
                                 }
                             }
@@ -504,9 +484,9 @@ pipeline {
                         if(fileExists('archives/vm_tests_logs.zip')) {
                             archiveArtifacts artifacts: 'archives/vm_tests_logs.zip'
                             if ("MERGE".equals(env.gitlabActionType)) {
-                                sh "./ci-scripts/reportTestLocally.sh --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
+                                sh "./ci-scripts/oai-ci-vm-tool report-test --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger merge-request --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}"
                             } else {
-                                sh "./ci-scripts/reportTestLocally.sh --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
+                                sh "./ci-scripts/oai-ci-vm-tool report-test --workspace $WORKSPACE --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
                             }
                             if(fileExists('test_simulator_results.html')) {
                                 sh "sed -i -e 's#Build-ID: ${BUILD_ID}#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_BUILD_TIME#${JOB_TIMESTAMP}#' test_simulator_results.html"
@@ -519,7 +499,7 @@ pipeline {
         }
         stage ("Destroy all Virtual Machines") {
             steps {
-                sh "./ci-scripts/destroyAllRunningVM.sh --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
             }
         }
     }
@@ -527,7 +507,7 @@ pipeline {
         always {
             script {
                 // Stage destroy may not be run if error in previous stage
-                sh "./ci-scripts/destroyAllRunningVM.sh --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                sh "./ci-scripts/oai-ci-vm-tool destroy --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                 emailext attachmentsPattern: '*results*.html',
                      body: '''Hi,
 Here are attached HTML report files for $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
diff --git a/ci-scripts/Jenkinsfile-tmp-ran b/ci-scripts/Jenkinsfile-tmp-ran
index 5fd2a09598972a80f75c817a6eda711a938e3df7..938110b458868be777bf0d76729605e750fb8345 100644
--- a/ci-scripts/Jenkinsfile-tmp-ran
+++ b/ci-scripts/Jenkinsfile-tmp-ran
@@ -53,6 +53,7 @@ def eNB_Repository
 def eNB_Branch
 def eNB_CommitID
 def eNB_AllowMergeRequestProcess = false
+def eNB_TargetBranch
 
 pipeline {
     agent {
@@ -61,6 +62,7 @@ pipeline {
     options {
         disableConcurrentBuilds()
         ansiColor('xterm')
+        lock (ciSmartPhoneResource)
     }
     // the following parameter options are commented out so it shows the ones
     // that you SHALL have to run the job.
@@ -149,6 +151,14 @@ pipeline {
                     echo "eNB_CommitID          :   ${eNB_CommitID}"
                     if (params.eNB_mergeRequest != null) {
                         eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
+                        if (eNB_AllowMergeRequestProcess) {
+                            if (params.eNB_TargetBranch != null) {
+                                eNB_TargetBranch = params.eNB_TargetBranch
+                            } else {
+                                eNB_TargetBranch = 'develop'
+                            }
+                            echo "eNB_TargetBranch      :   ${eNB_TargetBranch}"
+                        }
                     }
 
                     if (params.EPC_IPAddress == null) {
@@ -184,7 +194,6 @@ pipeline {
             steps {
                 script {
                     dir ('ci-scripts') {
-                      lock (ciSmartPhoneResource) {
                         try {
                             echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
                             withCredentials([
@@ -192,12 +201,11 @@ pipeline {
                                 [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
                                 [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
                             ]) {
-                                sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${testXMLFile}"
+                                sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBRepository=${eNB_Repository} --eNBBranch=${eNB_Branch} --eNBCommitID=${eNB_CommitID} --eNB_AllowMerge=${eNB_AllowMergeRequestProcess} --eNBTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${testXMLFile}"
                             }
                         } catch (Exception e) {
                             currentBuild.result = 'FAILURE'
                         }
-                      }
                     }
                 }
             }
diff --git a/ci-scripts/buildOnVM.sh b/ci-scripts/buildOnVM.sh
index 2a358c9bacf09ce8d27577efc3d1572ce98f80e9..aed449f180f59fe1d0ba49ecd3e98c9062d09243 100755
--- a/ci-scripts/buildOnVM.sh
+++ b/ci-scripts/buildOnVM.sh
@@ -20,8 +20,8 @@
 # *      contact@openairinterface.org
 # */
 
-function usage {
-    echo "OAI VM Build Check script"
+function build_usage {
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
     echo "   Requirements:"
     echo "     -- uvtool uvtool-libvirt apt-cacher"
@@ -31,9 +31,9 @@ function usage {
     echo ""
     echo "Usage:"
     echo "------"
-    echo "    buildOnVM.sh [OPTIONS]"
+    echo "    oai-ci-vm-tool build [OPTIONS]"
     echo ""
-    echo "Options:"
+    echo "Mandatory Options:"
     echo "--------"
     echo "    --job-name #### OR -jn ####"
     echo "    Specify the name of the Jenkins job."
@@ -44,356 +44,136 @@ function usage {
     echo "    --workspace #### OR -ws ####"
     echo "    Specify the workspace."
     echo ""
-    echo "    --variant enb-usrp     OR -v1"
-    echo "    --variant basic-sim    OR -v2"
-    echo "    --variant phy-sim      OR -v3"
-    echo "    --variant cppcheck     OR -v4"
-    echo "    --variant enb-ethernet OR -v7"
-    echo "    --variant ue-ethernet  OR -v8"
+    echo "Options:"
+    echo "--------"
+    variant_usage
     echo "    Specify the variant to build."
     echo ""
     echo "    --keep-vm-alive OR -k"
     echo "    Keep the VM alive after the build."
     echo ""
+    echo "    --daemon OR -D"
+    echo "    Run as daemon"
+    echo ""
     echo "    --help OR -h"
     echo "    Print this help message."
     echo ""
 }
 
-function variant_usage {
-    echo "OAI VM Build Check script"
-    echo "   Original Author: Raphael Defosseux"
-    echo ""
-    echo "    --variant enb-usrp     OR -v1"
-    echo "    --variant basic-sim    OR -v2"
-    echo "    --variant phy-sim      OR -v3"
-    echo "    --variant cppcheck     OR -v4"
-    echo "    --variant enb-ethernet OR -v7"
-    echo "    --variant ue-ethernet  OR -v8"
-    echo ""
-}
-
-if [ $# -lt 1 ] || [ $# -gt 9 ]
-then
-    echo "Syntax Error: not the correct number of arguments"
-    echo ""
-    usage
-    exit 1
-fi
-
-VM_TEMPLATE=ci-
-JOB_NAME=XX
-BUILD_ID=XX
-VM_NAME=ci-enb-usrp
-VM_MEMORY=2048
-VM_CPU=4
-ARCHIVES_LOC=enb_usrp
-LOG_PATTERN=.Rel14.txt
-NB_PATTERN_FILES=4
-BUILD_OPTIONS="--eNB -w USRP"
-KEEP_VM_ALIVE=0
-
-while [[ $# -gt 0 ]]
-do
-key="$1"
-
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -jn|--job-name)
-    JOB_NAME="$2"
-    shift
-    shift
-    ;;
-    -id|--build-id)
-    BUILD_ID="$2"
-    shift
-    shift
-    ;;
-    -ws|--workspace)
-    JENKINS_WKSP="$2"
-    shift
-    shift
-    ;;
-    -k|--keep-vm-alive)
-    KEEP_VM_ALIVE=1
-    shift
-    ;;
-    -v1)
-    VM_NAME=ci-enb-usrp
-    ARCHIVES_LOC=enb_usrp
-    LOG_PATTERN=.Rel14.txt
-    NB_PATTERN_FILES=4
-    BUILD_OPTIONS="--eNB -w USRP --mu"
-    shift
-    ;;
-    -v2)
-    VM_NAME=ci-basic-sim
-    ARCHIVES_LOC=basic_sim
-    LOG_PATTERN=basic_simulator
-    NB_PATTERN_FILES=2
-    BUILD_OPTIONS="--basic-simulator"
-    VM_MEMORY=8192
-    VM_CPU=4
-    shift
-    ;;
-    -v3)
-    VM_NAME=ci-phy-sim
-    ARCHIVES_LOC=phy_sim
-    LOG_PATTERN=.Rel14.txt
-    NB_PATTERN_FILES=3
-    BUILD_OPTIONS="--phy_simulators"
-    shift
-    ;;
-    -v4)
-    VM_NAME=ci-cppcheck
-    VM_MEMORY=4096
-    ARCHIVES_LOC=cppcheck
-    LOG_PATTERN=cppcheck.xml
-    NB_PATTERN_FILES=1
-    BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2"
-    shift
-    ;;
-    -v7)
-    VM_NAME=ci-enb-ethernet
-    ARCHIVES_LOC=enb_eth
-    LOG_PATTERN=.Rel14.txt
-    NB_PATTERN_FILES=6
-    BUILD_OPTIONS="--eNB -t ETHERNET --noS1"
-    shift
-    ;;
-    -v8)
-    VM_NAME=ci-ue-ethernet
-    ARCHIVES_LOC=ue_eth
-    LOG_PATTERN=.Rel14.txt
-    NB_PATTERN_FILES=6
-    BUILD_OPTIONS="--UE -t ETHERNET --noS1"
-    shift
-    ;;
-    --variant)
-    variant="$2"
-    case $variant in
-        enb-usrp)
-        VM_NAME=ci-enb-usrp
-        ARCHIVES_LOC=enb_usrp
-        LOG_PATTERN=.Rel14.txt
-        NB_PATTERN_FILES=4
-        BUILD_OPTIONS="--eNB -w USRP --mu"
-        ;;
-        basic-sim)
-        VM_NAME=ci-basic-sim
-        ARCHIVES_LOC=basic_sim
-        LOG_PATTERN=basic_simulator
-        NB_PATTERN_FILES=2
-        BUILD_OPTIONS="--basic-simulator"
-        VM_MEMORY=8192
-        VM_CPU=4
-        ;;
-        phy-sim)
-        VM_NAME=ci-phy-sim
-        ARCHIVES_LOC=phy_sim
-        LOG_PATTERN=.Rel14.txt
-        NB_PATTERN_FILES=3
-        BUILD_OPTIONS="--phy_simulators"
-        ;;
-        cppcheck)
-        VM_NAME=ci-cppcheck
-        VM_MEMORY=4096
-        ARCHIVES_LOC=cppcheck
-        LOG_PATTERN=cppcheck.xml
-        NB_PATTERN_FILES=1
-        BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2"
-        ;;
-        enb-ethernet)
-        VM_NAME=ci-enb-ethernet
-        ARCHIVES_LOC=enb_eth
-        LOG_PATTERN=.Rel14.txt
-        NB_PATTERN_FILES=6
-        BUILD_OPTIONS="--eNB -t ETHERNET --noS1"
-        ;;
-        ue-ethernet)
-        VM_NAME=ci-ue-ethernet
-        ARCHIVES_LOC=ue_eth
-        LOG_PATTERN=.Rel14.txt
-        NB_PATTERN_FILES=6
-        BUILD_OPTIONS="--UE -t ETHERNET --noS1"
-        ;;
-        *)
-        echo ""
-        echo "Syntax Error: Invalid Variant option -> $variant"
-        echo ""
-        variant_usage
-        exit 1
-    esac
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-esac
-done
-
-if [ ! -f $JENKINS_WKSP/localZip.zip ]
-then
-    echo "Missing localZip.zip file!"
-    exit 1
-fi
-if [ ! -f /etc/apt/apt.conf.d/01proxy ]
-then
-    echo "Missing /etc/apt/apt.conf.d/01proxy file!"
-    echo "Is apt-cacher installed and configured?"
-    exit 1
-fi
-
-if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
-then
-    VM_TEMPLATE=ci-
-else
-    VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
-fi
-
-VM_NAME=`echo $VM_NAME | sed -e "s#ci-#$VM_TEMPLATE#"`
-VM_CMDS=${VM_NAME}_cmds.txt
-ARCHIVES_LOC=${JENKINS_WKSP}/archives/${ARCHIVES_LOC}
-
-echo "VM_NAME             = $VM_NAME"
-echo "VM_CMD_FILE         = $VM_CMDS"
-echo "JENKINS_WKSP        = $JENKINS_WKSP"
-echo "ARCHIVES_LOC        = $ARCHIVES_LOC"
-echo "BUILD_OPTIONS       = $BUILD_OPTIONS"
-
-IS_VM_ALIVE=`uvt-kvm list | grep -c $VM_NAME`
+function build_on_vm {
+    if [ ! -f $JENKINS_WKSP/localZip.zip ]
+    then
+        echo "Missing localZip.zip file!"
+        STATUS=1
+        return
+    fi
+    if [ ! -f /etc/apt/apt.conf.d/01proxy ]
+    then
+        echo "Missing /etc/apt/apt.conf.d/01proxy file!"
+        echo "Is apt-cacher installed and configured?"
+        STATUS=1
+        return
+    fi
 
-if [ $IS_VM_ALIVE -eq 0 ]
-then
     echo "############################################################"
-    echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
+    echo "OAI CI VM script"
     echo "############################################################"
-    uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
-fi
-
-echo "Waiting for VM to be started"
-uvt-kvm wait $VM_NAME --insecure
 
-VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
-echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
+    echo "VM_NAME             = $VM_NAME"
+    echo "VM_CMD_FILE         = $VM_CMDS"
+    echo "JENKINS_WKSP        = $JENKINS_WKSP"
+    echo "ARCHIVES_LOC        = $ARCHIVES_LOC"
+    echo "BUILD_OPTIONS       = $BUILD_OPTIONS"
 
-echo "############################################################"
-echo "Copying GIT repo into VM ($VM_NAME)" 
-echo "############################################################"
-scp -o StrictHostKeyChecking=no localZip.zip ubuntu@$VM_IP_ADDR:/home/ubuntu
-scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$VM_IP_ADDR:/home/ubuntu
+    IS_VM_ALIVE=`uvt-kvm list | grep -c $VM_NAME`
 
-echo "############################################################"
-echo "Running install and build script on VM ($VM_NAME)"
-echo "############################################################"
-echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $VM_CMDS
-echo "touch /home/ubuntu/.hushlogin" >> $VM_CMDS
-if [[ "$VM_NAME" == *"-cppcheck"* ]]
-then
-    echo "echo \"sudo apt-get --yes --quiet install zip cppcheck \"" >> $VM_CMDS
-    echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
-    echo "sudo apt-get --yes install zip cppcheck >> zip-install.txt 2>&1" >> $VM_CMDS
-else
-    echo "echo \"sudo apt-get --yes --quiet install zip subversion libboost-dev \"" >> $VM_CMDS
-    echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
-    echo "sudo apt-get --yes install zip subversion libboost-dev >> zip-install.txt 2>&1" >> $VM_CMDS
-fi
-echo "mkdir tmp" >> $VM_CMDS
-echo "cd tmp" >> $VM_CMDS
-echo "echo \"unzip -qq -DD ../localZip.zip\"" >> $VM_CMDS
-echo "unzip -qq -DD ../localZip.zip" >> $VM_CMDS
-if [[ "$VM_NAME" == *"-cppcheck"* ]]
-then
-    echo "mkdir cmake_targets/log" >> $VM_CMDS
-    echo "cp /home/ubuntu/zip-install.txt cmake_targets/log" >> $VM_CMDS
-    echo "echo \"cppcheck $BUILD_OPTIONS . \"" >> $VM_CMDS
-    echo "cppcheck $BUILD_OPTIONS . 2> cmake_targets/log/cppcheck.xml 1> cmake_targets/log/cppcheck_build.txt" >> $VM_CMDS
-else
-    echo "echo \"source oaienv\"" >> $VM_CMDS
-    echo "source oaienv" >> $VM_CMDS
-    echo "cd cmake_targets/" >> $VM_CMDS
-    echo "mkdir log" >> $VM_CMDS
-    echo "cp /home/ubuntu/zip-install.txt log" >> $VM_CMDS
-    echo "echo \"./build_oai -I $BUILD_OPTIONS \"" >> $VM_CMDS
-    echo "./build_oai -I $BUILD_OPTIONS > log/install-build.txt 2>&1" >> $VM_CMDS
-fi
-ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
-
-echo "############################################################"
-echo "Creating a tmp folder to store results and artifacts"
-echo "############################################################"
-if [ ! -d $JENKINS_WKSP/archives ]
-then
-    mkdir $JENKINS_WKSP/archives
-fi
+    if [ $IS_VM_ALIVE -eq 0 ]
+    then
+        echo "VM_MEMORY           = $VM_MEMORY MBytes"
+        echo "VM_CPU              = $VM_CPU"
+        echo "############################################################"
+        echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
+        echo "############################################################"
+        uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
+    fi
 
-if [ ! -d $ARCHIVES_LOC ]
-then
-    mkdir $ARCHIVES_LOC
-fi
+    echo "Waiting for VM to be started"
+    uvt-kvm wait $VM_NAME --insecure
 
-scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.txt $ARCHIVES_LOC
-if [[ "$VM_NAME" == *"-cppcheck"* ]]
-then
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.xml $ARCHIVES_LOC
-fi
+    VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
+    echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
 
-if [ $KEEP_VM_ALIVE -eq 0 ]
-then
     echo "############################################################"
-    echo "Destroying VM"
+    echo "Copying GIT repo into VM ($VM_NAME)" 
     echo "############################################################"
-    uvt-kvm destroy $VM_NAME
-    ssh-keygen -R $VM_IP_ADDR
-fi
-rm -f $VM_CMDS
-
-echo "############################################################"
-echo "Checking build status" 
-echo "############################################################"
-
-LOG_FILES=`ls $ARCHIVES_LOC/*.txt $ARCHIVES_LOC/*.xml`
-STATUS=0
-NB_FOUND_FILES=0
+    scp -o StrictHostKeyChecking=no $JENKINS_WKSP/localZip.zip ubuntu@$VM_IP_ADDR:/home/ubuntu
+    scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$VM_IP_ADDR:/home/ubuntu
 
-for FULLFILE in $LOG_FILES 
-do
-    if [[ $FULLFILE == *"$LOG_PATTERN"* ]]
+    echo "############################################################"
+    echo "Running install and build script on VM ($VM_NAME)"
+    echo "############################################################"
+    echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $VM_CMDS
+    echo "touch /home/ubuntu/.hushlogin" >> $VM_CMDS
+    if [[ "$VM_NAME" == *"-cppcheck"* ]]
     then
-        filename=$(basename -- "$FULLFILE")
-        if [ "$LOG_PATTERN" == ".Rel14.txt" ]
+        if [ $DAEMON -eq 0 ]
         then
-            PASS_PATTERN=`echo $filename | sed -e "s#$LOG_PATTERN##"`
+            echo "echo \"sudo apt-get --yes --quiet install zip cppcheck \"" >> $VM_CMDS
+            echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
+            echo "sudo apt-get --yes install zip cppcheck >> zip-install.txt 2>&1" >> $VM_CMDS
+        else
+            echo "echo \"sudo apt-get --yes --quiet install zip daemon cppcheck \"" >> $VM_CMDS
+            echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
+            echo "sudo apt-get --yes install zip daemon cppcheck >> zip-install.txt 2>&1" >> $VM_CMDS
         fi
-        if [ "$LOG_PATTERN" == "basic_simulator" ]
+    else
+        if [ $DAEMON -eq 0 ]
+        then
+            echo "echo \"sudo apt-get --yes --quiet install zip subversion libboost-dev \"" >> $VM_CMDS
+            echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
+            echo "sudo apt-get --yes install zip subversion libboost-dev >> zip-install.txt 2>&1" >> $VM_CMDS
+        else
+            echo "echo \"sudo apt-get --yes --quiet install zip daemon subversion libboost-dev \"" >> $VM_CMDS
+            echo "sudo apt-get update > zip-install.txt 2>&1" >> $VM_CMDS
+            echo "sudo apt-get --yes install zip daemon subversion libboost-dev >> zip-install.txt 2>&1" >> $VM_CMDS
+        fi
+    fi
+    echo "mkdir tmp" >> $VM_CMDS
+    echo "cd tmp" >> $VM_CMDS
+    echo "echo \"unzip -qq -DD ../localZip.zip\"" >> $VM_CMDS
+    echo "unzip -qq -DD ../localZip.zip" >> $VM_CMDS
+    if [[ "$VM_NAME" == *"-cppcheck"* ]]
+    then
+        echo "mkdir cmake_targets/log" >> $VM_CMDS
+        echo "chmod 777 cmake_targets/log" >> $VM_CMDS
+        echo "cp /home/ubuntu/zip-install.txt cmake_targets/log" >> $VM_CMDS
+        echo "echo \"cppcheck $BUILD_OPTIONS . \"" >> $VM_CMDS
+        if [ $DAEMON -eq 0 ]
         then
-            PASS_PATTERN="lte-"
+            echo "cppcheck $BUILD_OPTIONS . 2> cmake_targets/log/cppcheck.xml 1> cmake_targets/log/cppcheck_build.txt" >> $VM_CMDS
+        else
+            echo "echo \"cppcheck $BUILD_OPTIONS .\" > ./my-vm-build.sh" >> $VM_CMDS
+            echo "chmod 775 ./my-vm-build.sh " >> $VM_CMDS
+            echo "sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp -O /home/ubuntu/tmp/cmake_targets/log/cppcheck_build.txt -E /home/ubuntu/tmp/cmake_targets/log/cppcheck.xml ./my-vm-build.sh" >> $VM_CMDS
         fi
-        if [ "$LOG_PATTERN" == "cppcheck.xml" ]
+    else
+        echo "echo \"source oaienv\"" >> $VM_CMDS
+        echo "source oaienv" >> $VM_CMDS
+        echo "cd cmake_targets/" >> $VM_CMDS
+        echo "mkdir log" >> $VM_CMDS
+        echo "chmod 777 log" >> $VM_CMDS
+        echo "cp /home/ubuntu/zip-install.txt log" >> $VM_CMDS
+        if [ $DAEMON -eq 0 ]
         then
-            PASS_PATTERN="results version"
-            LOCAL_STAT=`egrep -c "$PASS_PATTERN" $FULLFILE`
+            echo "echo \"./build_oai -I $BUILD_OPTIONS \"" >> $VM_CMDS
+            echo "./build_oai -I $BUILD_OPTIONS > log/install-build.txt 2>&1" >> $VM_CMDS
         else
-            LOCAL_STAT=`egrep -c "Built target $PASS_PATTERN" $FULLFILE`
+            echo "echo \"./build_oai -I $BUILD_OPTIONS\" > ./my-vm-build.sh" >> $VM_CMDS
+            echo "chmod 775 ./my-vm-build.sh " >> $VM_CMDS
+            echo "echo \"sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp/cmake_targets -o /home/ubuntu/tmp/cmake_targets/log/install-build.txt ./my-vm-build.sh\"" >> $VM_CMDS
+            echo "sudo -E daemon --inherit --unsafe --name=build_daemon --chdir=/home/ubuntu/tmp/cmake_targets -o /home/ubuntu/tmp/cmake_targets/log/install-build.txt ./my-vm-build.sh" >> $VM_CMDS
         fi
-        if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-        NB_FOUND_FILES=$((NB_FOUND_FILES + 1))
     fi
-done
-
-if [ $NB_PATTERN_FILES -ne $NB_FOUND_FILES ]; then STATUS=-1; fi
-
-if [ $STATUS -eq 0 ]
-then
-    echo "STATUS seems OK"
-else
-    echo "STATUS failed?"
-fi
-exit $STATUS
+    ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
+    rm -f $VM_CMDS
+}
diff --git a/ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf b/ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf
index ec968e8cefde3241f81e74abb43af82ce5d0298a..b6028a81524f3a745485680a9660c5632d09278e 100644
--- a/ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf
@@ -134,7 +134,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "10.0.0.2";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -144,13 +144,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.0.0.1/24";
-
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "10.0.0.1/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
 
diff --git a/ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf b/ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf
index c2f69cb1b9680cc6a609174e0a818e0ca6533552..10cbd04e9a0fbe7b3bb0202de805734ea499dcb3 100644
--- a/ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf
@@ -134,7 +134,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "10.0.0.2";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -144,13 +144,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.0.0.1/24";
-
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "10.0.0.1/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
 
diff --git a/ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf b/ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf
index 6bdbd4e39b7ff0d5a9d9d7853b967aaa81529e9c..c79dbf1ac04921d47f955a79725053cc026c6030 100644
--- a/ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf
@@ -134,7 +134,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "10.0.0.2";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -144,13 +144,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.0.0.1/24";
-
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "10.0.0.1/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
 
diff --git a/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
index 1a566e957900cc5334d7996a60934314213904cb..f3cb31f449b775f66b1884d30c3b28304bdbc857 100644
--- a/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
@@ -171,7 +171,7 @@ eNBs =
 
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -181,12 +181,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
diff --git a/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
index fd49fe9d837b6a7a2d0a8b6dd2da863f47c16b12..e33daa7a8a4cf1c00907083359f9d9317a871af0 100644
--- a/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
@@ -171,7 +171,7 @@ eNBs =
 
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -181,12 +181,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
diff --git a/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
index 1613dd4c320170e2518aaacb698aa578589f7af0..32e8bb99315e0ee7fefa56557f8809a0e4b05d2f 100644
--- a/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
@@ -171,7 +171,7 @@ eNBs =
 
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -181,12 +181,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
diff --git a/ci-scripts/conf_files/enb.band7.tm2.25PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm2.25PRB.usrpb210.conf
new file mode 100644
index 0000000000000000000000000000000000000000..4e5510b0d429b94e3c1645c3fce137be2e600210
--- /dev/null
+++ b/ci-scripts/conf_files/enb.band7.tm2.25PRB.usrpb210.conf
@@ -0,0 +1,265 @@
+Active_eNBs = ( "eNB-Eurecom-LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB-Eurecom-LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code = 1;
+    plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } );
+
+    tr_s_preference     = "local_mac"
+
+    ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function                 = "3GPP_eNODEB";
+      node_timing                   = "synch_to_ext_device";
+      node_synch_ref                = 0;
+      frame_type                    = "FDD";
+      tdd_config                    = 3;
+      tdd_config_s                  = 0;
+      prefix_type                   = "NORMAL";
+      eutra_band                    = 7;
+      downlink_frequency            = 2680000000L;
+      uplink_frequency_offset       = -120000000;
+      Nid_cell                      = 0;
+      N_RB_DL                       = 25;
+      Nid_cell_mbsfn                = 0;
+      nb_antenna_ports              = 2;
+      nb_antennas_tx                = 2;
+      nb_antennas_rx                = 2;
+      tx_gain                       = 90;
+      rx_gain                       = 125;
+      pbch_repetition               = "FALSE";
+      prach_root                    = 0;
+      prach_config_index            = 0;
+      prach_high_speed              = "DISABLE";
+      prach_zero_correlation        = 1;
+      prach_freq_offset             = 2;
+      pucch_delta_shift             = 1;
+      pucch_nRB_CQI                 = 0;
+      pucch_nCS_AN                  = 0;
+      pucch_n1_AN                   = 0;
+      pdsch_referenceSignalPower    = -25;
+      pdsch_p_b                     = 0;
+      pusch_n_SB                    = 1;
+      pusch_enable64QAM             = "DISABLE";
+      pusch_hoppingMode             = "interSubFrame";
+      pusch_hoppingOffset           = 0;
+      pusch_groupHoppingEnabled     = "ENABLE";
+      pusch_groupAssignment         = 0;
+      pusch_sequenceHoppingEnabled  = "DISABLE";
+      pusch_nDMRS1                  = 1;
+      phich_duration                = "NORMAL";
+      phich_resource                = "ONESIXTH";
+      srs_enable                    = "DISABLE";
+      /*
+      srs_BandwidthConfig           =;
+      srs_SubframeConfig            =;
+      srs_ackNackST                 =;
+      srs_MaxUpPts                  =;
+      */
+
+      pusch_p0_Nominal              = -96;
+      pusch_alpha                   = "AL1";
+      pucch_p0_Nominal              = -104;
+      msg3_delta_Preamble           = 6;
+      pucch_deltaF_Format1          = "deltaF2";
+      pucch_deltaF_Format1b         = "deltaF3";
+      pucch_deltaF_Format2          = "deltaF0";
+      pucch_deltaF_Format2a         = "deltaF0";
+      pucch_deltaF_Format2b         = "deltaF0";
+
+      rach_numberOfRA_Preambles               = 64;
+      rach_preamblesGroupAConfig              = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA           = ;
+      rach_messageSizeGroupA                  = ;
+      rach_messagePowerOffsetGroupB           = ;
+      */
+      rach_powerRampingStep                   = 4;
+      rach_preambleInitialReceivedTargetPower = -108;
+      rach_preambleTransMax                   = 10;
+      rach_raResponseWindowSize               = 10;
+      rach_macContentionResolutionTimer       = 48;
+      rach_maxHARQ_Msg3Tx                     = 4;
+
+      pcch_default_PagingCycle      = 128;
+      pcch_nB                       = "oneT";
+      bcch_modificationPeriodCoeff  = 2;
+      ue_TimersAndConstants_t300    = 1000;
+      ue_TimersAndConstants_t301    = 1000;
+      ue_TimersAndConstants_t310    = 1000;
+      ue_TimersAndConstants_t311    = 10000;
+      ue_TimersAndConstants_n310    = 20;
+      ue_TimersAndConstants_n311    = 1;
+      ue_TransmissionMode           = 2;
+
+      //Parameters for SIB18
+      rxPool_sc_CP_Len                                                = "normal";
+      rxPool_sc_Period                                                = "sf40";
+      rxPool_data_CP_Len                                              = "normal";
+      rxPool_ResourceConfig_prb_Num                                   = 20;
+      rxPool_ResourceConfig_prb_Start                                 = 5;
+      rxPool_ResourceConfig_prb_End                                   = 44;
+      rxPool_ResourceConfig_offsetIndicator_present                   = "prSmall";
+      rxPool_ResourceConfig_offsetIndicator_choice                    = 0;
+      rxPool_ResourceConfig_subframeBitmap_present                    = "prBs40";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_buf              = "00000000000000000000";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_size             = 5;
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused      = 0;
+/*
+      rxPool_dataHoppingConfig_hoppingParameter                       = 0;
+      rxPool_dataHoppingConfig_numSubbands                            = "ns1";
+      rxPool_dataHoppingConfig_rbOffset                               = 0;
+      rxPool_commTxResourceUC-ReqAllowed                              = "TRUE";
+*/
+      // Parameters for SIB19
+      discRxPool_cp_Len                                               = "normal"
+      discRxPool_discPeriod                                           = "rf32"
+      discRxPool_numRetx                                              = 1;
+      discRxPool_numRepetition                                        = 2;
+      discRxPool_ResourceConfig_prb_Num                               = 5;
+      discRxPool_ResourceConfig_prb_Start                             = 3;
+      discRxPool_ResourceConfig_prb_End                               = 21;
+      discRxPool_ResourceConfig_offsetIndicator_present               = "prSmall";
+      discRxPool_ResourceConfig_offsetIndicator_choice                = 0;
+      discRxPool_ResourceConfig_subframeBitmap_present                = "prBs40";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf          = "f0ffffffff";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_size         = 5;
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused  = 0;
+
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
+    };
+  }
+);
+
+MACRLCs = (
+    {
+    num_cc = 1;
+    tr_s_preference = "local_L1";
+    tr_n_preference = "local_RRC";
+    phy_test_mode   = 0;
+    puSch10xSnr     = 200;
+    puCch10xSnr     = 200;
+    }  
+);
+
+L1s = (
+    {
+    num_cc = 1;
+    tr_n_preference = "local_mac";
+    }  
+);
+
+RUs = (
+    {          
+    local_rf                      = "yes"
+    nb_tx                         = 2
+    nb_rx                         = 2
+    att_tx                        = 0
+    att_rx                        = 0;
+    bands                         = [7];
+    max_pdschReferenceSignalPower = -27;
+    max_rxgain                    = 115;
+    eNB_instances                 = [0];
+    }
+);  
+
+THREAD_STRUCT = (
+  {
+    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
+    parallel_config    = "PARALLEL_RU_L1_TRX_SPLIT";
+    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
+    worker_config      = "WORKER_ENABLE";
+  }
+);
+
+NETWORK_CONTROLLER :
+{
+    FLEXRAN_ENABLED        = "no";
+    FLEXRAN_INTERFACE_NAME = "lo";
+    FLEXRAN_IPV4_ADDRESS   = "127.0.0.1";
+    FLEXRAN_PORT           = 2210;
+    FLEXRAN_CACHE          = "/mnt/oai_agent_cache";
+    FLEXRAN_AWAIT_RECONF   = "no";
+};
+
+log_config :
+     {
+       global_log_level                      ="info";
+       global_log_verbosity                  ="medium";
+       hw_log_level                          ="info";
+       hw_log_verbosity                      ="medium";
+       phy_log_level                         ="info";
+       phy_log_verbosity                     ="medium";
+       mac_log_level                         ="info";
+       mac_log_verbosity                     ="high";
+       rlc_log_level                         ="info";
+       rlc_log_verbosity                     ="medium";
+       pdcp_log_level                        ="info";
+       pdcp_log_verbosity                    ="medium";
+       rrc_log_level                         ="info";
+       rrc_log_verbosity                     ="medium";
+    };
+
diff --git a/ci-scripts/conf_files/lte-fdd-basic-sim.conf b/ci-scripts/conf_files/lte-fdd-basic-sim.conf
index 0211e126a14708955af6173f279b3c0ac403ebb9..1d1395cf6d95fc87598d5e5d352cb8c14f810284 100644
--- a/ci-scripts/conf_files/lte-fdd-basic-sim.conf
+++ b/ci-scripts/conf_files/lte-fdd-basic-sim.conf
@@ -186,7 +186,6 @@ eNBs =
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
         ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
diff --git a/ci-scripts/conf_files/lte-tdd-basic-sim.conf b/ci-scripts/conf_files/lte-tdd-basic-sim.conf
index a7bc31eed804858d35dd99bed1d18a272b579d18..32a84fd206f3472b8580c0c8cce70f452f079e3f 100644
--- a/ci-scripts/conf_files/lte-tdd-basic-sim.conf
+++ b/ci-scripts/conf_files/lte-tdd-basic-sim.conf
@@ -145,11 +145,9 @@ eNBs =
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
-
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
         ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
diff --git a/ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf b/ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf
index 217991f69fce2a71ce74f48d39295ca11ddf2100..285b7eaf9f54a4f3f0f6b636936b5eaaa7efb48b 100644
--- a/ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf
+++ b/ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf
@@ -137,7 +137,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "10.0.0.2";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -147,13 +147,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.0.0.1/24";
-
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "10.0.0.1/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
 
diff --git a/ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf b/ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf
index 21f4f34ba90d691a6edcff936ed11945792c91d5..62e7fb48a445d0b508bf1cdcc7ff78caf0afad3d 100644
--- a/ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf
+++ b/ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf
@@ -137,7 +137,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "10.0.0.2";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -147,13 +147,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.0.0.1/24";
-
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "10.0.0.1/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
 
diff --git a/ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf b/ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf
index 2fdfa3c4e704906d3174067d2422d400341ff990..f99b701b8e1aa4770aed9ace72ad23b103a408a7 100644
--- a/ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf
+++ b/ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf
@@ -137,7 +137,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "10.0.0.2";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -147,13 +147,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.0.0.1/24";
-
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "10.0.0.1/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
 
diff --git a/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.100PRB.usrpb210.conf b/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.100PRB.usrpb210.conf
index 28ffc43b235bac0a2a9b085c070f2408d2ad3e9b..fc2f24b8a1e03080b54c7fd5b5eb2fa6c31e4858 100644
--- a/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.100PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.100PRB.usrpb210.conf
@@ -174,7 +174,7 @@ eNBs =
 
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -184,12 +184,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
diff --git a/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.25PRB.usrpb210.conf b/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.25PRB.usrpb210.conf
index 4d064ecc0e32a8457304671236615f2e026a26fe..010ef28061e795757a5016cc8cb29895c08f78a5 100644
--- a/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.25PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.25PRB.usrpb210.conf
@@ -174,7 +174,7 @@ eNBs =
 
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -184,12 +184,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
diff --git a/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.50PRB.usrpb210.conf b/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.50PRB.usrpb210.conf
index efb1e823ad66953d19685579e32c48f3c9ac8906..ddf01096cd7012e4af498fb7148616d7e49a8462 100644
--- a/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.50PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.50PRB.usrpb210.conf
@@ -174,7 +174,7 @@ eNBs =
 
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -184,12 +184,11 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-
-        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
         ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
diff --git a/ci-scripts/createVM.sh b/ci-scripts/createVM.sh
index f972a921ac8bd85117f16d2c77377779ed7b8a1b..192008d86723d357f7a6dcb1d75674f3cf657377 100755
--- a/ci-scripts/createVM.sh
+++ b/ci-scripts/createVM.sh
@@ -20,8 +20,8 @@
 # *      contact@openairinterface.org
 # */
 
-function usage {
-    echo "OAI VM Creation script"
+function create_usage {
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
     echo "   Requirements:"
     echo "     -- uvtool uvtool-libvirt apt-cacher"
@@ -31,9 +31,9 @@ function usage {
     echo ""
     echo "Usage:"
     echo "------"
-    echo "    createVM.sh [OPTIONS]"
+    echo "    oai-ci-vm-tool create [OPTIONS]"
     echo ""
-    echo "Options:"
+    echo "Mandatory Options:"
     echo "--------"
     echo "    --job-name #### OR -jn ####"
     echo "    Specify the name of the Jenkins job."
@@ -41,12 +41,7 @@ function usage {
     echo "    --build-id #### OR -id ####"
     echo "    Specify the build ID of the Jenkins job."
     echo ""
-    echo "    --variant enb-usrp     OR -v1"
-    echo "    --variant basic-sim    OR -v2"
-    echo "    --variant phy-sim      OR -v3"
-    echo "    --variant cppcheck     OR -v4"
-    echo "    --variant enb-ethernet OR -v7"
-    echo "    --variant ue-ethernet  OR -v8"
+    variant_usage
     echo "    Specify the variant to build."
     echo ""
     echo "    --help OR -h"
@@ -54,144 +49,21 @@ function usage {
     echo ""
 }
 
-function variant_usage {
-    echo "OAI VM Build Check script"
-    echo "   Original Author: Raphael Defosseux"
-    echo ""
-    echo "    --variant enb-usrp     OR -v1"
-    echo "    --variant basic-sim    OR -v2"
-    echo "    --variant phy-sim      OR -v3"
-    echo "    --variant cppcheck     OR -v4"
-    echo "    --variant enb-ethernet OR -v7"
-    echo "    --variant ue-ethernet  OR -v8"
-    echo ""
-}
-
-if [ $# -lt 1 ] || [ $# -gt 6 ]
-then
-    echo "Syntax Error: not the correct number of arguments"
-    echo ""
-    usage
-    exit 1
-fi
-
-VM_TEMPLATE=ci-
-JOB_NAME=XX
-BUILD_ID=XX
-VM_NAME=ci-enb-usrp
-VM_MEMORY=2048
-VM_CPU=4
+function create_vm {
+    echo "############################################################"
+    echo "OAI CI VM script"
+    echo "############################################################"
+    echo "VM_NAME             = $VM_NAME"
+    echo "VM_MEMORY           = $VM_MEMORY MBytes"
+    echo "VM_CPU              = $VM_CPU"
 
-while [[ $# -gt 0 ]]
-do
-key="$1"
+    echo "############################################################"
+    echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
+    echo "############################################################"
+    uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
+    echo "Waiting for VM to be started"
+    uvt-kvm wait $VM_NAME --insecure
 
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -jn|--job-name)
-    JOB_NAME="$2"
-    shift
-    shift
-    ;;
-    -id|--build-id)
-    BUILD_ID="$2"
-    shift
-    shift
-    ;;
-    -v1)
-    VM_NAME=ci-enb-usrp
-    shift
-    ;;
-    -v2)
-    VM_NAME=ci-basic-sim
-    VM_MEMORY=8192
-    shift
-    ;;
-    -v3)
-    VM_NAME=ci-phy-sim
-    shift
-    ;;
-    -v4)
-    VM_NAME=ci-cppcheck
-    VM_MEMORY=4096
-    VM_CPU=4
-    shift
-    ;;
-    -v7)
-    VM_NAME=ci-enb-ethernet
-    shift
-    ;;
-    -v8)
-    VM_NAME=ci-ue-ethernet
-    shift
-    ;;
-    --variant)
-    variant="$2"
-    case $variant in
-        enb-usrp)
-        VM_NAME=ci-enb-usrp
-        ;;
-        basic-sim)
-        VM_NAME=ci-basic-sim
-        VM_MEMORY=8192
-        ;;
-        phy-sim)
-        VM_NAME=ci-phy-sim
-        ;;
-        cppcheck)
-        VM_NAME=ci-cppcheck
-        VM_MEMORY=4096
-        VM_CPU=4
-        ;;
-        enb-ethernet)
-        VM_NAME=ci-enb-ethernet
-        ;;
-        ue-ethernet)
-        VM_NAME=ci-ue-ethernet
-        ;;
-        *)
-        echo ""
-        echo "Syntax Error: Invalid Variant option -> $variant"
-        echo ""
-        variant_usage
-        exit 1
-    esac
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-esac
-done
-
-if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
-then
-    VM_TEMPLATE=ci-
-else
-    VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
-fi
-
-VM_NAME=`echo $VM_NAME | sed -e "s#ci-#$VM_TEMPLATE#"`
-VM_CMDS=${VM_NAME}_cmds.txt
-
-echo "VM_NAME             = $VM_NAME"
-echo "VM_MEMORY           = $VM_MEMORY MBytes"
-echo "VM_CPU              = $VM_CPU"
-
-echo "############################################################"
-echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
-echo "############################################################"
-uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
-echo "Waiting for VM to be started"
-uvt-kvm wait $VM_NAME --insecure
-
-VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
-echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
-exit 0
+    VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
+    echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
+}
diff --git a/ci-scripts/destroyAllRunningVM.sh b/ci-scripts/destroyAllRunningVM.sh
index 5e152bc59083b9c740f4a9674d3c6e78f03d8215..76a7fd0b508fd755a70be54e9c0a40f5b5a8ea84 100755
--- a/ci-scripts/destroyAllRunningVM.sh
+++ b/ci-scripts/destroyAllRunningVM.sh
@@ -20,15 +20,17 @@
 # *      contact@openairinterface.org
 # */
 
-function usage {
-    echo "OAI VM Destroy script"
+function destroy_usage {
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
+    echo "   Requirements:"
+    echo "     -- uvtool uvtool-libvirt apt-cacher"
     echo ""
     echo "Usage:"
     echo "------"
-    echo "    destroyAllRunningVM.sh [OPTIONS]"
+    echo "    oai-ci-vm-tool destroy [OPTIONS]"
     echo ""
-    echo "Options:"
+    echo "Mandatory Options:"
     echo "--------"
     echo "    --job-name #### OR -jn ####"
     echo "    Specify the name of the Jenkins job."
@@ -36,66 +38,26 @@ function usage {
     echo "    --build-id #### OR -id ####"
     echo "    Specify the build ID of the Jenkins job."
     echo ""
+    echo "Options:"
+    echo "--------"
     echo "    --help OR -h"
     echo "    Print this help message."
     echo ""
 }
 
-if [ $# -gt 4 ]
-then
-    echo "Syntax Error: not the correct number of arguments"
-    echo ""
-    usage
-    exit 1
-fi
-
-VM_TEMPLATE=ci-
-JOB_NAME=XX
-BUILD_ID=XX
-
-while [[ $# -gt 0 ]]
-do
-key="$1"
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -jn|--job-name)
-    JOB_NAME="$2"
-    shift
-    shift
-    ;;
-    -id|--build-id)
-    BUILD_ID="$2"
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-esac
-done
-
-if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
-then
-    VM_TEMPLATE=ci-
-else
-    VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
-fi
-
-LIST_CI_VM=`uvt-kvm list | grep $VM_TEMPLATE`
-
-for CI_VM in $LIST_CI_VM
-do
-    VM_IP_ADDR=`uvt-kvm ip $CI_VM`
-    echo "VM to destroy: $CI_VM -- IP $VM_IP_ADDR"
-    uvt-kvm destroy $CI_VM
-    ssh-keygen -R $VM_IP_ADDR
-done
-
-exit 0
-
+function destroy_vm {
+    echo "############################################################"
+    echo "OAI CI VM script"
+    echo "############################################################"
+    echo "VM_TEMPLATE         = $VM_TEMPLATE"
+
+    LIST_CI_VM=`uvt-kvm list | grep $VM_TEMPLATE`
+
+    for CI_VM in $LIST_CI_VM
+    do
+        VM_IP_ADDR=`uvt-kvm ip $CI_VM`
+        echo "VM to destroy: $CI_VM -- IP $VM_IP_ADDR"
+        uvt-kvm destroy $CI_VM
+        ssh-keygen -R $VM_IP_ADDR
+    done
+}
diff --git a/ci-scripts/main.py b/ci-scripts/main.py
index b54c6f3fab287b88296e62246b955186477c3302..f617d6f40a4e3502858f458ce787db7dfc581d3a 100644
--- a/ci-scripts/main.py
+++ b/ci-scripts/main.py
@@ -78,6 +78,7 @@ class SSHConnection():
 		self.eNBBranch = ''
 		self.eNB_AllowMerge = False
 		self.eNBCommitID = ''
+		self.eNBTargetBranch = ''
 		self.eNBUserName = ''
 		self.eNBPassword = ''
 		self.eNBSourceCodePath = ''
@@ -264,8 +265,12 @@ class SSHConnection():
 		# if the branch is not develop, then it is a merge request and we need to do 
 		# the potential merge. Note that merge conflicts should already been checked earlier
 		if (self.eNB_AllowMerge):
-			if (self.eNBBranch != 'develop') and (self.eNBBranch != 'origin/develop'):
-				self.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
+			if self.eNBTargetBranch == '':
+				if (self.eNBBranch != 'develop') and (self.eNBBranch != 'origin/develop'):
+					self.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
+			else:
+				logging.debug('Merging with the target branch: ' + self.eNBTargetBranch)
+				self.command('git merge --ff origin/' + self.eNBTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
 		self.command('source oaienv', '\$', 5)
 		self.command('cd cmake_targets', '\$', 5)
 		self.command('mkdir -p log', '\$', 5)
@@ -367,10 +372,8 @@ class SSHConnection():
 			rruCheck = True
 		# Make a copy and adapt to EPC / eNB IP addresses
 		self.command('cp ' + full_config_file + ' ' + ci_full_config_file, '\$', 5)
-		self.command('sed -i -e \'s/mme_ip_address.*$/mme_ip_address      = ( { ipv4       = "' + self.EPCIPAddress + '";/\' ' + ci_full_config_file, '\$', 2);
-		self.command('sed -i -e \'s/ENB_IPV4_ADDRESS_FOR_S1_MME.*$/ENB_IPV4_ADDRESS_FOR_S1_MME              = "' + self.eNBIPAddress + '";/\' ' + ci_full_config_file, '\$', 2);
-		self.command('sed -i -e \'s/ENB_IPV4_ADDRESS_FOR_S1U.*$/ENB_IPV4_ADDRESS_FOR_S1U                 = "' + self.eNBIPAddress + '";/\' ' + ci_full_config_file, '\$', 2);
-		self.command('sed -i -e \'s/ENB_IPV4_ADDRESS_FOR_X2C.*$/ENB_IPV4_ADDRESS_FOR_X2C                 = "' + self.eNBIPAddress + '";/\' ' + ci_full_config_file, '\$', 2);
+		self.command('sed -i -e \'s/CI_MME_IP_ADDR/' + self.EPCIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
+		self.command('sed -i -e \'s/CI_ENB_IP_ADDR/' + self.eNBIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
 		# Launch eNB with the modified config file
 		self.command('source oaienv', '\$', 5)
 		self.command('cd cmake_targets', '\$', 5)
@@ -1759,7 +1762,10 @@ class SSHConnection():
 			if (SSH.eNB_AllowMerge):
 				self.htmlFile.write('     <tr>\n')
 				self.htmlFile.write('       <td bgcolor = "lightcyan" >Target Branch</td>\n')
-				self.htmlFile.write('       <td>develop</td>\n')
+				if (self.eNBTargetBranch == ''):
+					self.htmlFile.write('       <td>develop</td>\n')
+				else:
+					self.htmlFile.write('       <td>' + self.eNBTargetBranch + '</td>\n')
 				self.htmlFile.write('     </tr>\n')
 			self.htmlFile.write('  </table>\n')
 
@@ -1906,6 +1912,8 @@ def Usage():
 	print('  --eNBRepository=[eNB\'s Repository URL]')
 	print('  --eNBBranch=[eNB\'s Branch Name]')
 	print('  --eNBCommitID=[eNB\'s Commit Number]')
+	print('  --eNB_AllowMerge=[eNB\'s Allow Merge Request (with target branch)]')
+	print('  --eNBTargetBranch=[eNB\'s Target Branch in case of a Merge Request]')
 	print('  --eNBUserName=[eNB\'s Login User Name]')
 	print('  --eNBPassword=[eNB\'s Login Password]')
 	print('  --eNBSourceCodePath=[eNB\'s Source Code Path]')
@@ -2002,6 +2010,9 @@ while len(argvs) > 1:
 	elif re.match('^\-\-eNBCommitID=(.*)$', myArgv, re.IGNORECASE):
 		matchReg = re.match('^\-\-eNBCommitID=(.*)$', myArgv, re.IGNORECASE)
 		SSH.eNBCommitID = matchReg.group(1)
+	elif re.match('^\-\-eNBTargetBranch=(.*)$', myArgv, re.IGNORECASE):
+		matchReg = re.match('^\-\-eNBTargetBranch=(.*)$', myArgv, re.IGNORECASE)
+		SSH.eNBTargetBranch = matchReg.group(1)
 	elif re.match('^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE):
 		matchReg = re.match('^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE)
 		SSH.eNBUserName = matchReg.group(1)
diff --git a/ci-scripts/oai-ci-vm-tool b/ci-scripts/oai-ci-vm-tool
new file mode 100755
index 0000000000000000000000000000000000000000..cfa18ece2e71e06c409bebc2871c09ff795aff0f
--- /dev/null
+++ b/ci-scripts/oai-ci-vm-tool
@@ -0,0 +1,537 @@
+#!/bin/bash
+#/*
+# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+# * contributor license agreements.  See the NOTICE file distributed with
+# * this work for additional information regarding copyright ownership.
+# * The OpenAirInterface Software Alliance licenses this file to You under
+# * the OAI Public License, Version 1.1  (the "License"); you may not use this file
+# * except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *      http://www.openairinterface.org/?page_id=698
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# *-------------------------------------------------------------------------------
+# * For more information about the OpenAirInterface (OAI) Software Alliance:
+# *      contact@openairinterface.org
+# */
+
+function top_usage {
+    echo "OAI CI VM script"
+    echo "   Original Author: Raphael Defosseux"
+    echo "   Requirements:"
+    echo "     -- uvtool uvtool-libvirt apt-cacher"
+    echo "     -- xenial image already synced"
+    echo ""
+    echo "Usage:"
+    echo "------"
+    echo "    oai-ci-vm-tool (-h|--help) {create,destroy,build,wait,test,report-build,report-test} ..."
+    echo ""
+}
+
+function variant_usage {
+    echo "    --variant enb-usrp     OR -v1"
+    echo "    --variant basic-sim    OR -v2"
+    echo "    --variant phy-sim      OR -v3"
+    echo "    --variant cppcheck     OR -v4"
+    echo "    --variant enb-ethernet OR -v7"
+    echo "    --variant ue-ethernet  OR -v8"
+}
+
+MY_DIR=$(dirname $(readlink -f $0))
+. $MY_DIR/createVM.sh
+. $MY_DIR/buildOnVM.sh
+. $MY_DIR/waitBuildOnVM.sh
+. $MY_DIR/destroyAllRunningVM.sh
+. $MY_DIR/runTestOnVM.sh
+. $MY_DIR/reportBuildLocally.sh
+. $MY_DIR/reportTestLocally.sh
+
+if [ $# -lt 1 ]
+then
+    echo "Syntax Error: too few arguments"
+    echo ""
+    top_usage
+    exit 1
+fi
+
+VM_TEMPLATE=ci-
+JOB_NAME=XX
+BUILD_ID=XX
+VM_NAME=ci-enb-usrp
+VM_MEMORY=2048
+VM_CPU=4
+ARCHIVES_LOC=enb_usrp
+LOG_PATTERN=.Rel14.txt
+NB_PATTERN_FILES=4
+BUILD_OPTIONS="--eNB -w USRP"
+KEEP_VM_ALIVE=0
+RUN_OPTIONS="none"
+DAEMON=0
+MR_TRIG=0
+PU_TRIG=0
+
+HELP_CMD=0
+CREATE_CMD=0
+BUILD_CMD=0
+WAIT_CMD=0
+DESTROY_CMD=0
+TEST_CMD=0
+REPORT_BUILD_CMD=0
+REPORT_TEST_CMD=0
+NBARGS=0
+
+while [[ $# -gt 0 ]]
+do
+key="$1"
+
+case $key in
+    -h|--help)
+    HELP_CMD=1
+    shift
+    ;;
+    create)
+    CREATE_CMD=1
+    # It is implied to keep the VM when creating it
+    KEEP_VM_ALIVE=1
+    shift
+    ;;
+    build)
+    BUILD_CMD=1
+    shift
+    ;;
+    wait)
+    WAIT_CMD=1
+    shift
+    ;;
+    test)
+    TEST_CMD=1
+    shift
+    ;;
+    destroy)
+    DESTROY_CMD=1
+    shift
+    ;;
+    report-build)
+    REPORT_BUILD_CMD=1
+    shift
+    ;;
+    report-test)
+    REPORT_TEST_CMD=1
+    shift
+    ;;
+    -jn|--job-name)
+    JOB_NAME="$2"
+    NBARGS=$[$NBARGS+1]
+    shift
+    shift
+    ;;
+    -id|--build-id)
+    BUILD_ID="$2"
+    NBARGS=$[$NBARGS+2]
+    shift
+    shift
+    ;;
+    -ws|--workspace)
+    JENKINS_WKSP="$2"
+    NBARGS=$[$NBARGS+4]
+    shift
+    shift
+    ;;
+    -k|--keep-vm-alive)
+    KEEP_VM_ALIVE=1
+    NBARGS=$[$NBARGS+8]
+    shift
+    ;;
+    -D|--daemon)
+    DAEMON=1
+    NBARGS=$[$NBARGS+16]
+    shift
+    ;;
+    -gu|--git-url)
+    GIT_URL="$2"
+    NBARGS=$[$NBARGS+32]
+    shift
+    shift
+    ;;
+    --trigger)
+    TRIG="$2"
+    case $TRIG in
+        merge-request)
+        MR_TRIG=1
+        ;;
+        push)
+        PU_TRIG=1
+        ;;
+        *)
+        echo ""
+        echo "Syntax Error: Invalid Trigger option -> $TRIG"
+        echo ""
+        trigger_usage
+        exit
+        ;;
+    esac
+    NBARGS=$[$NBARGS+64]
+    shift
+    shift
+    ;;
+    -mr)
+    MR_TRIG=1
+    NBARGS=$[$NBARGS+64]
+    shift
+    ;;
+    -pu)
+    PU_TRIG=1
+    NBARGS=$[$NBARGS+64]
+    shift
+    ;;
+    -sb|--src-branch)
+    SOURCE_BRANCH="$2"
+    NBARGS=$[$NBARGS+1024]
+    shift
+    shift
+    ;;
+    -sc|--src-commit)
+    SOURCE_COMMIT_ID="$2"
+    NBARGS=$[$NBARGS+2048]
+    shift
+    shift
+    ;;
+    -tb|--target-branch)
+    TARGET_BRANCH="$2"
+    NBARGS=$[$NBARGS+4096]
+    shift
+    shift
+    ;;
+    -tc|--target-commit)
+    TARGET_COMMIT_ID="$2"
+    NBARGS=$[$NBARGS+8192]
+    shift
+    shift
+    ;;
+    -br|--branch)
+    SOURCE_BRANCH="$2"
+    NBARGS=$[$NBARGS+16384]
+    shift
+    shift
+    ;;
+    -co|--commit)
+    SOURCE_COMMIT_ID="$2"
+    NBARGS=$[$NBARGS+32768]
+    shift
+    shift
+    ;;
+    -v1)
+    VM_NAME=ci-enb-usrp
+    ARCHIVES_LOC=enb_usrp
+    LOG_PATTERN=.Rel14.txt
+    NB_PATTERN_FILES=4
+    BUILD_OPTIONS="--eNB -w USRP --mu"
+    NBARGS=$[$NBARGS+256]
+    shift
+    ;;
+    -v2)
+    VM_NAME=ci-basic-sim
+    ARCHIVES_LOC=basic_sim
+    LOG_PATTERN=basic_simulator
+    NB_PATTERN_FILES=2
+    BUILD_OPTIONS="--basic-simulator"
+    VM_MEMORY=8192
+    VM_CPU=4
+    RUN_OPTIONS="complex"
+    NBARGS=$[$NBARGS+256]
+    shift
+    ;;
+    -v3)
+    VM_NAME=ci-phy-sim
+    ARCHIVES_LOC=phy_sim
+    LOG_PATTERN=.Rel14.txt
+    NB_PATTERN_FILES=3
+    BUILD_OPTIONS="--phy_simulators"
+    RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
+    NBARGS=$[$NBARGS+256]
+    shift
+    ;;
+    -v4)
+    VM_NAME=ci-cppcheck
+    VM_MEMORY=4096
+    ARCHIVES_LOC=cppcheck
+    LOG_PATTERN=cppcheck.xml
+    NB_PATTERN_FILES=1
+    BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2"
+    NBARGS=$[$NBARGS+256]
+    shift
+    ;;
+    -v7)
+    VM_NAME=ci-enb-ethernet
+    ARCHIVES_LOC=enb_eth
+    LOG_PATTERN=.Rel14.txt
+    NB_PATTERN_FILES=6
+    BUILD_OPTIONS="--eNB -t ETHERNET --noS1"
+    NBARGS=$[$NBARGS+256]
+    shift
+    ;;
+    -v8)
+    VM_NAME=ci-ue-ethernet
+    ARCHIVES_LOC=ue_eth
+    LOG_PATTERN=.Rel14.txt
+    NB_PATTERN_FILES=6
+    BUILD_OPTIONS="--UE -t ETHERNET --noS1"
+    NBARGS=$[$NBARGS+256]
+    shift
+    ;;
+    --variant)
+    variant="$2"
+    case $variant in
+        enb-usrp)
+        VM_NAME=ci-enb-usrp
+        ARCHIVES_LOC=enb_usrp
+        LOG_PATTERN=.Rel14.txt
+        NB_PATTERN_FILES=4
+        BUILD_OPTIONS="--eNB -w USRP --mu"
+        NBARGS=$[$NBARGS+256]
+        ;;
+        basic-sim)
+        VM_NAME=ci-basic-sim
+        ARCHIVES_LOC=basic_sim
+        LOG_PATTERN=basic_simulator
+        NB_PATTERN_FILES=2
+        BUILD_OPTIONS="--basic-simulator"
+        VM_MEMORY=8192
+        VM_CPU=4
+        RUN_OPTIONS="complex"
+        NBARGS=$[$NBARGS+256]
+        ;;
+        phy-sim)
+        VM_NAME=ci-phy-sim
+        ARCHIVES_LOC=phy_sim
+        LOG_PATTERN=.Rel14.txt
+        NB_PATTERN_FILES=3
+        BUILD_OPTIONS="--phy_simulators"
+        RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
+        NBARGS=$[$NBARGS+256]
+        ;;
+        cppcheck)
+        VM_NAME=ci-cppcheck
+        VM_MEMORY=8192
+        ARCHIVES_LOC=cppcheck
+        LOG_PATTERN=cppcheck.xml
+        NB_PATTERN_FILES=1
+        BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2"
+        NBARGS=$[$NBARGS+256]
+        ;;
+        enb-ethernet)
+        VM_NAME=ci-enb-ethernet
+        ARCHIVES_LOC=enb_eth
+        LOG_PATTERN=.Rel14.txt
+        NB_PATTERN_FILES=6
+        BUILD_OPTIONS="--eNB -t ETHERNET --noS1"
+        NBARGS=$[$NBARGS+256]
+        ;;
+        ue-ethernet)
+        VM_NAME=ci-ue-ethernet
+        ARCHIVES_LOC=ue_eth
+        LOG_PATTERN=.Rel14.txt
+        NB_PATTERN_FILES=6
+        BUILD_OPTIONS="--UE -t ETHERNET --noS1"
+        NBARGS=$[$NBARGS+256]
+        ;;
+        *)
+        echo ""
+        echo "Syntax Error: Invalid Variant option -> $variant"
+        echo ""
+        variant_usage
+        exit 1
+    esac
+    shift
+    shift
+    ;;
+    *)
+    echo "Syntax Error: unknown option: $key"
+    echo ""
+    top_usage
+    exit 1
+esac
+done
+
+MANY_CMDS=$[$CREATE_CMD+$BUILD_CMD+$WAIT_CMD+$DESTROY_CMD+$TEST_CMD+$REPORT_BUILD_CMD+$REPORT_TEST_CMD]
+if [ $MANY_CMDS -gt 1 ]
+then
+    echo "Syntax Error: too many commands"
+    top_usage
+    exit 1
+fi
+
+if [ $HELP_CMD -eq 1 ]
+then
+    if [ $MANY_CMDS -eq 0 ]
+    then
+        top_usage
+        exit 0
+    fi
+    if [ $CREATE_CMD -eq 1 ]
+    then
+        create_usage
+        exit 0
+    fi
+    if [ $BUILD_CMD -eq 1 ]
+    then
+        build_usage
+        exit 0
+    fi
+    if [ $WAIT_CMD -eq 1 ]
+    then
+        wait_usage
+        exit 0
+    fi
+    if [ $TEST_CMD -eq 1 ]
+    then
+        run_test_usage
+        exit 0
+    fi
+    if [ $DESTROY_CMD -eq 1 ]
+    then
+        destroy_usage
+        exit 0
+    fi
+    if [ $REPORT_BUILD_CMD -eq 1 ]
+    then
+        report_build_usage
+        exit 0
+    fi
+    if [ $REPORT_TEST_CMD -eq 1 ]
+    then
+        report_test_usage
+        exit 0
+    fi
+else
+    if [ $MANY_CMDS -eq 0 ]
+    then
+        echo "Syntax Error: no command"
+        top_usage
+        exit 1
+    fi
+    # For create, mandatory options: jn, id. Optional: variant
+    if [ $CREATE_CMD -eq 1 ] && [ $NBARGS -ne 3 ] && [ $NBARGS -ne 259 ]
+    then
+        echo "Syntax Error: unsupported option(s) for create command"
+        create_usage
+        exit 1
+    fi
+    # For build, mandatory options: jn, id, ws. Optional: variant, k, D
+    if [ $BUILD_CMD -eq 1 ] && [ $NBARGS -ne 7 ] && [ $NBARGS -ne 263 ] && [ $NBARGS -ne 15 ] && [ $NBARGS -ne 271 ] && [ $NBARGS -ne 23 ] && [ $NBARGS -ne 279 ] && [ $NBARGS -ne 31 ] && [ $NBARGS -ne 287 ]
+    then
+        echo "Syntax Error: unsupported option(s) for build command"
+        build_usage
+        exit 1
+    fi
+    # For wait, mandatory options: jn, id, ws. Optional: variant, k
+    if [ $WAIT_CMD -eq 1 ] && [ $NBARGS -ne 7 ] && [ $NBARGS -ne 263 ] && [ $NBARGS -ne 15 ] && [ $NBARGS -ne 271 ]
+    then
+        echo "Syntax Error: unsupported option(s) for wait command"
+        wait_usage
+        exit 1
+    fi
+    # For test, mandatory options: jn, id, ws. Optional: variant, k
+    if [ $TEST_CMD -eq 1 ] && [ $NBARGS -ne 7 ] && [ $NBARGS -ne 263 ] && [ $NBARGS -ne 15 ] && [ $NBARGS -ne 271 ]
+    then
+        echo "Syntax Error: unsupported option(s) for test command"
+        run_test_usage
+        exit 1
+    fi
+    # For destroy, mandatory options: jn, id.
+    if [ $DESTROY_CMD -eq 1 ] && [ $NBARGS -ne 3 ]
+    then
+        echo "Syntax Error: unsupported option(s) for destroy command"
+        destroy_usage
+        exit 1
+    fi
+    # For report-build, mandatory options: jn, id, ws, gu, pu, br,co.
+    #                                  or: jn, id, ws, gu, mr, sb, sc, tb, tc.
+    if [ $REPORT_BUILD_CMD -eq 1 ] && [ $NBARGS -ne 15463 ] && [ $NBARGS -ne 49255 ]
+    then
+        echo "Syntax Error: unsupported option(s) for report-build command"
+        report_build_usage
+        exit 1
+    fi
+    # For report-test, mandatory options: jn, id, ws, gu, pu, br,co.
+    #                                 or: jn, id, ws, gu, mr, sb, sc, tb, tc.
+    if [ $REPORT_TEST_CMD -eq 1 ] && [ $NBARGS -ne 15463 ] && [ $NBARGS -ne 49255 ]
+    then
+        echo "Syntax Error: unsupported option(s) for report-test command"
+        report_test_usage
+        exit 1
+    fi
+fi
+
+# Checking uvt-kvm is installed
+UVT_KVM_PATH=`which uvt-kvm | grep -c uvt-kvm`
+if [ $UVT_KVM_PATH -eq 0 ]
+then
+    echo "Error: uvt-kvm is not installed"
+    top_usage
+    exit 1
+fi
+
+if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
+then
+    VM_TEMPLATE=ci-
+else
+    VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
+fi
+
+VM_NAME=`echo $VM_NAME | sed -e "s#ci-#$VM_TEMPLATE#"`
+VM_CMDS=${VM_NAME}_cmds.txt
+ARCHIVES_LOC=${JENKINS_WKSP}/archives/${ARCHIVES_LOC}
+
+STATUS=0
+if [ $CREATE_CMD -eq 1 ]
+then
+    create_vm
+fi
+if [ $BUILD_CMD -eq 1 ]
+then
+    build_on_vm
+    if [ $DAEMON -eq 0 ] && [ $STATUS -eq 0 ]
+    then
+        check_on_vm_build
+    fi
+fi
+if [ $WAIT_CMD -eq 1 ]
+then
+    wait_on_vm_build
+    if [ $STATUS -eq 0 ]
+    then
+        check_on_vm_build
+    fi
+fi
+if [ $TEST_CMD -eq 1 ]
+then
+    ARCHIVES_LOC=${ARCHIVES_LOC}/test
+    run_test_on_vm
+fi
+if [ $DESTROY_CMD -eq 1 ]
+then
+    destroy_vm
+fi
+if [ $REPORT_BUILD_CMD -eq 1 ]
+then
+    report_build
+fi
+if [ $REPORT_TEST_CMD -eq 1 ]
+then
+    report_test
+fi
+
+# Did command pass or fail?
+if [ $STATUS -eq 0 ]
+then
+    echo "STATUS seems OK"
+else
+    echo "STATUS failed?"
+fi
+exit $STATUS
diff --git a/ci-scripts/reportBuildLocally.sh b/ci-scripts/reportBuildLocally.sh
index a499fa3b66149e17d14947a6d523c14ff8a2a8a1..1b97841e6960b0a4e04f22ea6ebf3ea434da79fa 100755
--- a/ci-scripts/reportBuildLocally.sh
+++ b/ci-scripts/reportBuildLocally.sh
@@ -20,14 +20,13 @@
 # *      contact@openairinterface.org
 # */
 
-function usage {
-    echo "OAI Local Build Report script"
+function report_build_usage {
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
     echo ""
     echo "Usage:"
     echo "------"
-    echo ""
-    echo "    reportBuildLocally.sh [OPTIONS]"
+    echo "    oai-ci-vm-tool report-build [OPTIONS]"
     echo ""
     echo "Options:"
     echo "--------"
@@ -47,6 +46,9 @@ function usage {
     echo "    --build-id #### OR -id ####"
     echo "    Specify the build ID of the Jenkins job."
     echo ""
+    echo "    --workspace #### OR -ws ####"
+    echo "    Specify the workspace."
+    echo ""
     echo "    --trigger merge-request OR -mr"
     echo "    --trigger push          OR -pu"
     echo "    Specify trigger action of the Jenkins job. Either a merge-request event or a push event."
@@ -79,7 +81,7 @@ function usage {
 }
 
 function trigger_usage {
-    echo "OAI Local Build Report script"
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
     echo ""
     echo "    --trigger merge-request OR -mr"
@@ -103,7 +105,7 @@ function details_table {
     COMPLETE_MESSAGE="start"
     for MESSAGE in $LIST_MESSAGES
     do
-        if [[ $MESSAGE == *"/home/ubuntu/tmp"* ]]
+        if [[ $MESSAGE == *"/home/ubuntu/tmp"* ]] || [[  $MESSAGE == *"/tmp/CI-eNB"* ]]
         then
             FILENAME=`echo $MESSAGE | sed -e "s#^/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" | awk -F ":" '{print $1}'`
             LINENB=`echo $MESSAGE | awk -F ":" '{print $2}'`
@@ -153,8 +155,8 @@ function summary_table_row {
     echo "        <td bgcolor = \"lightcyan\" >$1</th>" >> ./build_results.html
     if [ -f $2 ]
     then
-        STATUS=`egrep -c "$3" $2`
-        if [ $STATUS -eq 1 ]
+        BUILD_STATUS=`egrep -c "$3" $2`
+        if [ $BUILD_STATUS -eq 1 ]
         then
             echo "        <td bgcolor = \"green\" >OK</th>" >> ./build_results.html
         else
@@ -263,342 +265,233 @@ function sca_summary_table_footer {
     echo "   <p style=\"margin-left: 30px\">Graphical Interface tool : <strong><code>cppcheck-gui -l cppcheck/cppcheck.xml</code></strong></p>" >> ./build_results.html
 }
 
-jb_checker=0
-mr_checker=0
-pu_checker=0
-MR_TRIG=0
-PU_TRIG=0
-while [[ $# -gt 0 ]]
-do
-key="$1"
-
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -gu|--git-url)
-    GIT_URL="$2"
-    let "jb_checker|=0x1"
-    shift
-    shift
-    ;;
-    -jn|--job-name)
-    JOB_NAME="$2"
-    let "jb_checker|=0x2"
-    shift
-    shift
-    ;;
-    -id|--build-id)
-    BUILD_ID="$2"
-    let "jb_checker|=0x4"
-    shift
-    shift
-    ;;
-    --trigger)
-    TRIG="$2"
-    case $TRIG in
-        merge-request)
-        MR_TRIG=1
-        ;;
-        push)
-        PU_TRIG=1
-        ;;
-        *)
-        echo ""
-        echo "Syntax Error: Invalid Trigger option -> $TRIG"
-        echo ""
-        trigger_usage
-        exit
-        ;;
-    esac
-    let "jb_checker|=0x8"
-    shift
-    shift
-    ;;
-    -mr)
-    MR_TRIG=1
-    let "jb_checker|=0x8"
-    shift
-    ;;
-    -pu)
-    PU_TRIG=1
-    let "jb_checker|=0x8"
-    shift
-    ;;
-    -sb|--src-branch)
-    SOURCE_BRANCH="$2"
-    let "mr_checker|=0x1"
-    shift
-    shift
-    ;;
-    -sc|--src-commit)
-    SOURCE_COMMIT_ID="$2"
-    let "mr_checker|=0x2"
-    shift
-    shift
-    ;;
-    -tb|--target-branch)
-    TARGET_BRANCH="$2"
-    let "mr_checker|=0x4"
-    shift
-    shift
-    ;;
-    -tc|--target-commit)
-    TARGET_COMMIT_ID="$2"
-    let "mr_checker|=0x8"
-    shift
-    shift
-    ;;
-    -br|--branch)
-    SOURCE_BRANCH="$2"
-    let "pu_checker|=0x1"
-    shift
-    shift
-    ;;
-    -co|--commit)
-    SOURCE_COMMIT_ID="$2"
-    let "pu_checker|=0x2"
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-    ;;
-esac
-
-done
-
-if [ $jb_checker -ne 15 ]
-then
-    echo ""
-    echo "Syntax Error: missing job information."
-    # TODO : list missing info
-    echo ""
-    exit 1
-fi
-
-if [ $PU_TRIG -eq 1 ] && [ $MR_TRIG -eq 1 ]
-then
-    echo ""
-    echo "Syntax Error: trigger action incoherent."
-    echo ""
-    trigger_usage
-    exit 1
-fi
-
-if [ $PU_TRIG -eq 1 ]
-then
-    if [ $pu_checker -ne 3 ]
-    then
-        echo ""
-        echo "Syntax Error: missing push information."
-        # TODO : list missing info
-        echo ""
-        exit 1
-    fi
-fi
-
-if [ $MR_TRIG -eq 1 ]
-then
-    if [ $mr_checker -ne 15 ]
-    then
-        echo ""
-        echo "Syntax Error: missing merge-request information."
-        # TODO : list missing info
-        echo ""
-        exit 1
-    fi
-fi
-
-echo "<!DOCTYPE html>" > ./build_results.html
-echo "<html class=\"no-js\" lang=\"en-US\">" >> ./build_results.html
-echo "<head>" >> ./build_results.html
-echo "  <title>Build Results for $JOB_NAME job build #$BUILD_ID</title>" >> ./build_results.html
-echo "  <base href = \"http://www.openairinterface.org/\" />" >> ./build_results.html
-echo "</head>" >> ./build_results.html
-echo "<body>" >> ./build_results.html
-echo "  <table style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
-echo "    <tr style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
-echo "      <td style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
-echo "        <a href=\"http://www.openairinterface.org/\">" >> ./build_results.html
-echo "           <img src=\"/wp-content/uploads/2016/03/cropped-oai_final_logo2.png\" alt=\"\" border=\"none\" height=50 width=150>" >> ./build_results.html
-echo "           </img>" >> ./build_results.html
-echo "        </a>" >> ./build_results.html
-echo "      </td>" >> ./build_results.html
-echo "      <td style=\"border-collapse: collapse; border: none; vertical-align: center;\">" >> ./build_results.html
-echo "        <b><font size = \"6\">Job Summary -- Job: $JOB_NAME -- Build-ID: $BUILD_ID</font></b>" >> ./build_results.html
-echo "      </td>" >> ./build_results.html
-echo "    </tr>" >> ./build_results.html
-echo "  </table>" >> ./build_results.html
-echo "  <br>" >> ./build_results.html
-echo "   <table border = \"1\">" >> ./build_results.html
-echo "      <tr>" >> ./build_results.html
-echo "        <td bgcolor = \"lightcyan\" >Build Start Time (UTC)</td>" >> ./build_results.html
-echo "        <td>TEMPLATE_BUILD_TIME</td>" >> ./build_results.html
-echo "      </tr>" >> ./build_results.html
-echo "      <tr>" >> ./build_results.html
-echo "        <td bgcolor = \"lightcyan\" >GIT Repository</td>" >> ./build_results.html
-echo "        <td>$GIT_URL</td>" >> ./build_results.html
-echo "      </tr>" >> ./build_results.html
-echo "      <tr>" >> ./build_results.html
-echo "        <td bgcolor = \"lightcyan\" >Job Trigger</td>" >> ./build_results.html
-if [ $PU_TRIG -eq 1 ]; then echo "        <td>Push Event</td>" >> ./build_results.html; fi
-if [ $MR_TRIG -eq 1 ]; then echo "        <td>Merge-Request</td>" >> ./build_results.html; fi
-echo "      </tr>" >> ./build_results.html
-if [ $PU_TRIG -eq 1 ]
-then
-    echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Branch</td>" >> ./build_results.html
-    echo "        <td>$SOURCE_BRANCH</td>" >> ./build_results.html
-    echo "      </tr>" >> ./build_results.html
-    echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Commit ID</td>" >> ./build_results.html
-    echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./build_results.html
-    echo "      </tr>" >> ./build_results.html
-fi
-if [ $MR_TRIG -eq 1 ]
-then
-    echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Source Branch</td>" >> ./build_results.html
-    echo "        <td>$SOURCE_BRANCH</td>" >> ./build_results.html
-    echo "      </tr>" >> ./build_results.html
+function report_build {
+    echo "############################################################"
+    echo "OAI CI VM script"
+    echo "############################################################"
+
+    echo "JENKINS_WKSP        = $JENKINS_WKSP"
+
+    cd ${JENKINS_WKSP}
+    echo "<!DOCTYPE html>" > ./build_results.html
+    echo "<html class=\"no-js\" lang=\"en-US\">" >> ./build_results.html
+    echo "<head>" >> ./build_results.html
+    echo "  <title>Build Results for $JOB_NAME job build #$BUILD_ID</title>" >> ./build_results.html
+    echo "  <base href = \"http://www.openairinterface.org/\" />" >> ./build_results.html
+    echo "</head>" >> ./build_results.html
+    echo "<body>" >> ./build_results.html
+    echo "  <table style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
+    echo "    <tr style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
+    echo "      <td style=\"border-collapse: collapse; border: none;\">" >> ./build_results.html
+    echo "        <a href=\"http://www.openairinterface.org/\">" >> ./build_results.html
+    echo "           <img src=\"/wp-content/uploads/2016/03/cropped-oai_final_logo2.png\" alt=\"\" border=\"none\" height=50 width=150>" >> ./build_results.html
+    echo "           </img>" >> ./build_results.html
+    echo "        </a>" >> ./build_results.html
+    echo "      </td>" >> ./build_results.html
+    echo "      <td style=\"border-collapse: collapse; border: none; vertical-align: center;\">" >> ./build_results.html
+    echo "        <b><font size = \"6\">Job Summary -- Job: $JOB_NAME -- Build-ID: $BUILD_ID</font></b>" >> ./build_results.html
+    echo "      </td>" >> ./build_results.html
+    echo "    </tr>" >> ./build_results.html
+    echo "  </table>" >> ./build_results.html
+    echo "  <br>" >> ./build_results.html
+    echo "   <table border = \"1\">" >> ./build_results.html
     echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Source Commit ID</td>" >> ./build_results.html
-    echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./build_results.html
+    echo "        <td bgcolor = \"lightcyan\" >Build Start Time (UTC)</td>" >> ./build_results.html
+    echo "        <td>TEMPLATE_BUILD_TIME</td>" >> ./build_results.html
     echo "      </tr>" >> ./build_results.html
     echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Target Branch</td>" >> ./build_results.html
-    echo "        <td>$TARGET_BRANCH</td>" >> ./build_results.html
+    echo "        <td bgcolor = \"lightcyan\" >GIT Repository</td>" >> ./build_results.html
+    echo "        <td>$GIT_URL</td>" >> ./build_results.html
     echo "      </tr>" >> ./build_results.html
     echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Target Commit ID</td>" >> ./build_results.html
-    echo "        <td>$TARGET_COMMIT_ID</td>" >> ./build_results.html
+    echo "        <td bgcolor = \"lightcyan\" >Job Trigger</td>" >> ./build_results.html
+    if [ $PU_TRIG -eq 1 ]; then echo "        <td>Push Event</td>" >> ./build_results.html; fi
+    if [ $MR_TRIG -eq 1 ]; then echo "        <td>Merge-Request</td>" >> ./build_results.html; fi
     echo "      </tr>" >> ./build_results.html
-fi
-echo "   </table>" >> ./build_results.html
-echo "   <h2>Build Summary</h2>" >> ./build_results.html
-
-if [ -f ./oai_rules_result.txt ]
-then
-    echo "   <h3>OAI Coding / Formatting Guidelines Check</h3>" >> ./build_results.html
-    echo "   <table border = "1">" >> ./build_results.html
-    echo "      <tr>" >> ./build_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Result:</td>" >> ./build_results.html
-    NB_FILES=`cat ./oai_rules_result.txt`
-    if [ $NB_FILES = "0" ]
-    then 
-        if [ $PU_TRIG -eq 1 ]; then echo "        <td bgcolor = \"green\">All files in repository follow OAI rules. </td>" >> ./build_results.html; fi
-        if [ $MR_TRIG -eq 1 ]; then echo "        <td bgcolor = \"green\">All modified files in Merge-Request follow OAI rules.</td>" >> ./build_results.html; fi
+    if [ $PU_TRIG -eq 1 ]
+    then
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Branch</td>" >> ./build_results.html
+        echo "        <td>$SOURCE_BRANCH</td>" >> ./build_results.html
         echo "      </tr>" >> ./build_results.html
-        echo "   </table>" >> ./build_results.html
-    else
-        if [ $PU_TRIG -eq 1 ]; then echo "        <td bgcolor = \"orange\">$NB_FILES files in repository DO NOT follow OAI rules. </td>" >> ./build_results.html; fi
-        if [ $MR_TRIG -eq 1 ]; then echo "        <td bgcolor = \"orange\">$NB_FILES modified files in Merge-Request DO NOT follow OAI rules.</td>" >> ./build_results.html; fi
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Commit ID</td>" >> ./build_results.html
+        echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./build_results.html
         echo "      </tr>" >> ./build_results.html
-        if [ -f ./oai_rules_result_list.txt ]
-        then
-            awk '{print "      <tr><td></td><td>"$1"</td></tr>"}' ./oai_rules_result_list.txt >> ./build_results.html
+    fi
+    if [ $MR_TRIG -eq 1 ]
+    then
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Source Branch</td>" >> ./build_results.html
+        echo "        <td>$SOURCE_BRANCH</td>" >> ./build_results.html
+        echo "      </tr>" >> ./build_results.html
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Source Commit ID</td>" >> ./build_results.html
+        echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./build_results.html
+        echo "      </tr>" >> ./build_results.html
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Target Branch</td>" >> ./build_results.html
+        echo "        <td>$TARGET_BRANCH</td>" >> ./build_results.html
+        echo "      </tr>" >> ./build_results.html
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Target Commit ID</td>" >> ./build_results.html
+        echo "        <td>$TARGET_COMMIT_ID</td>" >> ./build_results.html
+        echo "      </tr>" >> ./build_results.html
+    fi
+    echo "   </table>" >> ./build_results.html
+    echo "   <h2>Build Summary</h2>" >> ./build_results.html
+
+    if [ -f ./oai_rules_result.txt ]
+    then
+        echo "   <h3>OAI Coding / Formatting Guidelines Check</h3>" >> ./build_results.html
+        echo "   <table border = "1">" >> ./build_results.html
+        echo "      <tr>" >> ./build_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Result:</td>" >> ./build_results.html
+        NB_FILES=`cat ./oai_rules_result.txt`
+        if [ $NB_FILES = "0" ]
+        then 
+            if [ $PU_TRIG -eq 1 ]; then echo "        <td bgcolor = \"green\">All files in repository follow OAI rules. </td>" >> ./build_results.html; fi
+            if [ $MR_TRIG -eq 1 ]; then echo "        <td bgcolor = \"green\">All modified files in Merge-Request follow OAI rules.</td>" >> ./build_results.html; fi
+            echo "      </tr>" >> ./build_results.html
+            echo "   </table>" >> ./build_results.html
+        else
+            if [ $PU_TRIG -eq 1 ]; then echo "        <td bgcolor = \"orange\">$NB_FILES files in repository DO NOT follow OAI rules. </td>" >> ./build_results.html; fi
+            if [ $MR_TRIG -eq 1 ]; then echo "        <td bgcolor = \"orange\">$NB_FILES modified files in Merge-Request DO NOT follow OAI rules.</td>" >> ./build_results.html; fi
+            echo "      </tr>" >> ./build_results.html
+            if [ -f ./oai_rules_result_list.txt ]
+            then
+                awk '{print "      <tr><td></td><td>"$1"</td></tr>"}' ./oai_rules_result_list.txt >> ./build_results.html
+            fi
+            echo "   </table>" >> ./build_results.html
+            echo "   <p>Please apply the following command to this(ese) file(s): </p>" >> ./build_results.html
+            echo "   <p style=\"margin-left: 30px\"><strong><code>astyle --options=ci-scripts/astyle-options.txt filename(s)</code></strong></p>" >> ./build_results.html
         fi
-        echo "   </table>" >> ./build_results.html
-        echo "   <p>Please apply the following command to this(ese) file(s): </p>" >> ./build_results.html
-        echo "   <p style=\"margin-left: 30px\"><strong><code>astyle --options=ci-scripts/astyle-options.txt filename(s)</code></strong></p>" >> ./build_results.html
     fi
-fi
-
-echo "   <h2>Ubuntu 16.04 LTS -- Summary</h2>" >> ./build_results.html
-
-sca_summary_table_header "OAI Static Code Analysis with CPPCHECK"
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Uninitialized variable" uninitvar
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Uninitialized struct member" uninitStructMember
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Memory leak" memleak
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Memory is freed twice" doubleFree
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Resource leak" resourceLeak
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Possible null pointer dereference" nullPointer
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Array access  out of bounds" arrayIndexOutOfBounds
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Buffer is accessed out of bounds" bufferAccessOutOfBounds
-sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Expression depends on order of evaluation of side effects" unknownEvaluationOrder
-sca_summary_table_footer ./archives/cppcheck/cppcheck.xml
-
-summary_table_header "OAI Build eNB -- USRP option"
-summary_table_row "LTE SoftModem - Release 14" ./archives/enb_usrp/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_row1.html
-summary_table_row "Coding - Release 14" ./archives/enb_usrp/coding.Rel14.txt "Built target coding" ./enb_usrp_row2.html
-summary_table_row "OAI USRP device if - Release 14" ./archives/enb_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_row3.html
-summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_row4.html
-summary_table_footer
-
-summary_table_header "OAI Build basic simulator option"
-summary_table_row "Basic Simulator eNb - Release 14" ./archives/basic_sim/basic_simulator_enb.txt "Built target lte-softmodem" ./basic_sim_row1.html
-summary_table_row "Basic Simulator UE - Release 14" ./archives/basic_sim/basic_simulator_ue.txt "Built target lte-uesoftmodem" ./basic_sim_row2.html
-summary_table_row "Conf 2 UE data - Release 14" ./archives/basic_sim/conf2uedata.Rel14.txt "Built target conf2uedata" ./basic_sim_row3.html
-summary_table_footer
-
-summary_table_header "OAI Build Physical simulators option"
-summary_table_row "DL Simulator - Release 14" ./archives/phy_sim/dlsim.Rel14.txt "Built target dlsim" ./phy_sim_row1.html
-summary_table_row "UL Simulator - Release 14" ./archives/phy_sim/ulsim.Rel14.txt "Built target ulsim" ./phy_sim_row2.html
-summary_table_row "Coding - Release 14" ./archives/phy_sim/coding.Rel14.txt "Built target coding" ./phy_sim_row3.html
-summary_table_footer
-
-summary_table_header "OAI Build eNB -- ETHERNET transport option"
-summary_table_row "LTE SoftModem w/o S1 - Release 14" ./archives/enb_eth/lte-softmodem-nos1.Rel14.txt "Built target lte-softmodem" ./enb_eth_row1.html
-summary_table_row "Coding - Release 14" ./archives/enb_eth/coding.Rel14.txt "Built target coding" ./enb_eth_row2.html
-summary_table_row "OAI ETHERNET transport - Release 14" ./archives/enb_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_eth_row3.html
-summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_eth_row4.html
-summary_table_row "RB Tools - Release 14" ./archives/enb_eth/rb_tool.Rel14.txt "Built target rb_tool" ./enb_eth_row5.html
-summary_table_row "NAS Mesh - Release 14" ./archives/enb_eth/nasmesh.Rel14.txt "Built target nasmesh" ./enb_eth_row6.html
-summary_table_footer
-
-summary_table_header "OAI Build UE -- ETHERNET transport option"
-summary_table_row "LTE UE SoftModem w/o S1 - Release 14" ./archives/ue_eth/lte-uesoftmodem-nos1.Rel14.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html
-summary_table_row "Coding - Release 14" ./archives/ue_eth/coding.Rel14.txt "Built target coding" ./ue_eth_row2.html
-summary_table_row "OAI ETHERNET transport - Release 14" ./archives/ue_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./ue_eth_row3.html
-summary_table_row "Parameters Lib Config - Release 14" ./archives/ue_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./ue_eth_row4.html
-summary_table_row "RB Tools - Release 14" ./archives/ue_eth/rb_tool.Rel14.txt "Built target rb_tool" ./ue_eth_row5.html
-summary_table_row "NAS Mesh - Release 14" ./archives/ue_eth/nasmesh.Rel14.txt "Built target nasmesh" ./ue_eth_row6.html
-summary_table_footer
-
-echo "   <h2>Red Hat (CentOS Linux release 7.4.1708) -- Summary</h2>" >> ./build_results.html
-
-summary_table_header "Red Hat -- OAI Build eNB -- USRP option"
-summary_table_row "LTE SoftModem - Release 14" ./archives/red_hat/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html
-summary_table_row "Coding - Release 14" ./archives/red_hat/coding.Rel14.txt "Built target coding" ./enb_usrp_rh_row2.html
-summary_table_row "OAI USRP device if - Release 14" ./archives/red_hat/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html
-summary_table_row "Parameters Lib Config - Release 14" ./archives/red_hat/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_rh_row4.html
-summary_table_footer
-
-echo "   <h3>Details</h3>" >> ./build_results.html
-
-for DETAILS_TABLE in `ls ./enb_usrp_row*.html`
-do
-    cat $DETAILS_TABLE >> ./build_results.html
-done
-for DETAILS_TABLE in `ls ./basic_sim_row*.html`
-do
-    cat $DETAILS_TABLE >> ./build_results.html
-done
-for DETAILS_TABLE in `ls ./phy_sim_row*.html`
-do
-    cat $DETAILS_TABLE >> ./build_results.html
-done
-for DETAILS_TABLE in `ls ./enb_eth_row*.html`
-do
-    cat $DETAILS_TABLE >> ./build_results.html
-done
-for DETAILS_TABLE in `ls ./ue_eth_row*.html`
-do
-    cat $DETAILS_TABLE >> ./build_results.html
-done
-for DETAILS_TABLE in `ls ./enb_usrp_rh_row*.html`
-do
-    cat $DETAILS_TABLE >> ./build_results.html
-done
-rm -f ./enb_usrp_row*.html ./basic_sim_row*.html ./phy_sim_row*.html ./enb_eth_row*.html ./ue_eth_row*.html ./enb_usrp_rh_row*.html
-
-echo "</body>" >> ./build_results.html
-echo "</html>" >> ./build_results.html
-
-exit 0
+
+    echo "   <h2>Ubuntu 16.04 LTS -- Summary</h2>" >> ./build_results.html
+
+    sca_summary_table_header "OAI Static Code Analysis with CPPCHECK"
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Uninitialized variable" uninitvar
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Uninitialized struct member" uninitStructMember
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Memory leak" memleak
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Memory is freed twice" doubleFree
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Resource leak" resourceLeak
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Possible null pointer dereference" nullPointer
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Array access  out of bounds" arrayIndexOutOfBounds
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Buffer is accessed out of bounds" bufferAccessOutOfBounds
+    sca_summary_table_row ./archives/cppcheck/cppcheck.xml "Expression depends on order of evaluation of side effects" unknownEvaluationOrder
+    sca_summary_table_footer ./archives/cppcheck/cppcheck.xml
+
+    summary_table_header "OAI Build eNB -- USRP option"
+    summary_table_row "LTE SoftModem - Release 14" ./archives/enb_usrp/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_row1.html
+    summary_table_row "Coding - Release 14" ./archives/enb_usrp/coding.Rel14.txt "Built target coding" ./enb_usrp_row2.html
+    summary_table_row "OAI USRP device if - Release 14" ./archives/enb_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_row3.html
+    summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_row4.html
+    summary_table_footer
+
+    summary_table_header "OAI Build basic simulator option"
+    summary_table_row "Basic Simulator eNb - Release 14" ./archives/basic_sim/basic_simulator_enb.txt "Built target lte-softmodem" ./basic_sim_row1.html
+    summary_table_row "Basic Simulator UE - Release 14" ./archives/basic_sim/basic_simulator_ue.txt "Built target lte-uesoftmodem" ./basic_sim_row2.html
+    summary_table_row "Conf 2 UE data - Release 14" ./archives/basic_sim/conf2uedata.Rel14.txt "Built target conf2uedata" ./basic_sim_row3.html
+    summary_table_footer
+
+    summary_table_header "OAI Build Physical simulators option"
+    summary_table_row "DL Simulator - Release 14" ./archives/phy_sim/dlsim.Rel14.txt "Built target dlsim" ./phy_sim_row1.html
+    summary_table_row "UL Simulator - Release 14" ./archives/phy_sim/ulsim.Rel14.txt "Built target ulsim" ./phy_sim_row2.html
+    summary_table_row "Coding - Release 14" ./archives/phy_sim/coding.Rel14.txt "Built target coding" ./phy_sim_row3.html
+    summary_table_footer
+
+
+    if [ -f archives/gnb_usrp/nr-softmodem.Rel14.txt ]
+    then
+        summary_table_header "OAI Build gNB -- USRP option"
+        summary_table_row "LTE SoftModem - Release 14" ./archives/gnb_usrp/nr-softmodem.Rel14.txt "Built target nr-softmodem" ./gnb_usrp_row1.html
+        summary_table_row "Coding - Release 14" ./archives/gnb_usrp/coding.Rel14.txt "Built target coding" ./gnb_usrp_row2.html
+        summary_table_row "OAI USRP device if - Release 14" ./archives/gnb_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./gnb_usrp_row3.html
+        summary_table_row "Parameters Lib Config - Release 14" ./archives/gnb_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./gnb_usrp_row4.html
+        summary_table_footer
+    fi
+
+    if [ -f archives/nrue_usrp/nr-uesoftmodem.Rel14.txt ]
+    then
+        summary_table_header "OAI Build 5G NR UE -- USRP option"
+        summary_table_row "UE SoftModem - Release 14" ./archives/nrue_usrp/nr-uesoftmodem.Rel14.txt "Built target nr-uesoftmodem" ./nrue_usrp_row1.html
+        summary_table_row "Coding - Release 14" ./archives/nrue_usrp/coding.Rel14.txt "Built target coding" ./nrue_usrp_row2.html
+        summary_table_row "OAI USRP device if - Release 14" ./archives/nrue_usrp/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./nrue_usrp_row3.html
+        summary_table_row "Parameters Lib Config - Release 14" ./archives/nrue_usrp/params_libconfig.Rel14.txt "Built target params_libconfig" ./nrue_usrp_row4.html
+        summary_table_footer
+    fi
+
+    summary_table_header "OAI Build eNB -- ETHERNET transport option"
+    summary_table_row "LTE SoftModem w/o S1 - Release 14" ./archives/enb_eth/lte-softmodem-nos1.Rel14.txt "Built target lte-softmodem" ./enb_eth_row1.html
+    summary_table_row "Coding - Release 14" ./archives/enb_eth/coding.Rel14.txt "Built target coding" ./enb_eth_row2.html
+    summary_table_row "OAI ETHERNET transport - Release 14" ./archives/enb_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./enb_eth_row3.html
+    summary_table_row "Parameters Lib Config - Release 14" ./archives/enb_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_eth_row4.html
+    summary_table_row "RB Tools - Release 14" ./archives/enb_eth/rb_tool.Rel14.txt "Built target rb_tool" ./enb_eth_row5.html
+    summary_table_row "NAS Mesh - Release 14" ./archives/enb_eth/nasmesh.Rel14.txt "Built target nasmesh" ./enb_eth_row6.html
+    summary_table_footer
+
+    summary_table_header "OAI Build UE -- ETHERNET transport option"
+    summary_table_row "LTE UE SoftModem w/o S1 - Release 14" ./archives/ue_eth/lte-uesoftmodem-nos1.Rel14.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html
+    summary_table_row "Coding - Release 14" ./archives/ue_eth/coding.Rel14.txt "Built target coding" ./ue_eth_row2.html
+    summary_table_row "OAI ETHERNET transport - Release 14" ./archives/ue_eth/oai_eth_transpro.Rel14.txt "Built target oai_eth_transpro" ./ue_eth_row3.html
+    summary_table_row "Parameters Lib Config - Release 14" ./archives/ue_eth/params_libconfig.Rel14.txt "Built target params_libconfig" ./ue_eth_row4.html
+    summary_table_row "RB Tools - Release 14" ./archives/ue_eth/rb_tool.Rel14.txt "Built target rb_tool" ./ue_eth_row5.html
+    summary_table_row "NAS Mesh - Release 14" ./archives/ue_eth/nasmesh.Rel14.txt "Built target nasmesh" ./ue_eth_row6.html
+    summary_table_footer
+
+    if [ -e ./archives/red_hat ]
+    then
+        echo "   <h2>Red Hat (CentOS Linux release 7.4.1708) -- Summary</h2>" >> ./build_results.html
+
+        summary_table_header "Red Hat -- OAI Build eNB -- USRP option"
+        summary_table_row "LTE SoftModem - Release 14" ./archives/red_hat/lte-softmodem.Rel14.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html
+        summary_table_row "Coding - Release 14" ./archives/red_hat/coding.Rel14.txt "Built target coding" ./enb_usrp_rh_row2.html
+        summary_table_row "OAI USRP device if - Release 14" ./archives/red_hat/oai_usrpdevif.Rel14.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html
+        summary_table_row "Parameters Lib Config - Release 14" ./archives/red_hat/params_libconfig.Rel14.txt "Built target params_libconfig" ./enb_usrp_rh_row4.html
+        summary_table_footer
+    fi
+
+    echo "   <h3>Details</h3>" >> ./build_results.html
+
+    for DETAILS_TABLE in `ls ./enb_usrp_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    for DETAILS_TABLE in `ls ./basic_sim_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    for DETAILS_TABLE in `ls ./phy_sim_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+
+    for DETAILS_TABLE in `ls ./gnb_usrp_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    for DETAILS_TABLE in `ls ./nrue_usrp_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    for DETAILS_TABLE in `ls ./enb_eth_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    for DETAILS_TABLE in `ls ./ue_eth_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    if [ -e ./archives/red_hat ]
+    then
+    for DETAILS_TABLE in `ls ./enb_usrp_rh_row*.html`
+    do
+        cat $DETAILS_TABLE >> ./build_results.html
+    done
+    fi
+    rm -f ./*_row*.html
+
+    echo "</body>" >> ./build_results.html
+    echo "</html>" >> ./build_results.html
+}
diff --git a/ci-scripts/reportTestLocally.sh b/ci-scripts/reportTestLocally.sh
index e00956199c8f1ddd6b283e7e42b48f1a4fc1a306..7bbf52ca2b3e36b978dcfef91841db8a9ebf6198 100755
--- a/ci-scripts/reportTestLocally.sh
+++ b/ci-scripts/reportTestLocally.sh
@@ -20,14 +20,13 @@
 # *      contact@openairinterface.org
 # */
 
-function usage {
-    echo "OAI Test Report script"
+function report_test_usage {
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
     echo ""
     echo "Usage:"
     echo "------"
-    echo ""
-    echo "    reportTestLocally.sh [OPTIONS]"
+    echo "    oai-ci-vm-tool report-test [OPTIONS]"
     echo ""
     echo "Options:"
     echo "--------"
@@ -47,6 +46,9 @@ function usage {
     echo "    --build-id #### OR -id ####"
     echo "    Specify the build ID of the Jenkins job."
     echo ""
+    echo "    --workspace #### OR -ws ####"
+    echo "    Specify the workspace."
+    echo ""
     echo "    --trigger merge-request OR -mr"
     echo "    --trigger push          OR -pu"
     echo "    Specify trigger action of the Jenkins job. Either a merge-request event or a push event."
@@ -78,513 +80,375 @@ function usage {
     echo ""
 }
 
-function trigger_usage {
-    echo "OAI Test Report script"
-    echo "   Original Author: Raphael Defosseux"
-    echo ""
-    echo "    --trigger merge-request OR -mr"
-    echo "    --trigger push          OR -pu"
-    echo "    Specify trigger action of the Jenkins job. Either a merge-request event or a push event."
-    echo ""
-}
-
-jb_checker=0
-mr_checker=0
-pu_checker=0
-MR_TRIG=0
-PU_TRIG=0
-while [[ $# -gt 0 ]]
-do
-key="$1"
+function report_test {
+    echo "############################################################"
+    echo "OAI CI VM script"
+    echo "############################################################"
 
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -gu|--git-url)
-    GIT_URL="$2"
-    let "jb_checker|=0x1"
-    shift
-    shift
-    ;;
-    -jn|--job-name)
-    JOB_NAME="$2"
-    let "jb_checker|=0x2"
-    shift
-    shift
-    ;;
-    -id|--build-id)
-    BUILD_ID="$2"
-    let "jb_checker|=0x4"
-    shift
-    shift
-    ;;
-    --trigger)
-    TRIG="$2"
-    case $TRIG in
-        merge-request)
-        MR_TRIG=1
-        ;;
-        push)
-        PU_TRIG=1
-        ;;
-        *)
-        echo ""
-        echo "Syntax Error: Invalid Trigger option -> $TRIG"
-        echo ""
-        trigger_usage
-        exit
-        ;;
-    esac
-    let "jb_checker|=0x8"
-    shift
-    shift
-    ;;
-    -mr)
-    MR_TRIG=1
-    let "jb_checker|=0x8"
-    shift
-    ;;
-    -pu)
-    PU_TRIG=1
-    let "jb_checker|=0x8"
-    shift
-    ;;
-    -sb|--src-branch)
-    SOURCE_BRANCH="$2"
-    let "mr_checker|=0x1"
-    shift
-    shift
-    ;;
-    -sc|--src-commit)
-    SOURCE_COMMIT_ID="$2"
-    let "mr_checker|=0x2"
-    shift
-    shift
-    ;;
-    -tb|--target-branch)
-    TARGET_BRANCH="$2"
-    let "mr_checker|=0x4"
-    shift
-    shift
-    ;;
-    -tc|--target-commit)
-    TARGET_COMMIT_ID="$2"
-    let "mr_checker|=0x8"
-    shift
-    shift
-    ;;
-    -br|--branch)
-    SOURCE_BRANCH="$2"
-    let "pu_checker|=0x1"
-    shift
-    shift
-    ;;
-    -co|--commit)
-    SOURCE_COMMIT_ID="$2"
-    let "pu_checker|=0x2"
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-    ;;
-esac
-
-done
-
-if [ $jb_checker -ne 15 ]
-then
-    echo ""
-    echo "Syntax Error: missing job information."
-    # TODO : list missing info
-    echo ""
-    exit 1
-fi
+    echo "JENKINS_WKSP        = $JENKINS_WKSP"
 
-if [ $PU_TRIG -eq 1 ] && [ $MR_TRIG -eq 1 ]
-then
-    echo ""
-    echo "Syntax Error: trigger action incoherent."
-    echo ""
-    trigger_usage
-    exit 1
-fi
-
-if [ $PU_TRIG -eq 1 ]
-then
-    if [ $pu_checker -ne 3 ]
-    then
-        echo ""
-        echo "Syntax Error: missing push information."
-        # TODO : list missing info
-        echo ""
-        exit 1
-    fi
-fi
+    cd ${JENKINS_WKSP}
 
-if [ $MR_TRIG -eq 1 ]
-then
-    if [ $mr_checker -ne 15 ]
-    then
-        echo ""
-        echo "Syntax Error: missing merge-request information."
-        # TODO : list missing info
-        echo ""
-        exit 1
-    fi
-fi
-
-echo "<!DOCTYPE html>" > ./test_simulator_results.html
-echo "<html class=\"no-js\" lang=\"en-US\">" >> ./test_simulator_results.html
-echo "<head>" >> ./test_simulator_results.html
-echo "  <title>Simulator Results for $JOB_NAME job build #$BUILD_ID</title>" >> ./test_simulator_results.html
-echo "  <base href = \"http://www.openairinterface.org/\" />" >> ./test_simulator_results.html
-echo "</head>" >> ./test_simulator_results.html
-echo "<body>" >> ./test_simulator_results.html
-echo "  <table style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
-echo "    <tr style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
-echo "      <td style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
-echo "        <a href=\"http://www.openairinterface.org/\">" >> ./test_simulator_results.html
-echo "           <img src=\"/wp-content/uploads/2016/03/cropped-oai_final_logo2.png\" alt=\"\" border=\"none\" height=50 width=150>" >> ./test_simulator_results.html
-echo "           </img>" >> ./test_simulator_results.html
-echo "        </a>" >> ./test_simulator_results.html
-echo "      </td>" >> ./test_simulator_results.html
-echo "      <td style=\"border-collapse: collapse; border: none; vertical-align: center;\">" >> ./test_simulator_results.html
-echo "        <b><font size = \"6\">Job Summary -- Job: $JOB_NAME -- Build-ID: $BUILD_ID</font></b>" >> ./test_simulator_results.html
-echo "      </td>" >> ./test_simulator_results.html
-echo "    </tr>" >> ./test_simulator_results.html
-echo "  </table>" >> ./test_simulator_results.html
-echo "  <br>" >> ./test_simulator_results.html
-echo "   <table border = \"1\">" >> ./test_simulator_results.html
-echo "      <tr>" >> ./test_simulator_results.html
-echo "        <td bgcolor = \"lightcyan\" >Build Start Time (UTC)</td>" >> ./test_simulator_results.html
-echo "        <td>TEMPLATE_BUILD_TIME</td>" >> ./test_simulator_results.html
-echo "      </tr>" >> ./test_simulator_results.html
-echo "      <tr>" >> ./test_simulator_results.html
-echo "        <td bgcolor = \"lightcyan\" >GIT Repository</td>" >> ./test_simulator_results.html
-echo "        <td><a href=\"$GIT_URL\">$GIT_URL</a></td>" >> ./test_simulator_results.html
-echo "      </tr>" >> ./test_simulator_results.html
-echo "      <tr>" >> ./test_simulator_results.html
-echo "        <td bgcolor = \"lightcyan\" >Job Trigger</td>" >> ./test_simulator_results.html
-if [ $PU_TRIG -eq 1 ]; then echo "        <td>Push Event</td>" >> ./test_simulator_results.html; fi
-if [ $MR_TRIG -eq 1 ]; then echo "        <td>Merge-Request</td>" >> ./test_simulator_results.html; fi
-echo "      </tr>" >> ./test_simulator_results.html
-if [ $PU_TRIG -eq 1 ]
-then
-    echo "      <tr>" >> ./test_simulator_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Branch</td>" >> ./test_simulator_results.html
-    echo "        <td>$SOURCE_BRANCH</td>" >> ./test_simulator_results.html
-    echo "      </tr>" >> ./test_simulator_results.html
-    echo "      <tr>" >> ./test_simulator_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Commit ID</td>" >> ./test_simulator_results.html
-    echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./test_simulator_results.html
-    echo "      </tr>" >> ./test_simulator_results.html
-fi
-if [ $MR_TRIG -eq 1 ]
-then
-    echo "      <tr>" >> ./test_simulator_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Source Branch</td>" >> ./test_simulator_results.html
-    echo "        <td>$SOURCE_BRANCH</td>" >> ./test_simulator_results.html
-    echo "      </tr>" >> ./test_simulator_results.html
+    echo "<!DOCTYPE html>" > ./test_simulator_results.html
+    echo "<html class=\"no-js\" lang=\"en-US\">" >> ./test_simulator_results.html
+    echo "<head>" >> ./test_simulator_results.html
+    echo "  <title>Simulator Results for $JOB_NAME job build #$BUILD_ID</title>" >> ./test_simulator_results.html
+    echo "  <base href = \"http://www.openairinterface.org/\" />" >> ./test_simulator_results.html
+    echo "</head>" >> ./test_simulator_results.html
+    echo "<body>" >> ./test_simulator_results.html
+    echo "  <table style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
+    echo "    <tr style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
+    echo "      <td style=\"border-collapse: collapse; border: none;\">" >> ./test_simulator_results.html
+    echo "        <a href=\"http://www.openairinterface.org/\">" >> ./test_simulator_results.html
+    echo "           <img src=\"/wp-content/uploads/2016/03/cropped-oai_final_logo2.png\" alt=\"\" border=\"none\" height=50 width=150>" >> ./test_simulator_results.html
+    echo "           </img>" >> ./test_simulator_results.html
+    echo "        </a>" >> ./test_simulator_results.html
+    echo "      </td>" >> ./test_simulator_results.html
+    echo "      <td style=\"border-collapse: collapse; border: none; vertical-align: center;\">" >> ./test_simulator_results.html
+    echo "        <b><font size = \"6\">Job Summary -- Job: $JOB_NAME -- Build-ID: $BUILD_ID</font></b>" >> ./test_simulator_results.html
+    echo "      </td>" >> ./test_simulator_results.html
+    echo "    </tr>" >> ./test_simulator_results.html
+    echo "  </table>" >> ./test_simulator_results.html
+    echo "  <br>" >> ./test_simulator_results.html
+    echo "   <table border = \"1\">" >> ./test_simulator_results.html
     echo "      <tr>" >> ./test_simulator_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Source Commit ID</td>" >> ./test_simulator_results.html
-    echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./test_simulator_results.html
+    echo "        <td bgcolor = \"lightcyan\" >Build Start Time (UTC)</td>" >> ./test_simulator_results.html
+    echo "        <td>TEMPLATE_BUILD_TIME</td>" >> ./test_simulator_results.html
     echo "      </tr>" >> ./test_simulator_results.html
     echo "      <tr>" >> ./test_simulator_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Target Branch</td>" >> ./test_simulator_results.html
-    echo "        <td>$TARGET_BRANCH</td>" >> ./test_simulator_results.html
+    echo "        <td bgcolor = \"lightcyan\" >GIT Repository</td>" >> ./test_simulator_results.html
+    echo "        <td><a href=\"$GIT_URL\">$GIT_URL</a></td>" >> ./test_simulator_results.html
     echo "      </tr>" >> ./test_simulator_results.html
     echo "      <tr>" >> ./test_simulator_results.html
-    echo "        <td bgcolor = \"lightcyan\" >Target Commit ID</td>" >> ./test_simulator_results.html
-    echo "        <td>$TARGET_COMMIT_ID</td>" >> ./test_simulator_results.html
+    echo "        <td bgcolor = \"lightcyan\" >Job Trigger</td>" >> ./test_simulator_results.html
+    if [ $PU_TRIG -eq 1 ]; then echo "        <td>Push Event</td>" >> ./test_simulator_results.html; fi
+    if [ $MR_TRIG -eq 1 ]; then echo "        <td>Merge-Request</td>" >> ./test_simulator_results.html; fi
     echo "      </tr>" >> ./test_simulator_results.html
-fi
-echo "   </table>" >> ./test_simulator_results.html
-echo "   <h2>Test Summary</h2>" >> ./test_simulator_results.html
+    if [ $PU_TRIG -eq 1 ]
+    then
+        echo "      <tr>" >> ./test_simulator_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Branch</td>" >> ./test_simulator_results.html
+        echo "        <td>$SOURCE_BRANCH</td>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
+        echo "      <tr>" >> ./test_simulator_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Commit ID</td>" >> ./test_simulator_results.html
+        echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
+    fi
+    if [ $MR_TRIG -eq 1 ]
+    then
+        echo "      <tr>" >> ./test_simulator_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Source Branch</td>" >> ./test_simulator_results.html
+        echo "        <td>$SOURCE_BRANCH</td>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
+        echo "      <tr>" >> ./test_simulator_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Source Commit ID</td>" >> ./test_simulator_results.html
+        echo "        <td>$SOURCE_COMMIT_ID</td>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
+        echo "      <tr>" >> ./test_simulator_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Target Branch</td>" >> ./test_simulator_results.html
+        echo "        <td>$TARGET_BRANCH</td>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
+        echo "      <tr>" >> ./test_simulator_results.html
+        echo "        <td bgcolor = \"lightcyan\" >Target Commit ID</td>" >> ./test_simulator_results.html
+        echo "        <td>$TARGET_COMMIT_ID</td>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
+    fi
+    echo "   </table>" >> ./test_simulator_results.html
+    echo "   <h2>Test Summary</h2>" >> ./test_simulator_results.html
 
-ARCHIVES_LOC=archives/basic_sim/test
-if [ -d $ARCHIVES_LOC ]
-then
-    echo "   <h3>Basic Simulator Check</h3>" >> ./test_simulator_results.html
+    ARCHIVES_LOC=archives/basic_sim/test
+    if [ -d $ARCHIVES_LOC ]
+    then
+        echo "   <h3>Basic Simulator Check</h3>" >> ./test_simulator_results.html
 
-    echo "   <table border = \"1\">" >> ./test_simulator_results.html
-    echo "      <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
-    echo "        <th>Log File Name</th>" >> ./test_simulator_results.html
-    echo "        <th>Command</th>" >> ./test_simulator_results.html
-    echo "        <th>Status</th>" >> ./test_simulator_results.html
-    echo "        <th>Statistics</th>" >> ./test_simulator_results.html
-    echo "      </tr>" >> ./test_simulator_results.html
+        echo "   <table border = \"1\">" >> ./test_simulator_results.html
+        echo "      <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
+        echo "        <th>Log File Name</th>" >> ./test_simulator_results.html
+        echo "        <th>Command</th>" >> ./test_simulator_results.html
+        echo "        <th>Status</th>" >> ./test_simulator_results.html
+        echo "        <th>Statistics</th>" >> ./test_simulator_results.html
+        echo "      </tr>" >> ./test_simulator_results.html
 
-    TRANS_MODES=("fdd" "tdd")
-    BW_CASES=(05 10 20)
-    for TMODE in ${TRANS_MODES[@]}
-    do
-        for BW in ${BW_CASES[@]}
+        TRANS_MODES=("fdd" "tdd")
+        BW_CASES=(05 10 20)
+        for TMODE in ${TRANS_MODES[@]}
         do
-            ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_enb.log
-            UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
-            if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
-            then
-                NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
-                NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
-                echo "      <tr>" >> ./test_simulator_results.html
-                echo "        <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
-                echo "        <td>N/A</td>" >> ./test_simulator_results.html
-                NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
-                NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
-                NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
-                if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
-                then
-                    echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
-                else
-                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
-                fi
-                echo "        <td><pre>" >> ./test_simulator_results.html
-                if [ $NB_ENB_GOT_SYNC -eq 1 ]
-                then
-                    echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
-                else
-                    echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
-                fi
-                if [ $NB_UE_GOT_SYNC -eq 2 ]
-                then
-                    echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
-                else
-                    echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
-                fi
-                if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
-                then
-                    echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
-                else
-                    echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
-                fi
-                NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
-                if [ $NB_SEGFAULT_ENB -ne 0 ]
-                then
-                    echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
-                fi
-                NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
-                if [ $NB_SEGFAULT_UE -ne 0 ]
-                then
-                    echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
-                fi
-                NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
-                if [ $NB_ASSERTION_ENB -ne 0 ]
-                then
-                    echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
-                    awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
-                fi
-                NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
-                if [ $NB_ASSERTION_UE -ne 0 ]
-                then
-                    echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
-                    awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
-                fi
-                echo "        </pre></td>" >> ./test_simulator_results.html
-                echo "      </tr>" >> ./test_simulator_results.html
-            fi
-            PING_CASE=$ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt
-            if [ -f $PING_CASE ]
-            then
-                echo "      <tr>" >> ./test_simulator_results.html
-                NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
-                echo "        <td>$NAME</td>" >> ./test_simulator_results.html
-                CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
-                echo "        <td>$CMD</td>" >> ./test_simulator_results.html
-                FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
-                if [ $FILE_COMPLETE -eq 0 ]
+            for BW in ${BW_CASES[@]}
+            do
+                ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_enb.log
+                UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
+                if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
                 then
-                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                    NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
+                    NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
+                    echo "      <tr>" >> ./test_simulator_results.html
+                    echo "        <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
                     echo "        <td>N/A</td>" >> ./test_simulator_results.html
-                else
-                    NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
-                    NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
-                    if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
+                    NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
+                    NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
+                    NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
+                    if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
                     then
                         echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
                     else
                         echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
                     fi
-                    echo "        <td>" >> ./test_simulator_results.html
-                    echo "            <pre>" >> ./test_simulator_results.html
-                    STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
-                    echo "Packet Loss : $STATS" >> ./test_simulator_results.html
-                    RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
-                    echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
-                    RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
-                    echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
-                    RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
-                    echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
-                    echo "            </pre>" >> ./test_simulator_results.html
-                    echo "        </td>" >> ./test_simulator_results.html
-                fi
-                echo "      </tr>" >> ./test_simulator_results.html
-            fi
-    
-            if [ -f $ARCHIVES_LOC/${TMODE}_${BW}*iperf*dl*client*txt ]
-            then
-                IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt`
-            else
-                echo "There are no iperf files"
-                IPERF_TESTS=""
-            fi
-            for IPERF_CASE in $IPERF_TESTS
-            do
-                echo "      <tr>" >> ./test_simulator_results.html
-                NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
-                echo "        <td>$NAME</td>" >> ./test_simulator_results.html
-                CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
-                echo "        <td>$CMD</td>" >> ./test_simulator_results.html
-                REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
-                if [[ $REQ_BITRATE =~ .*K.* ]]
-                then
-                    REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
-                    FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
-                fi
-                if [[ $REQ_BITRATE =~ .*M.* ]]
-                then
-                    REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
-                    FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
+                    echo "        <td><pre>" >> ./test_simulator_results.html
+                    if [ $NB_ENB_GOT_SYNC -eq 1 ]
+                    then
+                        echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
+                    else
+                        echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
+                    fi
+                    if [ $NB_UE_GOT_SYNC -eq 2 ]
+                    then
+                        echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
+                    else
+                        echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
+                    fi
+                    if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
+                    then
+                        echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
+                    else
+                        echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
+                    fi
+                    NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
+                    if [ $NB_SEGFAULT_ENB -ne 0 ]
+                    then
+                        echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
+                    fi
+                    NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
+                    if [ $NB_SEGFAULT_UE -ne 0 ]
+                    then
+                        echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
+                    fi
+                    NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
+                    if [ $NB_ASSERTION_ENB -ne 0 ]
+                    then
+                        echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
+                        awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
+                    fi
+                    NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
+                    if [ $NB_ASSERTION_UE -ne 0 ]
+                    then
+                        echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
+                        awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
+                    fi
+                    echo "        </pre></td>" >> ./test_simulator_results.html
+                    echo "      </tr>" >> ./test_simulator_results.html
                 fi
-                if [[ $REQ_BITRATE =~ .*G.* ]]
+                PING_CASE=$ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt
+                if [ -f $PING_CASE ]
                 then
-                    REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
-                    FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
+                    echo "      <tr>" >> ./test_simulator_results.html
+                    NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+                    echo "        <td>$NAME</td>" >> ./test_simulator_results.html
+                    CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
+                    echo "        <td>$CMD</td>" >> ./test_simulator_results.html
+                    FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
+                    if [ $FILE_COMPLETE -eq 0 ]
+                    then
+                        echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                        echo "        <td>N/A</td>" >> ./test_simulator_results.html
+                    else
+                        NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
+                        NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
+                        if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
+                        then
+                            echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                        else
+                            echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                        fi
+                        echo "        <td>" >> ./test_simulator_results.html
+                        echo "            <pre>" >> ./test_simulator_results.html
+                        STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
+                        echo "Packet Loss : $STATS" >> ./test_simulator_results.html
+                        RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
+                        echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
+                        RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
+                        echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
+                        RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
+                        echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
+                        echo "            </pre>" >> ./test_simulator_results.html
+                        echo "        </td>" >> ./test_simulator_results.html
+                    fi
+                    echo "      </tr>" >> ./test_simulator_results.html
                 fi
-                FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
-                if [ $FILE_COMPLETE -eq 0 ]
+        
+                if [ -f $ARCHIVES_LOC/${TMODE}_${BW}*iperf*dl*client*txt ]
                 then
-                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
-                    SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
-                    FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
-                    EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
-                    PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
-                    JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
-                    PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
-                    PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
+                    IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt`
                 else
-                    EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
-                    if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
+                    echo "There are no iperf files"
+                    IPERF_TESTS=""
+                fi
+                for IPERF_CASE in $IPERF_TESTS
+                do
+                    echo "      <tr>" >> ./test_simulator_results.html
+                    NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+                    echo "        <td>$NAME</td>" >> ./test_simulator_results.html
+                    CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
+                    echo "        <td>$CMD</td>" >> ./test_simulator_results.html
+                    REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
+                    if [[ $REQ_BITRATE =~ .*K.* ]]
                     then
-                        EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
-                        FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
+                        REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
+                        FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
                     fi
-                    if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
+                    if [[ $REQ_BITRATE =~ .*M.* ]]
                     then
-                        EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
-                        FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
+                        REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
+                        FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
                     fi
-                    if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
+                    if [[ $REQ_BITRATE =~ .*G.* ]]
                     then
-                        EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
-                        FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
+                        REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
+                        FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
                     fi
-                    PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
-                    PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
-                    if [[ $PERF_INT -lt 90 ]]
+                    FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
+                    if [ $FILE_COMPLETE -eq 0 ]
                     then
                         echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                        SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
+                        FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
+                        EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
+                        PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
+                        JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
+                        PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
+                        PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
                     else
-                        echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                        EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+                        if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
+                        then
+                            EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
+                            FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
+                        fi
+                        if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
+                        then
+                            EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
+                            FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
+                        fi
+                        if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
+                        then
+                            EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
+                            FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
+                        fi
+                        PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
+                        PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
+                        if [[ $PERF_INT -lt 90 ]]
+                        then
+                            echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                        else
+                            echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                        fi
+                        EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+                        JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
+                        PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
                     fi
-                    EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
-                    JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
-                    PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
-                fi
-                echo "        <td>" >> ./test_simulator_results.html
-                echo "            <pre>" >> ./test_simulator_results.html
-                echo "Bitrate      : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
-                echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
-                echo "Jitter       : $JITTER" >> ./test_simulator_results.html
-                echo "Packet Loss  : $PACKETLOSS" >> ./test_simulator_results.html
-                echo "            </pre>" >> ./test_simulator_results.html
-                echo "        </td>" >> ./test_simulator_results.html
-                echo "      </tr>" >> ./test_simulator_results.html
+                    echo "        <td>" >> ./test_simulator_results.html
+                    echo "            <pre>" >> ./test_simulator_results.html
+                    echo "Bitrate      : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
+                    echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
+                    echo "Jitter       : $JITTER" >> ./test_simulator_results.html
+                    echo "Packet Loss  : $PACKETLOSS" >> ./test_simulator_results.html
+                    echo "            </pre>" >> ./test_simulator_results.html
+                    echo "        </td>" >> ./test_simulator_results.html
+                    echo "      </tr>" >> ./test_simulator_results.html
+                done
             done
         done
-    done
 
-    echo "   </table>" >> ./test_simulator_results.html
-fi
-
-ARCHIVES_LOC=archives/phy_sim/test
-if [ -d $ARCHIVES_LOC ]
-then
-    echo "   <h3>Physical Simulators Check</h3>" >> ./test_simulator_results.html
-
-    echo "   <table border = \"1\">" >> ./test_simulator_results.html
-    echo "      <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
-    echo "        <th>Log File Name</th>" >> ./test_simulator_results.html
-    echo "        <th>Nb Tests</th>" >> ./test_simulator_results.html
-    echo "        <th>Nb Errors</th>" >> ./test_simulator_results.html
-    echo "        <th>Nb Failures</th>" >> ./test_simulator_results.html
-    echo "        <th>Nb Failures</th>" >> ./test_simulator_results.html
-    echo "      </tr>" >> ./test_simulator_results.html
-
-    XML_TESTS=`ls $ARCHIVES_LOC/*xml`
-    for XML_FILE in $XML_TESTS
-    do
-        echo "      <tr>" >> ./test_simulator_results.html
-        NAME=`echo $XML_FILE | sed -e "s#$ARCHIVES_LOC/##"`
-        NB_TESTS=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*tests='##" -e "s#' *time=.*##"`
-        NB_ERRORS=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*errors='##" -e "s#' *failures=.*##"`
-        NB_FAILURES=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*failures='##" -e "s#' *hostname=.*##"`
-        NB_SKIPPED=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*skipped='##" -e "s#' *tests=.*##"`
-        if [ $NB_ERRORS -eq 0 ] && [ $NB_FAILURES -eq 0 ]
-        then
-            echo "        <td bgcolor = \"green\" >$NAME</td>" >> ./test_simulator_results.html
-        else
-            echo "        <td bgcolor = \"red\" >$NAME</td>" >> ./test_simulator_results.html
-        fi
-        echo "        <td>$NB_TESTS</td>" >> ./test_simulator_results.html
-        echo "        <td>$NB_ERRORS</td>" >> ./test_simulator_results.html
-        echo "        <td>$NB_FAILURES</td>" >> ./test_simulator_results.html
-        echo "        <td>$NB_SKIPPED</td>" >> ./test_simulator_results.html
-        echo "      </tr>" >> ./test_simulator_results.html
-    done
+        echo "   </table>" >> ./test_simulator_results.html
+    fi
 
-    echo "   </table>" >> ./test_simulator_results.html
+    ARCHIVES_LOC=archives/phy_sim/test
+    if [ -d $ARCHIVES_LOC ]
+    then
+        echo "   <h3>Physical Simulators Check</h3>" >> ./test_simulator_results.html
 
-    echo "   <h4>Details</h4>" >> ./test_simulator_results.html
-    for XML_FILE in $XML_TESTS
-    do
         echo "   <table border = \"1\">" >> ./test_simulator_results.html
         echo "      <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
-        echo "        <th>Test Name</th>" >> ./test_simulator_results.html
-        echo "        <th>Description</th>" >> ./test_simulator_results.html
-        echo "        <th>Result</th>" >> ./test_simulator_results.html
-        echo "        <th>Time</th>" >> ./test_simulator_results.html
+        echo "        <th>Log File Name</th>" >> ./test_simulator_results.html
+        echo "        <th>Nb Tests</th>" >> ./test_simulator_results.html
+        echo "        <th>Nb Errors</th>" >> ./test_simulator_results.html
+        echo "        <th>Nb Failures</th>" >> ./test_simulator_results.html
+        echo "        <th>Nb Failures</th>" >> ./test_simulator_results.html
         echo "      </tr>" >> ./test_simulator_results.html
-        TESTCASES_LIST=`sed -e "s# #@#g" $XML_FILE | grep testcase`
-        for TESTCASE in $TESTCASES_LIST
+
+        XML_TESTS=`ls $ARCHIVES_LOC/*xml`
+        for XML_FILE in $XML_TESTS
         do
             echo "      <tr>" >> ./test_simulator_results.html
-            NAME=`echo $TESTCASE | sed -e "s#^.*name='##" -e "s#'@description=.*##" | sed -e "s#@# #g"`
-            echo "          <td>$NAME</td>" >> ./test_simulator_results.html
-            DESC=`echo $TESTCASE | sed -e "s#^.*description='##" -e "s#'@Run_result=.*##" | sed -e "s#@# #g"`
-            echo "          <td>$DESC</td>" >> ./test_simulator_results.html
-            RESULT=`echo $TESTCASE | sed -e "s#^.*RESULT='##" -e "s#'.*##" | sed -e "s#@# #g"`
-            if [[ $RESULT =~ .*PASS.* ]]
+            NAME=`echo $XML_FILE | sed -e "s#$ARCHIVES_LOC/##"`
+            NB_TESTS=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*tests='##" -e "s#' *time=.*##"`
+            NB_ERRORS=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*errors='##" -e "s#' *failures=.*##"`
+            NB_FAILURES=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*failures='##" -e "s#' *hostname=.*##"`
+            NB_SKIPPED=`egrep "testsuite errors" $XML_FILE | sed -e "s#^.*skipped='##" -e "s#' *tests=.*##"`
+            if [ $NB_ERRORS -eq 0 ] && [ $NB_FAILURES -eq 0 ]
             then
-                echo "          <td bgcolor = \"green\" >$RESULT</td>" >> ./test_simulator_results.html
+                echo "        <td bgcolor = \"green\" >$NAME</td>" >> ./test_simulator_results.html
             else
-                echo "          <td bgcolor = \"red\" >$RESULT</td>" >> ./test_simulator_results.html
+                echo "        <td bgcolor = \"red\" >$NAME</td>" >> ./test_simulator_results.html
             fi
-            TIME=`echo $TESTCASE | sed -e "s#^.*time='##" -e "s#'@RESULT=.*##" | sed -e "s#@# #g"`
-            echo "          <td>$TIME</td>" >> ./test_simulator_results.html
+            echo "        <td>$NB_TESTS</td>" >> ./test_simulator_results.html
+            echo "        <td>$NB_ERRORS</td>" >> ./test_simulator_results.html
+            echo "        <td>$NB_FAILURES</td>" >> ./test_simulator_results.html
+            echo "        <td>$NB_SKIPPED</td>" >> ./test_simulator_results.html
             echo "      </tr>" >> ./test_simulator_results.html
         done
+
         echo "   </table>" >> ./test_simulator_results.html
-    done
-fi
 
-echo "</body>" >> ./test_simulator_results.html
-echo "</html>" >> ./test_simulator_results.html
+        echo "   <h4>Details</h4>" >> ./test_simulator_results.html
+        for XML_FILE in $XML_TESTS
+        do
+            echo "   <table border = \"1\">" >> ./test_simulator_results.html
+            echo "      <tr bgcolor = \"#33CCFF\" >" >> ./test_simulator_results.html
+            echo "        <th>Test Name</th>" >> ./test_simulator_results.html
+            echo "        <th>Description</th>" >> ./test_simulator_results.html
+            echo "        <th>Result</th>" >> ./test_simulator_results.html
+            echo "        <th>Time</th>" >> ./test_simulator_results.html
+            echo "      </tr>" >> ./test_simulator_results.html
+            PREV_SECTION=0
+            PREV_TIME_IN_SECS=0
+            TESTCASES_LIST=`sed -e "s# #@#g" $XML_FILE | grep testcase`
+            for TESTCASE in $TESTCASES_LIST
+            do
+                NAME=`echo $TESTCASE | sed -e "s#^.*name='##" -e "s#'@description=.*##" | sed -e "s#@# #g"`
+                SECTION=`echo $NAME | sed -e "s#\..*##"`
+                if [ $SECTION != $PREV_SECTION ]
+                then
+                    echo "      <tr bgcolor = \"#8FBC8F\" >" >> ./test_simulator_results.html
+                    echo "          <td align = \"center\" colspan = 4 >\"$SECTION\" series</td>" >> ./test_simulator_results.html
+                    echo "      </tr>" >> ./test_simulator_results.html
+                    PREV_SECTION=$SECTION
+                    PREV_TIME_IN_SECS=0
+                fi
+                DESC=`echo $TESTCASE | sed -e "s#^.*description='##" -e "s#'@Run_result=.*##" | sed -e "s#@# #g"`
+                RESULT=`echo $TESTCASE | sed -e "s#^.*RESULT='##" -e "s#'.*##" | sed -e "s#@# #g"`
+                TIME_IN_SECS=`echo $TESTCASE | sed -e "s#^.*time='##" -e "s#'@RESULT=.*##" | sed -e "s#@# #g" -e "s# s.*##"`
+                TIME=`echo "$TIME_IN_SECS - $PREV_TIME_IN_SECS" | bc -l | awk '{printf "%.2f s", $0}'`
+                PREV_TIME_IN_SECS=$TIME_IN_SECS
+                echo "      <tr>" >> ./test_simulator_results.html
+                echo "          <td>$NAME</td>" >> ./test_simulator_results.html
+                echo "          <td>$DESC</td>" >> ./test_simulator_results.html
+                if [[ $RESULT =~ .*PASS.* ]]
+                then
+                    echo "          <td bgcolor = \"green\" >$RESULT</td>" >> ./test_simulator_results.html
+                else
+                    SPLITTED_LINE=`echo -e $TESTCASE | sed -e "s#@#\n#g"`
+                    NB_RUNS=`echo -e "${SPLITTED_LINE}" | grep -v Run_result | egrep -c "Run_"`
+                    NB_FAILS=`echo -e "${SPLITTED_LINE}" | grep -v Run_result | egrep -c "=FAIL"`
+                    echo "          <td bgcolor = \"red\" >${RESULT} (${NB_FAILS}/${NB_RUNS})</td>" >> ./test_simulator_results.html
+                fi
+                echo "          <td>$TIME</td>" >> ./test_simulator_results.html
+                echo "      </tr>" >> ./test_simulator_results.html
+            done
+            echo "   </table>" >> ./test_simulator_results.html
+        done
+    fi
 
-exit 0
+    echo "</body>" >> ./test_simulator_results.html
+    echo "</html>" >> ./test_simulator_results.html
+}
diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh
index efdfcec3e09ac4572caee49ae28770b8a114a9c9..527fe48edb25655587bacbef98f669fb4c8938ab 100755
--- a/ci-scripts/runTestOnVM.sh
+++ b/ci-scripts/runTestOnVM.sh
@@ -20,15 +20,18 @@
 # *      contact@openairinterface.org
 # */
 
-function usage {
-    echo "OAI VM Test Run script"
+function run_test_usage {
+    echo "OAI CI VM script"
     echo "   Original Author: Raphael Defosseux"
+    echo "   Requirements:"
+    echo "     -- uvtool uvtool-libvirt apt-cacher"
+    echo "     -- xenial image already synced"
     echo "   Default:"
     echo "     -- eNB with USRP"
     echo ""
     echo "Usage:"
     echo "------"
-    echo "    runTestOnVM.sh [OPTIONS]"
+    echo "    oai-ci-vm-tool test [OPTIONS]"
     echo ""
     echo "Options:"
     echo "--------"
@@ -41,12 +44,7 @@ function usage {
     echo "    --workspace #### OR -ws ####"
     echo "    Specify the workspace."
     echo ""
-    echo "    --variant enb-usrp     OR -v1"
-    echo "    --variant basic-sim    OR -v2"
-    echo "    --variant phy-sim      OR -v3"
-    echo "    --variant cppcheck     OR -v4"
-    echo "    --variant enb-ethernet OR -v7"
-    echo "    --variant ue-ethernet  OR -v8"
+    variant_usage
     echo "    Specify the variant to build."
     echo ""
     echo "    --keep-vm-alive OR -k"
@@ -57,19 +55,6 @@ function usage {
     echo ""
 }
 
-function variant_usage {
-    echo "OAI VM Test Run script"
-    echo "   Original Author: Raphael Defosseux"
-    echo ""
-    echo "    --variant enb-usrp     OR -v1"
-    echo "    --variant basic-sim    OR -v2"
-    echo "    --variant phy-sim      OR -v3"
-    echo "    --variant cppcheck     OR -v4"
-    echo "    --variant enb-ethernet OR -v7"
-    echo "    --variant ue-ethernet  OR -v8"
-    echo ""
-}
-
 function start_basic_sim_enb {
     local LOC_VM_IP_ADDR=$2
     local LOC_EPC_IP_ADDR=$3
@@ -89,10 +74,13 @@ function start_basic_sim_enb {
     echo "echo \"grep N_RB_DL ci-$LOC_CONF_FILE\"" >> $1
     echo "grep N_RB_DL ci-$LOC_CONF_FILE | sed -e 's#N_RB_DL.*=#N_RB_DL =#'" >> $1
     echo "echo \"cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/\"" >> $1
+    echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/basic_simulator" >> $1
+    echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/" >> $1
     echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/" >> $1
     echo "echo \"ulimit -c unlimited && ./lte-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE\" > ./my-lte-softmodem-run.sh " >> $1
     echo "chmod 775 ./my-lte-softmodem-run.sh" >> $1
     echo "cat ./my-lte-softmodem-run.sh" >> $1
+    echo "if [ -e /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE ]; then sudo sudo rm -f /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE; fi" >> $1
     echo "sudo -E daemon --inherit --unsafe --name=enb_daemon --chdir=/home/ubuntu/tmp/cmake_targets/basic_simulator/enb -o /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE ./my-lte-softmodem-run.sh" >> $1
 
     ssh -o StrictHostKeyChecking=no ubuntu@$LOC_VM_IP_ADDR < $1
@@ -105,10 +93,12 @@ function start_basic_sim_ue {
     local LOC_NB_RBS=$4
     local LOC_FREQUENCY=$5
     echo "echo \"cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue\"" > $1
-    echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue" > $1
+    echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/basic_simulator/ue" >> $1
+    echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue" >> $1
     echo "echo \"./lte-uesoftmodem -C ${LOC_FREQUENCY}000000 -r $LOC_NB_RBS --ue-rxgain 140\" > ./my-lte-uesoftmodem-run.sh" >> $1
     echo "chmod 775 ./my-lte-uesoftmodem-run.sh" >> $1
     echo "cat ./my-lte-uesoftmodem-run.sh" >> $1
+    echo "if [ -e /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE ]; then sudo sudo rm -f /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE; fi" >> $1
     echo "sudo -E daemon --inherit --unsafe --name=ue_daemon --chdir=/home/ubuntu/tmp/cmake_targets/basic_simulator/ue -o /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE ./my-lte-uesoftmodem-run.sh" >> $1
 
     ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
@@ -296,736 +286,619 @@ function terminate_ltebox_epc {
     rm $1
 }
 
-if [ $# -lt 1 ] || [ $# -gt 9 ]
-then
-    echo "Syntax Error: not the correct number of arguments"
-    echo ""
-    usage
-    exit 1
-fi
-
-VM_TEMPLATE=ci-
-JOB_NAME=XX
-BUILD_ID=XX
-VM_NAME=ci-enb-usrp
-ARCHIVES_LOC=enb_usrp/test
-KEEP_VM_ALIVE=0
-RUN_OPTIONS="none"
-STATUS=0
-
-while [[ $# -gt 0 ]]
-do
-key="$1"
-
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -jn|--job-name)
-    JOB_NAME="$2"
-    shift
-    shift
-    ;;
-    -id|--build-id)
-    BUILD_ID="$2"
-    shift
-    shift
-    ;;
-    -ws|--workspace)
-    JENKINS_WKSP="$2"
-    shift
-    shift
-    ;;
-    -k|--keep-vm-alive)
-    KEEP_VM_ALIVE=1
-    shift
-    ;;
-    -v1)
-    VM_NAME=ci-enb-usrp
-    shift
-    ;;
-    -v2)
-    VM_NAME=ci-basic-sim
-    RUN_OPTIONS="complex"
-    ARCHIVES_LOC=basic_sim/test
-    shift
-    ;;
-    -v3)
-    VM_NAME=ci-phy-sim
-    RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
-    ARCHIVES_LOC=phy_sim/test
-    shift
-    ;;
-    -v4)
-    VM_NAME=ci-cppcheck
-    shift
-    ;;
-    -v7)
-    VM_NAME=ci-enb-ethernet
-    shift
-    ;;
-    -v8)
-    VM_NAME=ci-ue-ethernet
-    shift
-    ;;
-    --variant)
-    variant="$2"
-    case $variant in
-        enb-usrp)
-        VM_NAME=ci-enb-usrp
-        ;;
-        basic-sim)
-        VM_NAME=ci-basic-sim
-        RUN_OPTIONS="complex"
-        ARCHIVES_LOC=basic_sim/test
-        ;;
-        phy-sim)
-        VM_NAME=ci-phy-sim
-        RUN_OPTIONS="./run_exec_autotests.bash -g \"01510*\" -q -np -b"
-        ARCHIVES_LOC=phy_sim/test
-        ;;
-        cppcheck)
-        VM_NAME=ci-cppcheck
-        ;;
-        enb-ethernet)
-        VM_NAME=ci-enb-ethernet
-        ;;
-        ue-ethernet)
-        VM_NAME=ci-ue-ethernet
-        ;;
-        *)
-        echo ""
-        echo "Syntax Error: Invalid Variant option -> $variant"
-        echo ""
-        variant_usage
-        exit 1
-    esac
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-esac
-done
-
-if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
-then
-    VM_TEMPLATE=ci-
-else
-    VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
-fi
-
-VM_NAME=`echo $VM_NAME | sed -e "s#ci-#$VM_TEMPLATE#"`
-VM_CMDS=${VM_NAME}_cmds.txt
-ARCHIVES_LOC=${JENKINS_WKSP}/archives/${ARCHIVES_LOC}
-
-echo "VM_NAME             = $VM_NAME"
-echo "VM_CMD_FILE         = $VM_CMDS"
-echo "JENKINS_WKSP        = $JENKINS_WKSP"
-echo "ARCHIVES_LOC        = $ARCHIVES_LOC"
-
-echo "############################################################"
-echo "Waiting for VM to be started"
-echo "############################################################"
-uvt-kvm wait $VM_NAME --insecure
-
-VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
-echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
-
-if [ "$RUN_OPTIONS" == "none" ]
-then
-    echo "No run on VM testing for this variant currently"
-    exit $STATUS
-fi
-
-if [[ $RUN_OPTIONS =~ .*run_exec_autotests.* ]]
-then
+function run_test_on_vm {
     echo "############################################################"
-    echo "Running test script on VM ($VM_NAME)"
+    echo "OAI CI VM script"
     echo "############################################################"
-    echo "echo \"sudo apt-get --yes --quiet install bc \"" > $VM_CMDS
-    echo "sudo apt-get update > bc-install.txt 2>&1" >> $VM_CMDS
-    echo "sudo apt-get --yes install bc >> bc-install.txt 2>&1" >> $VM_CMDS
-    echo "cd tmp" >> $VM_CMDS
-    echo "echo \"source oaienv\"" >> $VM_CMDS
-    echo "source oaienv" >> $VM_CMDS
-    echo "echo \"cd cmake_targets/autotests\"" >> $VM_CMDS
-    echo "cd cmake_targets/autotests" >> $VM_CMDS
-    echo "echo \"rm -Rf log\"" >> $VM_CMDS
-    echo "rm -Rf log" >> $VM_CMDS
-    echo "$RUN_OPTIONS" | sed -e 's@"@\\"@g' -e 's@^@echo "@' -e 's@$@"@' >> $VM_CMDS
-    echo "$RUN_OPTIONS" >> $VM_CMDS
-    echo "cp /home/ubuntu/bc-install.txt log" >> $VM_CMDS
-    echo "cd log" >> $VM_CMDS
-    echo "zip -r -qq tmp.zip *.* 0*" >> $VM_CMDS
-
-    ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
+    echo "VM_NAME             = $VM_NAME"
+    echo "VM_CMD_FILE         = $VM_CMDS"
+    echo "JENKINS_WKSP        = $JENKINS_WKSP"
+    echo "ARCHIVES_LOC        = $ARCHIVES_LOC"
 
     echo "############################################################"
-    echo "Creating a tmp folder to store results and artifacts"
+    echo "Waiting for VM to be started"
     echo "############################################################"
+    uvt-kvm wait $VM_NAME --insecure
 
-    if [ -d $ARCHIVES_LOC ]
-    then
-        rm -Rf $ARCHIVES_LOC
-    fi
-    mkdir --parents $ARCHIVES_LOC
+    VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
+    echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
 
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/autotests/log/tmp.zip $ARCHIVES_LOC
-    pushd $ARCHIVES_LOC
-    unzip -qq -DD tmp.zip
-    rm tmp.zip
-    if [ -f results_autotests.xml ]
+    if [ "$RUN_OPTIONS" == "none" ]
     then
-        FUNCTION=`echo $VM_NAME | sed -e "s@$VM_TEMPLATE@@"`
-        NEW_NAME=`echo "results_autotests.xml" | sed -e "s@results_autotests@results_autotests-$FUNCTION@"`
-        echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $NEW_NAME
-        echo "<?xml-stylesheet type=\"text/xsl\" href=\"$FUNCTION.xsl\" ?>" >> $NEW_NAME
-        cat results_autotests.xml >> $NEW_NAME
-        sed -e "s@TEMPLATE@$FUNCTION@" $JENKINS_WKSP/ci-scripts/template.xsl > $FUNCTION.xsl
-        #mv results_autotests.xml $NEW_NAME
-        rm results_autotests.xml
+        echo "No run on VM testing for this variant currently"
+        exit $STATUS
     fi
-    popd
 
-    if [ $KEEP_VM_ALIVE -eq 0 ]
+    if [[ $RUN_OPTIONS =~ .*run_exec_autotests.* ]]
     then
         echo "############################################################"
-        echo "Destroying VM"
+        echo "Running test script on VM ($VM_NAME)"
         echo "############################################################"
-        uvt-kvm destroy $VM_NAME
-        ssh-keygen -R $VM_IP_ADDR
-    fi
-    rm -f $VM_CMDS
-
-    echo "############################################################"
-    echo "Checking run status"
-    echo "############################################################"
-
-    LOG_FILES=`ls $ARCHIVES_LOC/results_autotests*.xml`
-    NB_FOUND_FILES=0
-    NB_RUNS=0
-    NB_FAILURES=0
-
-    for FULLFILE in $LOG_FILES
-    do
-        TESTSUITES=`egrep "testsuite errors" $FULLFILE`
-        for TESTSUITE in $TESTSUITES
-        do
-            if [[ "$TESTSUITE" == *"tests="* ]]
-            then
-                RUNS=`echo $TESTSUITE | awk 'BEGIN{FS="="}{print $2}END{}' | sed -e "s@'@@g" `
-                NB_RUNS=$((NB_RUNS + RUNS))
-            fi
-            if [[ "$TESTSUITE" == *"failures="* ]]
-            then
-                FAILS=`echo $TESTSUITE | awk 'BEGIN{FS="="}{print $2}END{}' | sed -e "s@'@@g" `
-                NB_FAILURES=$((NB_FAILURES + FAILS))
-            fi
-        done
-        NB_FOUND_FILES=$((NB_FOUND_FILES + 1))
-    done
-
-    echo "NB_FOUND_FILES = $NB_FOUND_FILES"
-    echo "NB_RUNS        = $NB_RUNS"
-    echo "NB_FAILURES    = $NB_FAILURES"
+        echo "echo \"sudo apt-get --yes --quiet install bc \"" > $VM_CMDS
+        echo "sudo apt-get update > bc-install.txt 2>&1" >> $VM_CMDS
+        echo "sudo apt-get --yes install bc >> bc-install.txt 2>&1" >> $VM_CMDS
+        echo "cd tmp" >> $VM_CMDS
+        echo "echo \"source oaienv\"" >> $VM_CMDS
+        echo "source oaienv" >> $VM_CMDS
+        echo "echo \"cd cmake_targets/autotests\"" >> $VM_CMDS
+        echo "cd cmake_targets/autotests" >> $VM_CMDS
+        echo "echo \"rm -Rf log\"" >> $VM_CMDS
+        echo "rm -Rf log" >> $VM_CMDS
+        echo "$RUN_OPTIONS" | sed -e 's@"@\\"@g' -e 's@^@echo "@' -e 's@$@"@' >> $VM_CMDS
+        echo "$RUN_OPTIONS" >> $VM_CMDS
+        echo "cp /home/ubuntu/bc-install.txt log" >> $VM_CMDS
+        echo "cd log" >> $VM_CMDS
+        echo "zip -r -qq tmp.zip *.* 0*" >> $VM_CMDS
+
+        ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
 
-    if [ $NB_FOUND_FILES -eq 0 ]; then STATUS=-1; fi
-    if [ $NB_RUNS -eq 0 ]; then STATUS=-1; fi
-    if [ $NB_FAILURES -ne 0 ]; then STATUS=-1; fi
+        echo "############################################################"
+        echo "Creating a tmp folder to store results and artifacts"
+        echo "############################################################"
 
-fi
+        if [ -d $ARCHIVES_LOC ]
+        then
+            rm -Rf $ARCHIVES_LOC
+        fi
+        mkdir --parents $ARCHIVES_LOC
 
-if [[ "$RUN_OPTIONS" == "complex" ]] && [[ $VM_NAME =~ .*-basic-sim.* ]]
-then
-    PING_STATUS=0
-    IPERF_STATUS=0
-    if [ -d $ARCHIVES_LOC ]
-    then
-        rm -Rf $ARCHIVES_LOC
-    fi
-    mkdir --parents $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/autotests/log/tmp.zip $ARCHIVES_LOC
+        pushd $ARCHIVES_LOC
+        unzip -qq -DD tmp.zip
+        rm tmp.zip
+        if [ -f results_autotests.xml ]
+        then
+            FUNCTION=`echo $VM_NAME | sed -e "s@$VM_TEMPLATE@@"`
+            NEW_NAME=`echo "results_autotests.xml" | sed -e "s@results_autotests@results_autotests-$FUNCTION@"`
+            echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $NEW_NAME
+            echo "<?xml-stylesheet type=\"text/xsl\" href=\"$FUNCTION.xsl\" ?>" >> $NEW_NAME
+            cat results_autotests.xml >> $NEW_NAME
+            sed -e "s@TEMPLATE@$FUNCTION@" $JENKINS_WKSP/ci-scripts/template.xsl > $FUNCTION.xsl
+            #mv results_autotests.xml $NEW_NAME
+            rm results_autotests.xml
+        fi
+        popd
 
-    EPC_VM_NAME=`echo $VM_NAME | sed -e "s#basic-sim#epc#"`
-    LTEBOX=0
-    if [ -d /opt/ltebox-archives/ ]
-    then
-        # Checking if all ltebox archives are available to run ltebx epc on a brand new VM
-        if [ -f /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ] && [ -f /opt/ltebox-archives/etc-conf.zip ] && [ -f /opt/ltebox-archives/hss-sim.zip ]
+        if [ $KEEP_VM_ALIVE -eq 0 ]
         then
             echo "############################################################"
-            echo "Test EPC on VM ($EPC_VM_NAME) will be using ltebox"
+            echo "Destroying VM"
             echo "############################################################"
-            LTEBOX=1
+            uvt-kvm destroy $VM_NAME
+            ssh-keygen -R $VM_IP_ADDR
         fi
-    fi
-    # Here we could have other types of EPC detection
+        rm -f $VM_CMDS
 
-    # Do we need to start the EPC VM
-    EPC_VM_CMDS=`echo $VM_CMDS | sed -e "s#cmds#epc-cmds#"`
-    echo "EPC_VM_CMD_FILE     = $EPC_VM_CMDS"
-    IS_EPC_VM_ALIVE=`uvt-kvm list | grep -c $EPC_VM_NAME`
-    if [ $IS_EPC_VM_ALIVE -eq 0 ]
-    then
         echo "############################################################"
-        echo "Creating test EPC VM ($EPC_VM_NAME) on Ubuntu Cloud Image base"
+        echo "Checking run status"
         echo "############################################################"
-        uvt-kvm create $EPC_VM_NAME release=xenial --unsafe-caching
-    fi
 
-    uvt-kvm wait $EPC_VM_NAME --insecure
-    EPC_VM_IP_ADDR=`uvt-kvm ip $EPC_VM_NAME`
-    echo "$EPC_VM_NAME has for IP addr = $EPC_VM_IP_ADDR"
-    scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+        LOG_FILES=`ls $ARCHIVES_LOC/results_autotests*.xml`
+        NB_FOUND_FILES=0
+        NB_RUNS=0
+        NB_FAILURES=0
 
-    # ltebox specific actions (install and start)
-    LTE_BOX_TO_INSTALL=1
-    if [ $LTEBOX -eq 1 ]
-    then
-        echo "ls -ls /opt/ltebox/tools/start_ltebox" > $EPC_VM_CMDS
-        RESPONSE=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
-        NB_EXES=`echo $RESPONSE | grep -c ltebox`
-        if [ $NB_EXES -eq 1 ]; then LTE_BOX_TO_INSTALL=0; fi
-    fi
+        for FULLFILE in $LOG_FILES
+        do
+            TESTSUITES=`egrep "testsuite errors" $FULLFILE`
+            for TESTSUITE in $TESTSUITES
+            do
+                if [[ "$TESTSUITE" == *"tests="* ]]
+                then
+                    RUNS=`echo $TESTSUITE | awk 'BEGIN{FS="="}{print $2}END{}' | sed -e "s@'@@g" `
+                    NB_RUNS=$((NB_RUNS + RUNS))
+                fi
+                if [[ "$TESTSUITE" == *"failures="* ]]
+                then
+                    FAILS=`echo $TESTSUITE | awk 'BEGIN{FS="="}{print $2}END{}' | sed -e "s@'@@g" `
+                    NB_FAILURES=$((NB_FAILURES + FAILS))
+                fi
+            done
+            NB_FOUND_FILES=$((NB_FOUND_FILES + 1))
+        done
+
+        echo "NB_FOUND_FILES = $NB_FOUND_FILES"
+        echo "NB_RUNS        = $NB_RUNS"
+        echo "NB_FAILURES    = $NB_FAILURES"
+
+        if [ $NB_FOUND_FILES -eq 0 ]; then STATUS=-1; fi
+        if [ $NB_RUNS -eq 0 ]; then STATUS=-1; fi
+        if [ $NB_FAILURES -ne 0 ]; then STATUS=-1; fi
 
-    if [ $LTEBOX -eq 1 ] && [ $LTE_BOX_TO_INSTALL -eq 1 ]
-    then
-        echo "############################################################"
-        echo "Copying ltebox archives into EPC VM ($EPC_VM_NAME)" 
-        echo "############################################################"
-        scp -o StrictHostKeyChecking=no /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
-        scp -o StrictHostKeyChecking=no /opt/ltebox-archives/etc-conf.zip ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
-        scp -o StrictHostKeyChecking=no /opt/ltebox-archives/hss-sim.zip ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
-
-        echo "############################################################"
-        echo "Install EPC on EPC VM ($EPC_VM_NAME)"
-        echo "############################################################"
-        echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $EPC_VM_CMDS
-        echo "touch /home/ubuntu/.hushlogin" >> $EPC_VM_CMDS
-        echo "echo \"sudo apt-get --yes --quiet install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf\"" >> $EPC_VM_CMDS
-        echo "sudo apt-get update > zip-install.txt 2>&1" >> $EPC_VM_CMDS
-        echo "sudo apt-get --yes install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf >> zip-install.txt 2>&1" >> $EPC_VM_CMDS
-
-        # Installing HSS
-        echo "echo \"cd /opt\"" >> $EPC_VM_CMDS
-        echo "cd /opt" >> $EPC_VM_CMDS
-        echo "echo \"sudo unzip -qq /home/ubuntu/hss-sim.zip\"" >> $EPC_VM_CMDS
-        echo "sudo unzip -qq /home/ubuntu/hss-sim.zip" >> $EPC_VM_CMDS
-        echo "echo \"cd /opt/hss_sim0609\"" >> $EPC_VM_CMDS
-        echo "cd /opt/hss_sim0609" >> $EPC_VM_CMDS
-
-        # Installing ltebox
-        echo "echo \"cd /home/ubuntu\"" >> $EPC_VM_CMDS
-        echo "cd /home/ubuntu" >> $EPC_VM_CMDS
-        echo "echo \"sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb \"" >> $EPC_VM_CMDS
-        echo "sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb >> zip-install.txt 2>&1" >> $EPC_VM_CMDS
-
-        echo "echo \"cd /opt/ltebox/etc/\"" >> $EPC_VM_CMDS
-        echo "cd /opt/ltebox/etc/" >> $EPC_VM_CMDS
-        echo "echo \"sudo unzip -qq -o /home/ubuntu/etc-conf.zip\"" >> $EPC_VM_CMDS
-        echo "sudo unzip -qq -o /home/ubuntu/etc-conf.zip" >> $EPC_VM_CMDS
-        echo "sudo sed -i  -e 's#EPC_VM_IP_ADDRESS#$EPC_VM_IP_ADDR#' gw.conf" >> $EPC_VM_CMDS
-        echo "sudo sed -i  -e 's#EPC_VM_IP_ADDRESS#$EPC_VM_IP_ADDR#' mme.conf" >> $EPC_VM_CMDS
     fi
 
-    # Starting EPC
-    if [ $LTEBOX -eq 1 ]
+    if [[ "$RUN_OPTIONS" == "complex" ]] && [[ $VM_NAME =~ .*-basic-sim.* ]]
     then
-        echo "############################################################"
-        echo "Start EPC on EPC VM ($EPC_VM_NAME)"
-        echo "############################################################"
-        echo "echo \"cd /opt/hss_sim0609\"" >> $EPC_VM_CMDS
-        echo "cd /opt/hss_sim0609" >> $EPC_VM_CMDS
-        echo "echo \"sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real\"" >> $EPC_VM_CMDS
-        echo "sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real" >> $EPC_VM_CMDS
+        PING_STATUS=0
+        IPERF_STATUS=0
+        if [ -d $ARCHIVES_LOC ]
+        then
+            rm -Rf $ARCHIVES_LOC
+        fi
+        mkdir --parents $ARCHIVES_LOC
 
-        echo "echo \"cd /opt/ltebox/tools/\"" >> $EPC_VM_CMDS
-        echo "cd /opt/ltebox/tools/" >> $EPC_VM_CMDS
-        echo "echo \"sudo ./start_ltebox\"" >> $EPC_VM_CMDS
-        echo "nohup sudo ./start_ltebox > /home/ubuntu/ltebox.txt" >> $EPC_VM_CMDS
+        EPC_VM_NAME=`echo $VM_NAME | sed -e "s#basic-sim#epc#"`
+        LTEBOX=0
+        if [ -d /opt/ltebox-archives/ ]
+        then
+            # Checking if all ltebox archives are available to run ltebx epc on a brand new VM
+            if [ -f /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ] && [ -f /opt/ltebox-archives/etc-conf.zip ] && [ -f /opt/ltebox-archives/hss-sim.zip ]
+            then
+                echo "############################################################"
+                echo "Test EPC on VM ($EPC_VM_NAME) will be using ltebox"
+                echo "############################################################"
+                LTEBOX=1
+            fi
+        fi
+        # Here we could have other types of EPC detection
 
-        ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS
-        rm -f $EPC_VM_CMDS
+        # Do we need to start the EPC VM
+        EPC_VM_CMDS=`echo $VM_CMDS | sed -e "s#cmds#epc-cmds#"`
+        echo "EPC_VM_CMD_FILE     = $EPC_VM_CMDS"
+        IS_EPC_VM_ALIVE=`uvt-kvm list | grep -c $EPC_VM_NAME`
+        if [ $IS_EPC_VM_ALIVE -eq 0 ]
+        then
+            echo "############################################################"
+            echo "Creating test EPC VM ($EPC_VM_NAME) on Ubuntu Cloud Image base"
+            echo "############################################################"
+            uvt-kvm create $EPC_VM_NAME release=xenial --unsafe-caching
+        fi
 
-        # We may have some adaptation to do
-        if [ -f /opt/ltebox-archives/adapt_ue_sim.txt ]
+        uvt-kvm wait $EPC_VM_NAME --insecure
+        EPC_VM_IP_ADDR=`uvt-kvm ip $EPC_VM_NAME`
+        echo "$EPC_VM_NAME has for IP addr = $EPC_VM_IP_ADDR"
+        scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+
+        # ltebox specific actions (install and start)
+        LTE_BOX_TO_INSTALL=1
+        if [ $LTEBOX -eq 1 ]
+        then
+            echo "ls -ls /opt/ltebox/tools/start_ltebox" > $EPC_VM_CMDS
+            RESPONSE=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
+            NB_EXES=`echo $RESPONSE | grep -c ltebox`
+            if [ $NB_EXES -eq 1 ]; then LTE_BOX_TO_INSTALL=0; fi
+        fi
+
+        if [ $LTEBOX -eq 1 ] && [ $LTE_BOX_TO_INSTALL -eq 1 ]
         then
             echo "############################################################"
-            echo "Doing some adaptation on UE side"
+            echo "Copying ltebox archives into EPC VM ($EPC_VM_NAME)" 
+            echo "############################################################"
+            scp -o StrictHostKeyChecking=no /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+            scp -o StrictHostKeyChecking=no /opt/ltebox-archives/etc-conf.zip ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+            scp -o StrictHostKeyChecking=no /opt/ltebox-archives/hss-sim.zip ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+
+            echo "############################################################"
+            echo "Install EPC on EPC VM ($EPC_VM_NAME)"
             echo "############################################################"
-            ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < /opt/ltebox-archives/adapt_ue_sim.txt
+            echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $EPC_VM_CMDS
+            echo "touch /home/ubuntu/.hushlogin" >> $EPC_VM_CMDS
+            echo "echo \"sudo apt-get --yes --quiet install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf\"" >> $EPC_VM_CMDS
+            echo "sudo apt-get update > zip-install.txt 2>&1" >> $EPC_VM_CMDS
+            echo "sudo apt-get --yes install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf >> zip-install.txt 2>&1" >> $EPC_VM_CMDS
+
+            # Installing HSS
+            echo "echo \"cd /opt\"" >> $EPC_VM_CMDS
+            echo "cd /opt" >> $EPC_VM_CMDS
+            echo "echo \"sudo unzip -qq /home/ubuntu/hss-sim.zip\"" >> $EPC_VM_CMDS
+            echo "sudo unzip -qq /home/ubuntu/hss-sim.zip" >> $EPC_VM_CMDS
+            echo "echo \"cd /opt/hss_sim0609\"" >> $EPC_VM_CMDS
+            echo "cd /opt/hss_sim0609" >> $EPC_VM_CMDS
+
+            # Installing ltebox
+            echo "echo \"cd /home/ubuntu\"" >> $EPC_VM_CMDS
+            echo "cd /home/ubuntu" >> $EPC_VM_CMDS
+            echo "echo \"sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb \"" >> $EPC_VM_CMDS
+            echo "sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb >> zip-install.txt 2>&1" >> $EPC_VM_CMDS
+
+            echo "echo \"cd /opt/ltebox/etc/\"" >> $EPC_VM_CMDS
+            echo "cd /opt/ltebox/etc/" >> $EPC_VM_CMDS
+            echo "echo \"sudo unzip -qq -o /home/ubuntu/etc-conf.zip\"" >> $EPC_VM_CMDS
+            echo "sudo unzip -qq -o /home/ubuntu/etc-conf.zip" >> $EPC_VM_CMDS
+            echo "sudo sed -i  -e 's#EPC_VM_IP_ADDRESS#$EPC_VM_IP_ADDR#' gw.conf" >> $EPC_VM_CMDS
+            echo "sudo sed -i  -e 's#EPC_VM_IP_ADDRESS#$EPC_VM_IP_ADDR#' mme.conf" >> $EPC_VM_CMDS
         fi
 
-        i="0"
-        echo "ifconfig tun5 | egrep -c \"inet addr\"" > $EPC_VM_CMDS
-        while [ $i -lt 10 ]
-        do
-            sleep 2
-            CONNECTED=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
-            if [ $CONNECTED -eq 1 ]
+        # Starting EPC
+        if [ $LTEBOX -eq 1 ]
+        then
+            echo "############################################################"
+            echo "Start EPC on EPC VM ($EPC_VM_NAME)"
+            echo "############################################################"
+            echo "echo \"cd /opt/hss_sim0609\"" >> $EPC_VM_CMDS
+            echo "cd /opt/hss_sim0609" >> $EPC_VM_CMDS
+            echo "echo \"sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real\"" >> $EPC_VM_CMDS
+            echo "sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real" >> $EPC_VM_CMDS
+
+            echo "echo \"cd /opt/ltebox/tools/\"" >> $EPC_VM_CMDS
+            echo "cd /opt/ltebox/tools/" >> $EPC_VM_CMDS
+            echo "echo \"sudo ./start_ltebox\"" >> $EPC_VM_CMDS
+            echo "nohup sudo ./start_ltebox > /home/ubuntu/ltebox.txt" >> $EPC_VM_CMDS
+
+            ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS
+            rm -f $EPC_VM_CMDS
+
+            # We may have some adaptation to do
+            if [ -f /opt/ltebox-archives/adapt_ue_sim.txt ]
             then
-                i="100"
-            else
-                i=$[$i+1]
+                echo "############################################################"
+                echo "Doing some adaptation on UE side"
+                echo "############################################################"
+                ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < /opt/ltebox-archives/adapt_ue_sim.txt
             fi
-        done
-        rm $EPC_VM_CMDS
-        if [ $i -lt 50 ]
+
+            i="0"
+            echo "ifconfig tun5 | egrep -c \"inet addr\"" > $EPC_VM_CMDS
+            while [ $i -lt 10 ]
+            do
+                sleep 2
+                CONNECTED=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
+                if [ $CONNECTED -eq 1 ]
+                then
+                    i="100"
+                else
+                    i=$[$i+1]
+                fi
+            done
+            rm $EPC_VM_CMDS
+            if [ $i -lt 50 ]
+            then
+                echo "Problem w/ starting ltebox EPC"
+                exit -1
+            fi
+        fi
+
+        # HERE ADD ANY INSTALL ACTIONS FOR ANOTHER EPC
+
+        # Retrieve EPC real IP address
+        if [ $LTEBOX -eq 1 ]
         then
-            echo "Problem w/ starting ltebox EPC"
+            # in our configuration file, we are using pool 5
+            echo "ifconfig tun5 | egrep \"inet addr\" | sed -e 's#^.*inet addr:##' -e 's#  P-t-P:.*\$##'" > $EPC_VM_CMDS
+            REAL_EPC_IP_ADDR=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
+            echo "EPC IP Address     is : $REAL_EPC_IP_ADDR"
+            rm $EPC_VM_CMDS
+        fi
+
+        echo "############################################################"
+        echo "Starting the eNB in FDD-5MHz mode"
+        echo "############################################################"
+        CURRENT_ENB_LOG_FILE=fdd_05MHz_enb.log
+        start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-fdd-basic-sim.conf
+
+        echo "############################################################"
+        echo "Starting the UE in FDD-5MHz mode"
+        echo "############################################################"
+        CURRENT_UE_LOG_FILE=fdd_05MHz_ue.log
+        start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2680
+        if [ $UE_SYNC -eq 0 ]
+        then
+            echo "Problem w/ eNB and UE not syncing"
+            terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+            recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
             exit -1
         fi
-    fi
+        get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
-    # HERE ADD ANY INSTALL ACTIONS FOR ANOTHER EPC
+        echo "############################################################"
+        echo "Pinging the UE"
+        echo "############################################################"
+        PING_LOG_FILE=fdd_05MHz_ping_ue.txt
+        ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+        check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
-    # Retrieve EPC real IP address
-    if [ $LTEBOX -eq 1 ]
-    then
-        # in our configuration file, we are using pool 5
-        echo "ifconfig tun5 | egrep \"inet addr\" | sed -e 's#^.*inet addr:##' -e 's#  P-t-P:.*\$##'" > $EPC_VM_CMDS
-        REAL_EPC_IP_ADDR=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
-        echo "EPC IP Address     is : $REAL_EPC_IP_ADDR"
-        rm $EPC_VM_CMDS
-    fi
+        echo "############################################################"
+        echo "Iperf DL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=fdd_05MHz_iperf_dl
+        iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
 
-    echo "############################################################"
-    echo "Starting the eNB in FDD-5MHz mode"
-    echo "############################################################"
-    CURRENT_ENB_LOG_FILE=fdd_05MHz_enb.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-fdd-basic-sim.conf
+        echo "############################################################"
+        echo "Iperf UL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=fdd_05MHz_iperf_ul
+        iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 2
 
-    echo "############################################################"
-    echo "Starting the UE in FDD-5MHz mode"
-    echo "############################################################"
-    CURRENT_UE_LOG_FILE=fdd_05MHz_ue.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2680
-    if [ $UE_SYNC -eq 0 ]
-    then
-        echo "Problem w/ eNB and UE not syncing"
+        echo "############################################################"
+        echo "Terminate enb/ue simulators"
+        echo "############################################################"
         terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
         recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-        exit -1
-    fi
-    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+        sleep 10
 
-    echo "############################################################"
-    echo "Pinging the UE"
-    echo "############################################################"
-    PING_LOG_FILE=fdd_05MHz_ping_ue.txt
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+        echo "############################################################"
+        echo "Starting the eNB in FDD-10MHz mode"
+        echo "############################################################"
+        CURRENT_ENB_LOG_FILE=fdd_10MHz_enb.log
+        start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50 lte-fdd-basic-sim.conf
 
-    echo "############################################################"
-    echo "Iperf DL"
-    echo "############################################################"
-    CURR_IPERF_LOG_BASE=fdd_05MHz_iperf_dl
-    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
+        echo "############################################################"
+        echo "Starting the UE in FDD-10MHz mode"
+        echo "############################################################"
+        CURRENT_UE_LOG_FILE=fdd_10MHz_ue.log
+        start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50 2680
+        if [ $UE_SYNC -eq 0 ]
+        then
+            echo "Problem w/ eNB and UE not syncing"
+            terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+            recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+            exit -1
+        fi
+        get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
-    echo "############################################################"
-    echo "Iperf UL"
-    echo "############################################################"
-    CURR_IPERF_LOG_BASE=fdd_05MHz_iperf_ul
-    iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 2
+        echo "############################################################"
+        echo "Pinging the UE"
+        echo "############################################################"
+        PING_LOG_FILE=fdd_10MHz_ping_ue.txt
+        ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+        check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
-    echo "############################################################"
-    echo "Terminate enb/ue simulators"
-    echo "############################################################"
-    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        echo "############################################################"
+        echo "Iperf DL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=fdd_10MHz_iperf_dl
+        iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
 
-    echo "############################################################"
-    echo "Starting the eNB in FDD-10MHz mode"
-    echo "############################################################"
-    CURRENT_ENB_LOG_FILE=fdd_10MHz_enb.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50 lte-fdd-basic-sim.conf
+        echo "############################################################"
+        echo "Iperf UL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=fdd_10MHz_iperf_ul
+        iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 2
 
-    echo "############################################################"
-    echo "Starting the UE in FDD-10MHz mode"
-    echo "############################################################"
-    CURRENT_UE_LOG_FILE=fdd_10MHz_ue.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50 2680
-    if [ $UE_SYNC -eq 0 ]
-    then
-        echo "Problem w/ eNB and UE not syncing"
+        echo "############################################################"
+        echo "Terminate enb/ue simulators"
+        echo "############################################################"
         terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
         recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-        exit -1
-    fi
-    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
-
-    echo "############################################################"
-    echo "Pinging the UE"
-    echo "############################################################"
-    PING_LOG_FILE=fdd_10MHz_ping_ue.txt
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+        sleep 10
 
-    echo "############################################################"
-    echo "Iperf DL"
-    echo "############################################################"
-    CURR_IPERF_LOG_BASE=fdd_10MHz_iperf_dl
-    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
+        echo "############################################################"
+        echo "Starting the eNB in FDD-20MHz mode"
+        echo "############################################################"
+        CURRENT_ENB_LOG_FILE=fdd_20MHz_enb.log
+        start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100 lte-fdd-basic-sim.conf
 
-    echo "############################################################"
-    echo "Iperf UL"
-    echo "############################################################"
-    CURR_IPERF_LOG_BASE=fdd_10MHz_iperf_ul
-    iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 2
+        echo "############################################################"
+        echo "Starting the UE in FDD-20MHz mode"
+        echo "############################################################"
+        CURRENT_UE_LOG_FILE=fdd_20MHz_ue.log
+        start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100 2680
+        if [ $UE_SYNC -eq 0 ]
+        then
+            echo "Problem w/ eNB and UE not syncing"
+            terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+            recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+            exit -1
+        fi
+        get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
-    echo "############################################################"
-    echo "Terminate enb/ue simulators"
-    echo "############################################################"
-    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        echo "############################################################"
+        echo "Pinging the UE"
+        echo "############################################################"
+        PING_LOG_FILE=fdd_20MHz_ping_ue.txt
+        ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+        check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
-    echo "############################################################"
-    echo "Starting the eNB in FDD-20MHz mode"
-    echo "############################################################"
-    CURRENT_ENB_LOG_FILE=fdd_20MHz_enb.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100 lte-fdd-basic-sim.conf
+        echo "############################################################"
+        echo "Iperf DL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=fdd_20MHz_iperf_dl
+        iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
 
-    echo "############################################################"
-    echo "Starting the UE in FDD-20MHz mode"
-    echo "############################################################"
-    CURRENT_UE_LOG_FILE=fdd_20MHz_ue.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100 2680
-    if [ $UE_SYNC -eq 0 ]
-    then
-        echo "Problem w/ eNB and UE not syncing"
+        echo "############################################################"
+        echo "Terminate enb/ue simulators"
+        echo "############################################################"
         terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
         recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-        exit -1
-    fi
-    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
-
-    echo "############################################################"
-    echo "Pinging the UE"
-    echo "############################################################"
-    PING_LOG_FILE=fdd_20MHz_ping_ue.txt
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+        sleep 10
 
-    echo "############################################################"
-    echo "Iperf DL"
-    echo "############################################################"
-    CURR_IPERF_LOG_BASE=fdd_20MHz_iperf_dl
-    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
+        echo "############################################################"
+        echo "Starting the eNB in TDD-5MHz mode"
+        echo "############################################################"
+        CURRENT_ENB_LOG_FILE=tdd_05MHz_enb.log
+        start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-tdd-basic-sim.conf
 
-    echo "############################################################"
-    echo "Terminate enb/ue simulators"
-    echo "############################################################"
-    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        echo "############################################################"
+        echo "Starting the UE in TDD-5MHz mode"
+        echo "############################################################"
+        CURRENT_UE_LOG_FILE=tdd_05MHz_ue.log
+        start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2350
+        if [ $UE_SYNC -eq 0 ]
+        then
+            echo "Problem w/ eNB and UE not syncing"
+            terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+            recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+            exit -1
+        fi
+        get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
-    echo "############################################################"
-    echo "Starting the eNB in TDD-5MHz mode"
-    echo "############################################################"
-    CURRENT_ENB_LOG_FILE=tdd_05MHz_enb.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-tdd-basic-sim.conf
+        echo "############################################################"
+        echo "Pinging the UE"
+        echo "############################################################"
+        PING_LOG_FILE=tdd_05MHz_ping_ue.txt
+        ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+        check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+
+#        Bug in TDD 5Mhz --- not running it
+#        echo "############################################################"
+#        echo "Iperf DL"
+#        echo "############################################################"
+#        CURR_IPERF_LOG_BASE=tdd_05MHz_iperf_dl
+#        iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
+#        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+#        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+#        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
 
-    echo "############################################################"
-    echo "Starting the UE in TDD-5MHz mode"
-    echo "############################################################"
-    CURRENT_UE_LOG_FILE=tdd_05MHz_ue.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2350
-    if [ $UE_SYNC -eq 0 ]
-    then
-        echo "Problem w/ eNB and UE not syncing"
+        echo "############################################################"
+        echo "Terminate enb/ue simulators"
+        echo "############################################################"
         terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
         recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-        exit -1
-    fi
-    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+        sleep 10
 
-    echo "############################################################"
-    echo "Pinging the UE"
-    echo "############################################################"
-    PING_LOG_FILE=tdd_05MHz_ping_ue.txt
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
-
-# Bug in TDD 5Mhz --- not running it
-#    echo "############################################################"
-#    echo "Iperf DL"
-#    echo "############################################################"
-#    CURR_IPERF_LOG_BASE=tdd_05MHz_iperf_dl
-#    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
-#    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-#    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-#    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
+        echo "############################################################"
+        echo "Starting the eNB in TDD-10MHz mode"
+        echo "############################################################"
+        CURRENT_ENB_LOG_FILE=tdd_10MHz_enb.log
+        start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50 lte-tdd-basic-sim.conf
 
-    echo "############################################################"
-    echo "Terminate enb/ue simulators"
-    echo "############################################################"
-    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        echo "############################################################"
+        echo "Starting the UE in TDD-10MHz mode"
+        echo "############################################################"
+        CURRENT_UE_LOG_FILE=tdd_10MHz_ue.log
+        start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50 2350
+        if [ $UE_SYNC -eq 0 ]
+        then
+            echo "Problem w/ eNB and UE not syncing"
+            terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+            recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+            exit -1
+        fi
+        get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
-    echo "############################################################"
-    echo "Starting the eNB in TDD-10MHz mode"
-    echo "############################################################"
-    CURRENT_ENB_LOG_FILE=tdd_10MHz_enb.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50 lte-tdd-basic-sim.conf
+        echo "############################################################"
+        echo "Pinging the UE"
+        echo "############################################################"
+        PING_LOG_FILE=tdd_10MHz_ping_ue.txt
+        ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+        check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
-    echo "############################################################"
-    echo "Starting the UE in TDD-10MHz mode"
-    echo "############################################################"
-    CURRENT_UE_LOG_FILE=tdd_10MHz_ue.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50 2350
-    if [ $UE_SYNC -eq 0 ]
-    then
-        echo "Problem w/ eNB and UE not syncing"
+        echo "############################################################"
+        echo "Iperf DL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=tdd_10MHz_iperf_dl
+        iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
+
+        echo "############################################################"
+        echo "Terminate enb/ue simulators"
+        echo "############################################################"
         terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
         scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
         recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-        exit -1
-    fi
-    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+        sleep 10
 
-    echo "############################################################"
-    echo "Pinging the UE"
-    echo "############################################################"
-    PING_LOG_FILE=tdd_10MHz_ping_ue.txt
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+        echo "############################################################"
+        echo "Starting the eNB in TDD-20MHz mode"
+        echo "############################################################"
+        CURRENT_ENB_LOG_FILE=tdd_20MHz_enb.log
+        start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100 lte-tdd-basic-sim.conf
 
-    echo "############################################################"
-    echo "Iperf DL"
-    echo "############################################################"
-    CURR_IPERF_LOG_BASE=tdd_10MHz_iperf_dl
-    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
+        echo "############################################################"
+        echo "Starting the UE in TDD-20MHz mode"
+        echo "############################################################"
+        CURRENT_UE_LOG_FILE=tdd_20MHz_ue.log
+        start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100 2350
+        if [ $UE_SYNC -eq 0 ]
+        then
+            echo "Problem w/ eNB and UE not syncing"
+            terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+            recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+            exit -1
+        fi
+        get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
-    echo "############################################################"
-    echo "Terminate enb/ue simulators"
-    echo "############################################################"
-    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-
-# Disabling TDD-20MHz test since it is very unstable
-#
-#    echo "############################################################"
-#    echo "Starting the eNB in TDD-20MHz mode"
-#    echo "############################################################"
-#    CURRENT_ENB_LOG_FILE=tdd_20MHz_enb.log
-#    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100 lte-tdd-basic-sim.conf
-#
-#    echo "############################################################"
-#    echo "Starting the UE in TDD-20MHz mode"
-#    echo "############################################################"
-#    CURRENT_UE_LOG_FILE=tdd_20MHz_ue.log
-#    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100 2350
-#    if [ $UE_SYNC -eq 0 ]
-#    then
-#        echo "Problem w/ eNB and UE not syncing"
-#        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-#        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-#        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-#        recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-#        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-#        exit -1
-#    fi
-#    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
-#
-#    echo "############################################################"
-#    echo "Pinging the UE"
-#    echo "############################################################"
-#    PING_LOG_FILE=tdd_20MHz_ping_ue.txt
-#    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
-#    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
-#    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
-#
-#    echo "############################################################"
-#    echo "Iperf DL"
-#    echo "############################################################"
-#    CURR_IPERF_LOG_BASE=tdd_20MHz_iperf_dl
-#    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
-#    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-#    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-#    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
-#
-#    echo "############################################################"
-#    echo "Terminate enb/ue simulators"
-#    echo "############################################################"
-#    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
-#    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
-#    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
-#    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        echo "############################################################"
+        echo "Pinging the UE"
+        echo "############################################################"
+        PING_LOG_FILE=tdd_20MHz_ping_ue.txt
+        ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+        check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
-    echo "############################################################"
-    echo "Terminate EPC"
-    echo "############################################################"
+        echo "############################################################"
+        echo "Iperf DL"
+        echo "############################################################"
+        CURR_IPERF_LOG_BASE=tdd_20MHz_iperf_dl
+        iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
+        scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+        check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
 
-    if [ $LTEBOX -eq 1 ]
-    then
-        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
-    fi
+        echo "############################################################"
+        echo "Terminate enb/ue simulators"
+        echo "############################################################"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        sleep 10
 
-    echo "############################################################"
-    echo "Checking run status"
-    echo "############################################################"
+        echo "############################################################"
+        echo "Terminate EPC"
+        echo "############################################################"
 
-    if [ $PING_STATUS -ne 0 ]; then STATUS=-1; fi
-    if [ $IPERF_STATUS -ne 0 ]; then STATUS=-1; fi
+        if [ $LTEBOX -eq 1 ]
+        then
+            terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        fi
 
-fi
+        if [ $KEEP_VM_ALIVE -eq 0 ]
+        then
+            echo "############################################################"
+            echo "Destroying VMs"
+            echo "############################################################"
+            uvt-kvm destroy $VM_NAME
+            ssh-keygen -R $VM_IP_ADDR
+            uvt-kvm destroy $EPC_VM_NAME
+            ssh-keygen -R $EPC_VM_IP_ADDR
+        fi
 
-if [ $STATUS -eq 0 ]
-then
-    echo "STATUS seems OK"
-else
-    echo "STATUS failed?"
-fi
+        echo "############################################################"
+        echo "Checking run status"
+        echo "############################################################"
 
-exit $STATUS
+        if [ $PING_STATUS -ne 0 ]; then STATUS=-1; fi
+        if [ $IPERF_STATUS -ne 0 ]; then STATUS=-1; fi
+
+    fi
+}
diff --git a/ci-scripts/waitBuildOnVM.sh b/ci-scripts/waitBuildOnVM.sh
new file mode 100755
index 0000000000000000000000000000000000000000..bee11f282008590620c1bcd1e7c79bd1b6ecee00
--- /dev/null
+++ b/ci-scripts/waitBuildOnVM.sh
@@ -0,0 +1,170 @@
+#!/bin/bash
+#/*
+# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+# * contributor license agreements.  See the NOTICE file distributed with
+# * this work for additional information regarding copyright ownership.
+# * The OpenAirInterface Software Alliance licenses this file to You under
+# * the OAI Public License, Version 1.1  (the "License"); you may not use this file
+# * except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *      http://www.openairinterface.org/?page_id=698
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# *-------------------------------------------------------------------------------
+# * For more information about the OpenAirInterface (OAI) Software Alliance:
+# *      contact@openairinterface.org
+# */
+
+function wait_usage {
+    echo "OAI CI VM script"
+    echo "   Original Author: Raphael Defosseux"
+    echo "   Requirements:"
+    echo "     -- uvtool uvtool-libvirt apt-cacher"
+    echo "     -- xenial image already synced"
+    echo "   Default:"
+    echo "     -- eNB with USRP"
+    echo ""
+    echo "Usage:"
+    echo "------"
+    echo "    oai-ci-vm-tool wait [OPTIONS]"
+    echo ""
+    echo "Mandatory Options:"
+    echo "--------"
+    echo "    --job-name #### OR -jn ####"
+    echo "    Specify the name of the Jenkins job."
+    echo ""
+    echo "    --build-id #### OR -id ####"
+    echo "    Specify the build ID of the Jenkins job."
+    echo ""
+    echo "    --workspace #### OR -ws ####"
+    echo "    Specify the workspace."
+    echo ""
+    variant_usage
+    echo "    Specify the variant to build."
+    echo ""
+    echo "Options:"
+    echo "--------"
+    echo "    --keep-vm-alive OR -k"
+    echo "    Keep the VM alive after the build."
+    echo ""
+    echo "    --help OR -h"
+    echo "    Print this help message."
+    echo ""
+}
+
+function wait_on_vm_build {
+    echo "############################################################"
+    echo "OAI CI VM script"
+    echo "############################################################"
+
+    echo "VM_NAME             = $VM_NAME"
+    echo "VM_CMD_FILE         = $VM_CMDS"
+    echo "JENKINS_WKSP        = $JENKINS_WKSP"
+    echo "ARCHIVES_LOC        = $ARCHIVES_LOC"
+    echo "BUILD_OPTIONS       = $BUILD_OPTIONS"
+
+    IS_VM_ALIVE=`uvt-kvm list | grep -c $VM_NAME`
+
+    if [ $IS_VM_ALIVE -eq 0 ]
+    then
+        echo "############################################################"
+        echo "You should have created the VM before doing anything"
+        echo "############################################################"
+        STATUS=1
+        return
+    fi
+
+    echo "Waiting for VM to be started"
+    uvt-kvm wait $VM_NAME --insecure
+
+    VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
+    echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
+
+    echo "############################################################"
+    echo "Waiting build process to end on VM ($VM_NAME)"
+    echo "############################################################"
+
+    if [[ "$VM_NAME" == *"-cppcheck"* ]]
+    then
+        echo "echo \"ps -aux | grep cppcheck \"" >> $VM_CMDS
+        echo "while [ \$(ps -aux | grep --color=never cppcheck | grep -v grep | wc -l) -gt 0 ]; do sleep 3; done" >> $VM_CMDS
+    else
+        echo "echo \"ps -aux | grep build \"" >> $VM_CMDS
+        echo "while [ \$(ps -aux | grep --color=never build_oai | grep -v grep | wc -l) -gt 0 ]; do sleep 3; done" >> $VM_CMDS
+    fi
+
+    ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < $VM_CMDS
+    rm -f $VM_CMDS
+}
+
+function check_on_vm_build {
+    echo "############################################################"
+    echo "Creating a tmp folder to store results and artifacts"
+    echo "############################################################"
+    if [ ! -d $JENKINS_WKSP/archives ]
+    then
+        mkdir $JENKINS_WKSP/archives
+    fi
+
+    if [ ! -d $ARCHIVES_LOC ]
+    then
+        mkdir $ARCHIVES_LOC
+    fi
+
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.txt $ARCHIVES_LOC
+    if [[ "$VM_NAME" == *"-cppcheck"* ]]
+    then
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/*.xml $ARCHIVES_LOC
+    fi
+
+    if [ $KEEP_VM_ALIVE -eq 0 ]
+    then
+        echo "############################################################"
+        echo "Destroying VM"
+        echo "############################################################"
+        uvt-kvm destroy $VM_NAME
+        ssh-keygen -R $VM_IP_ADDR
+    fi
+    rm -f $VM_CMDS
+
+    echo "############################################################"
+    echo "Checking build status" 
+    echo "############################################################"
+
+    LOG_FILES=`ls $ARCHIVES_LOC/*.txt $ARCHIVES_LOC/*.xml`
+    STATUS=0
+    NB_FOUND_FILES=0
+
+    for FULLFILE in $LOG_FILES 
+    do
+        if [[ $FULLFILE == *"$LOG_PATTERN"* ]]
+        then
+            filename=$(basename -- "$FULLFILE")
+            if [ "$LOG_PATTERN" == ".Rel14.txt" ]
+            then
+                PASS_PATTERN=`echo $filename | sed -e "s#$LOG_PATTERN##"`
+            fi
+            if [ "$LOG_PATTERN" == "basic_simulator" ]
+            then
+                PASS_PATTERN="lte-"
+            fi
+            if [ "$LOG_PATTERN" == "cppcheck.xml" ]
+            then
+                PASS_PATTERN="results version"
+                LOCAL_STAT=`egrep -c "$PASS_PATTERN" $FULLFILE`
+            else
+                LOCAL_STAT=`egrep -c "Built target $PASS_PATTERN" $FULLFILE`
+            fi
+            if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
+            NB_FOUND_FILES=$((NB_FOUND_FILES + 1))
+        fi
+    done
+
+    if [ $NB_PATTERN_FILES -ne $NB_FOUND_FILES ]; then STATUS=-1; fi
+
+}
diff --git a/ci-scripts/xml_files/enb_usrp210_band7.xml b/ci-scripts/xml_files/enb_usrp210_band7.xml
index 0785ad815d28a9fe85e65a6d6a3a9f5ff96f2861..c408dc7882528dd101694faa7df6bac5e2af3a63 100644
--- a/ci-scripts/xml_files/enb_usrp210_band7.xml
+++ b/ci-scripts/xml_files/enb_usrp210_band7.xml
@@ -40,19 +40,19 @@
 	<testCase id="030101">
 		<class>Initialize_eNB</class>
 		<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf</Initialize_eNB_args>
 	</testCase>
 
 	<testCase id="030111">
 		<class>Initialize_eNB</class>
 		<desc>Initialize eNB (FDD/Band7/10MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf</Initialize_eNB_args>
 	</testCase>
 
 	<testCase id="030121">
 		<class>Initialize_eNB</class>
 		<desc>Initialize eNB (FDD/Band7/20MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf</Initialize_eNB_args>
 	</testCase>
 
 	<testCase id="030201">
diff --git a/ci-scripts/xml_files/enb_usrpb210_band40.xml b/ci-scripts/xml_files/enb_usrpb210_band40.xml
index 1af1c319cfe4eaf6d8c7d60eafd4019ae130e5ab..53a0dc93804b421a416dafb3523f5bd9c1cc0e46 100644
--- a/ci-scripts/xml_files/enb_usrpb210_band40.xml
+++ b/ci-scripts/xml_files/enb_usrpb210_band40.xml
@@ -43,19 +43,19 @@
 	<testCase id="030104">
 		<class>Initialize_eNB</class>
 		<desc>Initialize eNB (TDD/Band40/5MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
 	</testCase>
 	
 	<testCase id="030114">
                 <class>Initialize_eNB</class>
                 <desc>Initialize eNB (TDD/Band40/10MHz/info)</desc>
-                <Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+                <Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
         </testCase>
 
 	<testCase id="030106">
 		<class>Initialize_eNB</class>
 		<desc>Initialize eNB (TDD/Band40/20MHz/info)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.100PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
 	</testCase>
 
 	<testCase id="030201">
diff --git a/ci-scripts/xml_files/if4p5_usrp210_band40.xml b/ci-scripts/xml_files/if4p5_usrp210_band40.xml
index 9c1b721bef1863d4db73b4c1f4a5ea8cb5d2c1d2..b7877009fde5e9ebc3dbd1f3c621646eff17a0f0 100644
--- a/ci-scripts/xml_files/if4p5_usrp210_band40.xml
+++ b/ci-scripts/xml_files/if4p5_usrp210_band40.xml
@@ -46,42 +46,42 @@
 	<testCase id="030104">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RRU (TDD/Band40)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args>
 		<eNB_instance>0</eNB_instance>
 	</testCase>
 	
 	<testCase id="030105">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RCC (TDD/Band40/5MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
 		<eNB_instance>1</eNB_instance>
 	</testCase>
 	
 	<testCase id="030114">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RRU (TDD/Band40)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args>
 		<eNB_instance>0</eNB_instance>
 	</testCase>
 	
 	<testCase id="030115">
                 <class>Initialize_eNB</class>
                 <desc>Initialize RCC (TDD/Band40/10MHz/info)</desc>
-                <Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+                <Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.50PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
 		<eNB_instance>1</eNB_instance>
         </testCase>
 
 	<testCase id="030124">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RRU (TDD/Band40)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args>
 		<eNB_instance>0</eNB_instance>
 	</testCase>
 	
 	<testCase id="030125">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RCC (TDD/Band40/20MHz/info)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.100PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args>
 		<eNB_instance>1</eNB_instance>
 	</testCase>
 
diff --git a/ci-scripts/xml_files/if4p5_usrp210_band7.xml b/ci-scripts/xml_files/if4p5_usrp210_band7.xml
index a3e5ecd72c39b0facc4cdc140cdfdf297b812a43..9ca3a113bf143d48359b70b5bcb25e4dcd77ea3a 100644
--- a/ci-scripts/xml_files/if4p5_usrp210_band7.xml
+++ b/ci-scripts/xml_files/if4p5_usrp210_band7.xml
@@ -44,42 +44,42 @@
 	<testCase id="030101">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RRU (FDD/Band7)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf</Initialize_eNB_args>
 		<eNB_instance>1</eNB_instance>
 	</testCase>
 
 	<testCase id="030102">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RCC (FDD/Band7/5MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.25PRB.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.25PRB.usrpb210.conf</Initialize_eNB_args>
 		<eNB_instance>0</eNB_instance>
 	</testCase>
 
 	<testCase id="030111">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RRU (FDD/Band7)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf</Initialize_eNB_args>
 		<eNB_instance>1</eNB_instance>
 	</testCase>
 
 	<testCase id="030112">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RCC (FDD/Band7/10MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.50PRB.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.50PRB.usrpb210.conf</Initialize_eNB_args>
 		<eNB_instance>0</eNB_instance>
 	</testCase>
 
 	<testCase id="030121">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RRU (FDD/Band7)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rru.fdd.band7.conf</Initialize_eNB_args>
 		<eNB_instance>1</eNB_instance>
 	</testCase>
 
 	<testCase id="030122">
 		<class>Initialize_eNB</class>
 		<desc>Initialize RCC (FDD/Band7/20MHz)</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.100PRB.usrpb210.conf --codingw --fepw</Initialize_eNB_args>
+		<Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band7.tm1.if4p5.lo.100PRB.usrpb210.conf</Initialize_eNB_args>
 		<eNB_instance>0</eNB_instance>
 	</testCase>
 
diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 23d96afc545720b140473a29088dcd0c49f4834e..f205e3f5fa98098b69fa7e4fa03c69bc19b7fe2d 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -290,36 +290,36 @@ set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
 add_list2_option(RRC_ASN1_VERSION "Rel14" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA")
 
 if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
-  make_version(RRC_VERSION 8 6 0)
+  make_version(LTE_RRC_VERSION 8 6 0)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
 elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
-  make_version(RRC_VERSION 10 2 0)
+  make_version(LTE_RRC_VERSION 10 2 0)
   add_definitions(-DCBA)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn)
 elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
-  make_version(RRC_VERSION 10 2 0)
+  make_version(LTE_RRC_VERSION 10 2 0)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
 elseif (${RRC_ASN1_VERSION} STREQUAL "Rel11")
-  make_version(RRC_VERSION 11 18 0)
+  make_version(LTE_RRC_VERSION 11 18 0)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-11.18.0.asn1)
 elseif (${RRC_ASN1_VERSION} STREQUAL "Rel12")
-  make_version(RRC_VERSION 12 16 0)
+  make_version(LTE_RRC_VERSION 12 16 0)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-12.16.0.asn1)
 elseif (${RRC_ASN1_VERSION} STREQUAL "Rel13")
-  make_version(RRC_VERSION 13 9 1)
+  make_version(LTE_RRC_VERSION 13 9 1)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-13.9.1.asn1)
 elseif (${RRC_ASN1_VERSION} STREQUAL "Rel14")
-  make_version(RRC_VERSION 14 7 0)
+  make_version(LTE_RRC_VERSION 14 7 0)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1)
 elseif (${RRC_ASN1_VERSION} STREQUAL "Rel15")
-  make_version(RRC_VERSION 15 2 2)
+  make_version(LTE_RRC_VERSION 15 2 2)
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1)
 endif  (${RRC_ASN1_VERSION} STREQUAL "Rel8")
-add_definitions(-DRRC_VERSION=${RRC_VERSION})
+add_definitions(-DLTE_RRC_VERSION=${LTE_RRC_VERSION})
 set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION})
-message("calling asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}")
+message("calling ASN1C_PREFIX=LTE_ asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}")
 execute_process(COMMAND mkdir -p ${RRC_FULL_DIR}
-                COMMAND env asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}
+                COMMAND env "ASN1C_PREFIX=LTE_" asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}
                 RESULT_VARIABLE ret)
 if (NOT ${ret} STREQUAL 0)
   message(FATAL_ERROR "${ret}: error")
@@ -339,7 +339,7 @@ include_directories ("${RRC_FULL_DIR}")
 add_custom_command (
   OUTPUT ${RRC_FULL_DIR}/asn_constant.h
   COMMAND mkdir -p ${RRC_FULL_DIR}
-  COMMAND env asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}
+  COMMAND env "ASN1C_PREFIX=LTE_" asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}
   DEPENDS ${RRC_GRAMMAR}
   )
 
diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml
index e7f274c2d027846170eb26f7039157d9a00f9efa..fc4567269e51fd2b3f3c1f90a7b9fc2815ba2b8d 100644
--- a/cmake_targets/autotests/test_case_list.xml
+++ b/cmake_targets/autotests/test_case_list.xml
@@ -956,20 +956,20 @@
       <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec>
       <pre_exec_args></pre_exec_args>
       <main_exec> $OPENAIR_DIR/targets/bin/dlsim.Rel14</main_exec>
-      <main_exec_args> -m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O60
-                       -m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O60
-                       -m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O60
-                       -m15 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c2 -z2 -O60
-                       -m15 -gG -s1.4 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O25
-                       -m15 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c2 -z2 -O25
-                       -m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O60
-                       -m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O60
-                       -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O60
-                       -m26 -gF -s17.6 -w1.0 -f.2 -n500 -B100 -c2 -z2 -O60
-                       -m26 -gF -s17.3 -w1.0 -f.2 -n500 -B100 -c2 -z2 -r1600 -O60
-                       -m26 -gF -s16.6 -w1.0 -f.2 -n500 -B100 -c2 -z2 -r1899 -O60
-		       -m14 -gF -s6.8  -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O60
-                       -m13 -gF -s5.9  -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O60</main_exec_args>
+      <main_exec_args> -m=5 -g=F -s=-1= -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60
+                        -m=4 -g=F -s=0 -w=1.0 -f=.2 -n=500 -B=6 -c=4 -z=2 -O=60
+                        -m=15 -g=F -s=6.7 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60
+                        -m=15 -g=F -s=6.7 -w=1.0 -f=.2 -n=500 -B=25 -c=2 -z=2 -O=60
+                        -m=15 -g=G -s=1.4 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=25
+                        -m=15 -g=G -s=1.4 -w=1.0 -f=.2 -n=500 -B=25 -c=2 -z=2 -O=25
+                        -m=25 -g=F -s=17.4 -w=1.0 -f=.2 -n=500 -B=25 -c=3 -z=2 -O=60
+                        -m=25 -g=F -s=17.5 -w=1.0 -f=.2 -n=500 -B=25 -c=3 -z=2 -r=1022 -O=60
+                        -m=26 -g=F -s=17.7 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60
+                        -m=26 -g=F -s=17.6 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -O=60
+                        -m=26 -g=F -s=17.3 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -r=1600 -O=60
+                        -m=26 -g=F -s=16.6 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -r=1899 -O=60
+                        -m=14 -g=F -s=6.8  -w=1.0 -f=.2 -n=500 -B=50 -c=2 -x=2 -y=2 -z=2 -O=60
+                        -m=13 -g=F -s=5.9  -w=1.0 -f=.2 -n=500 -B=25 -c=3 -x=2 -y=2 -z=2 -O=60</main_exec_args>
       <tags>dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.TM2_test1 dlsim.TM2_test1b</tags>
       <search_expr_true>"passed"</search_expr_true>
       <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
diff --git a/cmake_targets/lte-simulators/CMakeLists.txt b/cmake_targets/lte-simulators/CMakeLists.txt
index b7e83a92a03282f9dfae9b54633a8ea745763cee..1bfac2b20d6bace5dc68236279a4361a3cef87ed 100644
--- a/cmake_targets/lte-simulators/CMakeLists.txt
+++ b/cmake_targets/lte-simulators/CMakeLists.txt
@@ -9,4 +9,5 @@ set(MU_RECIEVER False)
 set(NAS_UE False)
 set(MESSAGE_CHART_GENERATOR False)
 set(RRC_ASN1_VERSION "Rel14")
+set (UE_TIMING_TRACE True)
 include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper
index 18e0d5474612541276573ec79ed74927423679ca..551fc1359306fbb66500389850715ff90c9b270e 100755
--- a/cmake_targets/tools/build_helper
+++ b/cmake_targets/tools/build_helper
@@ -252,7 +252,7 @@ install_usrp_uhd_driver_from_source(){
     rm -rf /tmp/uhd
     git clone https://github.com/EttusResearch/uhd.git
     cd uhd
-    git checkout tags/release_003_010_001_001
+    git checkout tags/v3.13.0.2
     mkdir -p host/build
     cd host/build
     $CMAKE ../
@@ -683,7 +683,7 @@ install_asn1c_from_source(){
     # better to use a given commit than a branch in case the branch
     # is updated and requires modifications in the source of OAI
     #git checkout velichkov_s1ap_plus_option_group
-    git checkout d3aed06bb2bec7df1b5c6d0333f8c7dfc5993372
+    git checkout 0a7524184f16e7093990a31d8d4db487a16e5782
     autoreconf -iv
     ./configure
     make -j`nproc`
diff --git a/common/config/DOC/config.md b/common/config/DOC/config.md
new file mode 100644
index 0000000000000000000000000000000000000000..580ac5476fe93675e79aa4ad9c76ca3cb873c279
--- /dev/null
+++ b/common/config/DOC/config.md
@@ -0,0 +1,11 @@
+# OAI configuration module
+
+The configuration module provides an api that other oai components can use to get parameters at init time. It defines a parameter structure, used to describe parameters attributes (for example name and  type). The same structure includes a pointer to the variable where the configuration module writes the parameter value, at run time, when calling config_get or config_getlist functions. For each parameter a function to check the value can be specified and pre-defined functions  are provided for some common parameter validations (integer in a range or in a list, string in a list).  The module also include a mechanism to check that no unknown options have been entered on the command line
+
+## Documentation
+
+* [runtime usage](config/rtusage.md)
+* [developer usage](config/devusage.md)
+* [module architecture](config/arch.md)
+
+[oai Wikis home](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home)
diff --git a/common/config/DOC/config/arch.md b/common/config/DOC/config/arch.md
new file mode 100644
index 0000000000000000000000000000000000000000..170241500b3672984105ad7eb9f43cafcfcb11f4
--- /dev/null
+++ b/common/config/DOC/config/arch.md
@@ -0,0 +1,7 @@
+# config module source files
+![configmodule_srcdir](/uploads/fdc3e96011fd5592440900dfa05b4701/configmodule_srcdir.png)  
+# config module components
+![configmodule_components](/uploads/54f8a3953d5ee53717cd9a3b71f85c68/configmodule_components.png)
+
+
+[Configuration module home](../config.md)
\ No newline at end of file
diff --git a/common/config/DOC/config/devusage.md b/common/config/DOC/config/devusage.md
new file mode 100644
index 0000000000000000000000000000000000000000..bfc1180ab8b90b1af108da3a4e0acbbbb926a6f6
--- /dev/null
+++ b/common/config/DOC/config/devusage.md
@@ -0,0 +1,20 @@
+The configuration module objectives are 
+1. Allow easy parameters management in oai, helping the development of a flexible, modularized and fully configurable softmodem.
+1. Use a common configuration API in all oai modules
+1. Allow development of alternative configuration sources without modifying the oai code. Today the only delivered configuration source is the libconfig format configuration file.  
+
+As a developer you may need to look at these sections:
+
+* [add parameters in an existing section](devusage/addaparam.md)
+* [add a parameter set, in a new section](devusage/addparamset.md)
+* [configuration module API](devusage/api.md) 
+* [configuration module public structures](devusage/struct.md)  
+
+Whatever your need is, configuration module usage examples can be found in oai sources:  
+*  complex example, using all the configuration module functionalities, including parameter checking: 
+[NB-IoT configuration code](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/openair2/ENB_APP/NB_IoT_config.c) and [NB-IoT configuration include file](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/openair2/ENB_APP/NB_IoT_paramdef.h)
+*  very simple example, just reading a parameter set corresponding to a dedicated section:  the telnetsrv_autoinit function in [common/utils/telnetsrv/telnetsrv.c, around line 726](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/utils/telnetsrv/telnetsrv.c#L726)
+*  an example with run-time definition of parameters, in the logging sub-system: the log_getconfig function at the top of [openair2/UTIL/LOG/log.c](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/openair2/UTIL/LOG/log.c)
+
+
+[Configuration module home](../config.md)
diff --git a/common/config/DOC/config/devusage/addaparam.md b/common/config/DOC/config/devusage/addaparam.md
new file mode 100644
index 0000000000000000000000000000000000000000..b7bb8a73b90df5f1e7f17a61d47266b68bc1982c
--- /dev/null
+++ b/common/config/DOC/config/devusage/addaparam.md
@@ -0,0 +1,86 @@
+To add a new parameter in an existing section you  insert an item in a `paramdef_t` array, which describes the parameters to be read in the existing `config_get` call. You also need to increment the numparams argument.  
+
+existing code:  
+```c
+unsigned int varopt1;
+paramdef_t someoptions[] = {
+/*---------------------------------------------------------------------------------*/
+/*                  configuration parameters for some module                       */
+/* optname     helpstr     paramflags    XXXptr      defXXXval      type    numelt */
+/*---------------------------------------------------------------------------------*/
+   {"opt1",  "<help opt1>",   0,      uptr:&varopt1, defuintval:0, TYPE_UINT,  0 },
+};
+
+config_get( someoptions,sizeof(someoptions)/sizeof(paramdef_t),"somesection"); 
+
+```
+new code:  
+```c
+unsigned int varopt1;
+
+
+/* varopt2 will be allocated by the config module and free at end_configmodule call
+   except if PARAMFLAG_NOFREE bit is set in paramflags field*/
+char *varopt2;
+paramdef_t someoptions[] = {
+/*---------------------------------------------------------------------------------*/
+/*                  configuration parameters for some module                       */
+/* optname     helpstr     paramflags    XXXptr      defXXXval      type    numelt */
+/*---------------------------------------------------------------------------------*/
+   {"opt1",  "<help opt1>",   0,      uptr:&varopt1,  defuintval:0,TYPE_UINT,  0   },
+   {"opt2",  "<help opt2>",   0,      strptr:&varopt2,defstrval:"",TYPE_STRING,0   },
+};
+
+config_get( someoptions,sizeof(someoptions)/sizeof(paramdef_t),"somesection"); 
+
+```
+
+The corresponding configuration file may now include opt2 parameter in the somesection section:
+
+```c
+somesection =
+{
+opt1 = 3;
+opt2 = "abcd";
+};
+```
+
+In these examples the variables used to retrieve the parameters values are pointed by the `uptr` or `strptr` fields of the `paramdef_t` structure. After the `config_get` call `varopt1` and `varopt2` have been set to the value specified in the config file. It is also possible to specify a `NULL` value to the `< XXX >ptr` fields, which are then allocated by the config module and possibly free when calling `config_end()`, if the `PARAMFLAG_NOFREE` bit has not been set in the `paramflags` field.
+
+The configuration module provides a mechanism to check the parameter value read from the configuration source. The following functions are implemented:
+1.  Check an integer parameter against a list of authorized values
+1.  Check an integer parameter against a list of authorized values and set the parameter to a new value
+1.  Check an integer parameter against a range
+1.  Check a C string parameter against a list of authorized values
+1. Check a C string parameter against a list of authorized values and set the parameter to a new integer value
+
+ A `checkedparam_t` structure array provides the parameter verification procedures:
+
+```c
+/* 
+   definition of the verification to be done on param opt1 and opt2.
+   opt1 is an integer option we must be set to 0,2,3,4 or 7 in the
+   config source.  
+   if opt1 is set to 0 in the config file, it will be set to 1, etc
+   opt2 is C string option with the authorize values "zero","oneThird","twoThird","one"
+ */
+#define OPT1_OKVALUES {0,2,3,4,7}
+#define OPT1_NEWVALUES {1,1,0,6,9}
+#define OPT2_OKVALUES {"zero","oneThird","twoThird","one"}
+
+#define OPT_CHECK_DESC { \
+             { .s1a= { config_check_modify_integer, OPT1_OKVALUE, OPT1_NEWVALUES ,5 }}, \
+             { .s3=  { config_check_strval, OPT2_OKVALUES,4 }}, \
+}
+checkedparam_t checkopt[] = OPT_CHECK_DESC;
+.....
+/* assign the verification procedures to the parameters definitions */
+for(int i=0 ; i < sizeof(someoptions)/sizeof(paramdesc_t) ; i ++) {
+    someoptions[i].chkPptr = &(checkopt[i]);
+}
+....
+```
+When you need a specific verification algorithm, you can provide your own verification function and use it in place of the available ones, in the `checkedparam_t` union. If no existing structure definition match your need, you can enhance the configuration module. You then have to add a new verification function in https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/config/config_userapi.c and add a new structure definition in the `checkedparam_t` type defined in https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/config/config_paramdesc.h
+
+[Configuration module developer main page](../../config/devusage.md)  
+[Configuration module home](../../config.md)
diff --git a/common/config/DOC/config/devusage/addparamset.md b/common/config/DOC/config/devusage/addparamset.md
new file mode 100644
index 0000000000000000000000000000000000000000..130a7eda749033beb1492332c9367df5311f4447
--- /dev/null
+++ b/common/config/DOC/config/devusage/addparamset.md
@@ -0,0 +1,131 @@
+The configuration module maps a configuration file section to a `paramdef_t` structure array. One `config_get` call can be used to return the values of all the parameters described in the `paramdef_t` array.
+Retrieving a single occurence of a parameter set ( a group in the libconfig terminology) is just a two steps task:
+1.  describe the parameters in a `paramdef_t` array
+1.  call the `config_get` function  
+
+
+[config_get example](../../config/devusage/addaparam.md)
+
+
+In oai some parameters set may be instantiated a variable number of occurrences. In a configuration file this is mapped to lists of group of parameters, with this syntax:
+```c
+NB-IoT_MACRLCs =
+/* start list element 1 */
+(
+  /* start a group of parameters */
+  {
+  num_cc = 2;
+  .....
+  remote_s_portd = 55001;
+  }
+),
+/* start list element 2 */
+(
+  /* start a group of parameters */
+  {
+  num_cc = 1;
+  ......
+  remote_s_portd = 65001;
+  }
+);
+
+```
+The configuration module provides the `config_getlist` call to support lists of group of parameters. Below is a commented code example, using the config_getlist call.  
+
+```c
+/* name of section containing the list */
+#define NBIOT_MACRLCLIST_CONFIG_STRING      "NB-IoT_MACRLCs"
+
+/* 
+The following macro define the parameters names, as used in the
+configuration file
+*/   
+#define CONFIG_STRING_MACRLC_CC             "num_cc" 
+.....
+#define CONFIG_MACRLC_S_PORTD               "remote_s_portd" 
+
+/*
+   now define a macro which will be used to initialize the NbIoT_MacRLC_Params
+   variable. NbIoT_MacRLC_Params is an array of paramdef_t structure, each item
+   describing a parameter. When using the config_getlist call you must let the config
+   module allocate the memory for the parameters values.
+*/
+/*------------------------------------------------------------------------------------------------------------*/
+/*   optname               helpstr   paramflags    XXXptr              defXXXval                  type           numelt     */ 
+/*------------------------------------------------------------------------------------------------------------*/
+
+#define MACRLCPARAMS_DESC { \
+{CONFIG_STRING_MACRLC_CC, NULL,     0,          uptr:NULL,           defintval:1,           TYPE_UINT,     0}, \
+.............  \
+{CONFIG_MACRLC_S_PORTD,   NULL,     0,          uptr:NULL,           defintval:50021,           TYPE_UINT,     0}, \
+}  
+
+/* 
+the following macros define the indexes used to access the NbIoT_MacRLC_Params array
+items. They must be maintained consistent with the previous  MACRLCPARAMS_DESC macro
+which is used to initialize the NbIoT_MacRLC_Params variable
+*/
+#define MACRLC_CC_IDX                                          0
+.........
+#define MACRLC_REMOTE_S_PORTD_IDX                              16
+
+
+
+void RCconfig_NbIoTmacrlc(void) {
+ 
+
+/*
+   define and initialize the array of paramdef_t structures describing the groups of
+   parameters we want to read. It will be passed as the second argument of the 
+   config_getlist call, which will use it as an input only argument.
+*/
+  paramdef_t NbIoT_MacRLC_Params[] = MACRLCPARAMS_DESC;
+
+/* 
+      now define and initialize a paramlist_def_t structure which will be passed
+   to the config_getlist call. The first field is the only one to be initialized
+   it contains the name of the section to be read. 
+   that section contains the list of group of parameters.
+      The two other fields are output parameters used to return respectively
+   a pointer to a two dimensional array of paramdef_t structures pointers, and the 
+   number  of items in the list of groups (size of first dimension, the second one
+   being the number of parameters in each group.
+*/ 
+  paramlist_def_t NbIoT_MacRLC_ParamList = {NBIOT_MACRLCLIST_CONFIG_STRING,NULL,0};
+
+
+ /* 
+   the config_getlist will allocate the second field of the paramlist_def_t structure, a 
+two dimensional array of paramdef_t pointers. In each param_def item it will allocate 
+the value pointer and set the value to what it will get from the config source. The
+numelt field of the paramlist_def_t structure will be set to the number of groups of
+parameters in the list.
+    in this example the last argument of config_getlist is unused, it may contain a
+character string, used as a prefix for the section name. It has to be specified when the
+list to be read is under another section.
+*/  
+  config_getlist( &NbIoT_MacRLC_ParamList,NbIoT_MacRLC_Params,
+                  sizeof(NbIoT_MacRLC_Params)/sizeof(paramdef_t), 
+                  NULL);
+  
+/* 
+  start a loop in the nuber of groups in the list, the numelt field of the
+  paramlist_def_t structure has been set in the config_getlist call
+*/
+  for (j=0 ; j<NbIoT_MacRLC_ParamList.numelt ; j++) {
+
+..........
+ 
+/* access the MACRLC_REMOTE_S_PORTD parameter in the j ieme group of the list */
+	RC.nb_iot_mac[j]->eth_params_s.remote_portd = 
+               *(NbIoT_MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTD_IDX].iptr);
+............
+	
+  } // MacRLC_ParamList.numelt > 0
+}
+
+
+```  
+
+[Configuration module developer main page](../../config/devusage.md)  
+[Configuration module home](../../config.md)
diff --git a/common/config/DOC/config/devusage/api.md b/common/config/DOC/config/devusage/api.md
new file mode 100644
index 0000000000000000000000000000000000000000..56b444a4471acefd0518b6024e857c70b89a8323
--- /dev/null
+++ b/common/config/DOC/config/devusage/api.md
@@ -0,0 +1,48 @@
+```c
+configmodule_interface_t *load_configmodule(int argc, char **argv)
+```
+* Parses the command line options, looking for the –O argument
+* Loads the `libparams_<configsource>.so` (today `libparams_libconfig.so`)  shared library
+* Looks for `config_<config source>_init` symbol and calls it , passing it an array of string corresponding to the «Â : Â» separated strings used in the –O option
+* Looks for `config_<config source>_get`, `config_<config source>_getlist` and  `config_<config source>_end` symbols which are the three functions a configuration library should implement. Get and getlist are mandatory, end is optional.
+* Stores all the necessary information in a `configmodule_interface_t structure`, which is of no use for caller as long as we only use one configuration source.  
+
+```c
+void End_configmodule(void)
+```
+* Free memory which has been allocated by the configuration module since its initialization.
+* Possibly calls the `config_<config source>_end` function
+
+```c
+int config_get(paramdef_t *params,int numparams, char *prefix)
+```
+* Reads as many parameters as described in params, they must all be in the same configuration file section
+* Calls the `config_<config source>_get` function
+* Calls the `config_process_cmdline` function
+* `params` points to an array of `paramdef_t` structures which describes the parameters to be read, possibly including a pointer to a checking function. The following bits can possibly be set in the `paramflags` mask before calling
+ - `PARAMFLAG_MANDATORY`: -1 is returned if the parameter is not explicitly defined in the config source.
+ - `PARAMFLAG_DISABLECMDLINE`: parameter cannot be modified via the command line
+ - `PARAMFLAG_DONOTREAD`: ignore the parameter, can be used at run-time, to alter a pre-defined `paramdef_t` array which is used in several `config_get` or/and `config_getlist` calls.
+ - `PARAMFLAG_NOFREE`: do not free the memory possibly allocated by the config module to store the value of the parameter. Default behavior is for the config module to free the memory it has allocated when the `config_end` function is called.
+ - `PARAMFLAG_BOOL`: Only relevant for integer types. tell the config module that when processing the command line, the corresponding option can be specified without any arggument and that in this case it must set the value to 1.  
+
+* `params` is also used as an output parameter, `< XXX >ptr >` field  is used by the config module to store the value it has read. The following bits can possibly be set in the `paramflags` mask after the call:
+  - `PARAMFLAG_MALLOCINCONFIG`: memory has been allocated for the ` < XXX >ptr > ` field
+  - `PARAMFLAG_PARAMSET`: parameter has been found in the config source, it is not set to default value.
+  - `PARAMFLAG_PARAMSET`: parameter has been set to its default value
+* `numparams` is the number of entries in the params array
+* `prefix` is a character string to be appended to the parameters name, it defines the parameters position in the configuration file hierarchy (the section name in libconfig terminology). 
+* The returned value is the number of parameters which have been assigned a value or -1 if a severe error occured
+
+```c
+int config_libconfig_getlist(paramlist_def_t *ParamList, paramdef_t *params, int numparams, char *prefix)
+```
+* Reads multiple occurrences of a parameters array
+* Calls the `config_<config source>_get` function for each list occurrence
+* `params` points to an array of `paramdef_t` structures which describes the parameters in each occurrence of the list
+* `ParamList`  points to a structure, where `paramarray` field points to an array of `paramdef_t` structure, allocated by the function. It is used to return the values of the parameters.
+* The returned value is the number of occurrences in the list or -1 in case of severe error  
+
+
+[Configuration module developer main page](../../config/devusage.md)  
+[Configuration module home](../../config.md)
diff --git a/common/config/DOC/config/devusage/struct.md b/common/config/DOC/config/devusage/struct.md
new file mode 100644
index 0000000000000000000000000000000000000000..236c1b4e0387f50add8ee03085ead2c568169c4a
--- /dev/null
+++ b/common/config/DOC/config/devusage/struct.md
@@ -0,0 +1,85 @@
+# `paramdef_t`structure
+It is defined in include file [ common/config/config_paramdesc.h ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/config/config_paramdesc.h#L103). This structure is used by developers to describe parameters and by the configuration module to return parameters value. A pointer to a `paramdef_t` array is passed to `config_get` and `config_getlist` calls to instruct the configuration module what parameters it should read.
+
+| Fields     | Description                                                       | I/O |
+|:-----------|:------------------------------------------------------------------|----:|
+| `optname`    | parameter name, as used when looking for it in the config source, 63 bytes max (64 with trailing \0) | I |
+| `helstr`     | pointer to a C string printed when using --help on the command line | I |
+| `strptr` `strlistptr` `u8ptr` `i8ptr` `u16ptr` `i16ptr` `uptr` `iptr` `u64ptr` `i64ptr` `dblptr` `voidptr` | a pointer to a variable where the parameter value(s) will be returned. This field is an anonymous union, the supported pointer types have been built to avoid type mismatch warnings at compile time. | O |
+| `defstrval` `defstrlistval` `defuintval` `defintval` `defint64val` `defintarrayval` `defdblval` | this field is an anonymous union, it can be used to define the default value for the parameter. It is ignored if `PARAMFLAG_MANDATORY` is set in the `paramflags` field.| I |
+| `type` | Supported parameter types are defined as integer macros. Supported simple types are `TYPE_STRING`, parameter value is returned in `strptr` field,  `TYPE_INT8` `TYPE_UINT8` `TYPE_INT16` `TYPE_UINT16` `TYPE_INT32` `TYPE_UINT32` `TYPE_INT64` `TYPE_UINT64`, parameter value is returned in the corresponding uXptr or iXptr, `TYPE_MASK`, value is returned in `u32ptr`, `TYPE_DOUBLE` value is returned in `dblptr`, `TYPE_IPV4ADDR` value is returned in binary, network bytes order in `u32ptr` field. `TYPE_STRINGLIST`, `TYPE_INTARRAY` and `TYPE_UINTARRAY` are multiple values types. Multiple values are returned in respectively, `strlistptr`, `iptr` and `uptr` fields which then point to arrays. The  `numelt` field gives the number of item in the array. | I |
+| `numelt` | For `TYPE_STRING` where `strptr` points to a preallocated string, this field must contain the size in bytes of the available memory. For all multiple values types, this field contains the number of values in the value field.| I/O |
+| `chkPptr` | possible pointer to the structure containing the info used to check parameter values | I |
+| `processedvalue` | When `chkPptr` is not `ǸULL`, is used to return a value, computed from the original parameter, as read from the configuration source. | O |  
+  
+# `paramlist_def_t`structure
+It is defined in include file [ common/config/config_paramdesc.h ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/config/config_paramdesc.h#L160). 
+It is used as an argument to `config_getlist` calls, to get values of multiple occurrences of group of parameters.  
+
+| Fields     | Description                                                       | I/O |
+|:-----------|:------------------------------------------------------------------|----:|
+| `listname`    | Name of the section containing the list,  63 bytes max (64 with trailing \0). It is used to prefix each paramater name when looking for its value. In the libconfig syntax, the parameter name full path build by the configuration module is: listname.[occurence index].optname. | I |
+| `paramarray`    | Pointer to an array of `ǹumelt` `paramdef_t` pointers. It is allocated by the configuration module and is used to return the parameters values. All input fields of each `paramdef_t` occurence are a copy of the `paramdef_t` argument passed to the `config_getlist` call. | O |
+| `numelt` | Number of items in the `paramarray` field | O |
+
+# `checkedparam_t` union
+It is defined in include file [ common/config/config_paramdesc.h ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/config/config_paramdesc.h#L62). 
+This union of structures is used to provide a parameter checking mechanism. Each `paramdef_t` instance may include a pointer to a `checkedparam_t`structure which is then used by the configuration module to check the value it got from the config source.
+Each structure in the union provides one parameter verification method, which returns `-1` when the verification fails. Currently the following structures  are defined in the `checkedparam_t` union:
+
+| structure name    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|----:|
+| `s1` | check an integer against a list of authorized values |
+| `s1a` | check an integer against a list of authorized values and set the parameter value to another integer depending on the read value|
+| `s2` | check an integer against an authorized range, defined by its min and max value|
+| `s3` | check a string against a list of authorized values |
+| `s3a` | check a string against a list of authorized values and set the parameter value to an integer depending on the read value|
+| `s4` | generic structure, to be used to provide a specific, not defined in the configuration module, verification algorithm |
+
+each of these structures provide the required fields to perform the specified parameter check. The first field is a pointer to a function, taking one argument, the `paramdef_t` structure describing the parameter to be checked. This function is called by the configuration module, in the `config_get` call , after the parameter value has been set, it then uses the other fields of the structure to perform the check.
+The configuration module provides an implementation of the functions to be used to check parameters, qs described below.
+
+## `s1` structure
+| field    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|
+| `f1` | pointer to the checking function. Initialize to `config_check_intval` to use the config module implementation |
+| `okintval` | array of `CONFIG_MAX_NUMCHECKVAL` integers containing the authorized values |
+| `num_okintval` | number of used values in `okintval` |
+
+## `s1a` structure
+| field    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|
+| `f1a` | pointer to the checking function. Initialize to `config_check_modify_integer` to use the config module implementation |
+| `okintval` | array of `CONFIG_MAX_NUMCHECKVAL` integers containing the authorized values |
+| `setintval` | array of `CONFIG_MAX_NUMCHECKVAL` integers containing the values to be used for the parameter. The configuration module implementation set the parameter value to `setintval[i]` when the configured value is `okintval[i]` |
+| `num_okintval` | number of used values in `okintval` and `setintval` |
+
+## `s2` structure
+| field    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|
+| `f2` | pointer to the checking function. Initialize to `config_check_intrange` to use the config module implementation |
+| `okintrange` | array of 2 integers containing the min and max values for the parameter |
+
+## `s3` structure
+| field    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|
+| `f3` | pointer to the checking function. Initialize to `config_check_strval` to use the config module implementation |
+| `okstrval` | array of `CONFIG_MAX_NUMCHECKVAL` C string pointers containing the authorized values |
+| `num_okstrval` | number of used values in `okstrtval` |
+
+
+## `s3a` structure
+| field    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|
+| `f3a` | pointer to the checking function. Initialize to `config_checkstr_assign_integer` to use the config module implementation |
+| `okstrval` | array of `CONFIG_MAX_NUMCHECKVAL` C string pointers containing the authorized values |
+| `setintval` | array of `CONFIG_MAX_NUMCHECKVAL` integers containing the values to be used for the parameter. The configuration module implementation set the parameter value to `setintval[i]` when the configured value is `okstrval[i]` |
+| `num_okstrval` | number of used values in `okintval` and `setintval` |
+
+## `s4` and `s5` structures
+| field    | Description                                                     | 
+|:-----------|:------------------------------------------------------------------|
+| `f4`  or `f5` | pointer to the checking function. they are generic structures to be used  when no existing structure provides the required parameter verification. `f4` takes one argument, the `paramdef_t` structure corresponding to the parameter to be checked (`int  (*f4)(paramdef_t *param)`), `f5` taxes no argument (`void (*checkfunc)(void)`) |
+
+[Configuration module developer main page](../../config/devusage.md)  
+[Configuration module home](../../config.md)
diff --git a/common/config/DOC/config/rtusage.md b/common/config/DOC/config/rtusage.md
new file mode 100644
index 0000000000000000000000000000000000000000..19519ef0584e1706b2552fde62e1b9307b9b41f2
--- /dev/null
+++ b/common/config/DOC/config/rtusage.md
@@ -0,0 +1,52 @@
+ 
+   -O  is the only mandatory command line option to start the eNodeb softmodem (lte-softmodem executable), it is used to specify the configuration source with the associated parameters:  
+```bash
+$ ./lte-softmodem -O <configsource>:<parameter1>:<parameter2>:...
+```
+  The configuration module can also be used without a configuration source, ie to only parse the command line. In this case the -O switch is optional. This mode is used in the ue-softmodem executable and by the phy_simulators executables (ulsim, dlsim)  
+
+Currently the available config sources are:
+
+- **libconfig**: libconfig file. [libconfig file format](http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files) Parameter1 is the file path and parameter 2 can be used to specify the level of console messages printed by the configuration module.  
+```bash
+$ ./lte-softmodem -O libconfig:<config>:dbgl<debuglevel>
+```
+- **cmdlineonly**: command line only, the default mode for lte-uesoftmodem and the phy simiulators. In this case -O may be used to specify the config module debug level.
+
+The debug level is a mask:  
+*  bit 1: print parameters values 
+*  bit 2: print memory allocation/free performed by the config module
+*  bit 3: print command line processing messages
+*  bit 4: disable execution abort when parameters checking fails
+
+As a oai user, you may have to use bit 1 (dbgl1) , to check your configuration and get the full name of a parameter you would like to modify on the command line. Other bits are for developers usage, (dbgl7 will print all debug messages).  
+
+```bash
+$ ./lte-softmodem -O libconfig:<config>:dbgl1  
+```
+```bash
+$ ./lte-uesoftmodem -O cmdlineonly:dbgl1
+```
+For the lte-softmodem (the eNodeB) The config source parameter defaults to libconfig, preserving the initial -O option format. In this case you cannot specify the debug level.  
+
+```bash
+$ ./lte-softmodem -O <config>
+```
+
+Configuration file parameters, except for the configuration file path,  can be specified in a **config** section in the configuration file:  
+
+```
+config:
+{
+    debugflags = 1;
+}
+```
+Configuration files examples can be found in the targets/PROJECTS/GENERIC-LTE-EPC/CONF sub-directory of the oai source tree. To minimize the number of configuration file to maintain, any parameter can also be specified on the command line. For example to modify the lte bandwidth to 20 MHz where the configuration file specifies 10MHz you can enter:
+
+```bash
+$ ./lte-softmodem -O <config> --eNBs.[0].component_carriers.[0].N_RB_DL 100
+```  
+
+As specified earlier, use the dbgl1 debug level to get the full name of a parameter you would like to modify on the command line.
+
+[Configuration module home](../config.md)
\ No newline at end of file
diff --git a/common/utils/DOC/loader.md b/common/utils/DOC/loader.md
new file mode 100644
index 0000000000000000000000000000000000000000..91ff0c02f0c3f9e4457f7b16a36169d2745109fc
--- /dev/null
+++ b/common/utils/DOC/loader.md
@@ -0,0 +1,17 @@
+# OAI shared library loader
+
+Shared libraries usage is modularization mechanism which provides the following advantages:
+1. Prevents including in the main executable code which is not used in a given configuration
+1. Provides flexibility, several implementation of a given functionality can be chosen at run-time, without any compilation step. For example you can build several devices (USRP, BladeFR, LimeSDR)  and choose which one you want to use on the command line or via the configuration.
+1.  Makes code evolution easier: as soon as the shared library interface is clearly defined, you can work on the functionality implemented in a shared library while regularly updating the other components of the code. You can decide to develop your own version of a functionality, decide to deliver it or not,  letting the user decide wwhat version he wants to use.
+
+The main drawback is a performance cost at init time, when loading libraries.
+
+
+## Documentation
+
+* [runtime usage](loader/rtusage.md)
+* [developer usage](loader/devusage.md)
+* [module architecture](loader/arch.md)
+
+[oai Wikis home](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home)
\ No newline at end of file
diff --git a/common/utils/DOC/loader/arch.md b/common/utils/DOC/loader/arch.md
new file mode 100644
index 0000000000000000000000000000000000000000..6fd1f47e7b94ec7faa8605aacaa4ec9191589bde
--- /dev/null
+++ b/common/utils/DOC/loader/arch.md
@@ -0,0 +1,7 @@
+# loader source files
+
+The oai shared library loader is implemented in two source files, located in [common/utils](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils)
+1. [load_module_shlib.c](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils/load_module_shlib.c) contains the loader implementation
+1.  [load_module_shlib.h](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils/load_module_shlib.h) is the loader include file containing both private and public data type definitions. It also contain API prototypes.  
+
+[loader home page](../loader.md)
\ No newline at end of file
diff --git a/common/utils/DOC/loader/devusage.md b/common/utils/DOC/loader/devusage.md
new file mode 100644
index 0000000000000000000000000000000000000000..4b82e18362153f7c62c1a90afc4cfaf4da94bef3
--- /dev/null
+++ b/common/utils/DOC/loader/devusage.md
@@ -0,0 +1,17 @@
+The configuration module objectives are 
+1. Allow easy parameters management in oai, helping the development of a flexible, modularized and fully configurable softmodem.
+1. Use a common configuration API in all oai modules
+1. Allow development of alternative configuration sources without modifying the oai code. Today the only delivered configuration source is the libconfig format configuration file.  
+
+As a developer you may need to look at these sections:
+
+* [loading a shared library](devusage/loading.md)
+* [loader API](devusage/api.md) 
+* [loader public structures](devusage/struct.md)  
+
+Loader usage examples can be found in oai sources:  
+
+*  device and transport initialization code: [function `load_lib` in *targets/ARCH/COMMON/__common_lib.c__* ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/targets/ARCH/COMMON/common_lib.c#L91) 
+*  turbo encoder and decoder initialization: [function `load_codinglib`in *openair1/PHY/CODING/__coding_load.c__*](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/openair1/PHY/CODING/coding_load.c#L113)
+
+[loader home page](../loader.md)
diff --git a/common/utils/DOC/loader/devusage/api.md b/common/utils/DOC/loader/devusage/api.md
new file mode 100644
index 0000000000000000000000000000000000000000..21c2a1d25372e848f0723db766aafa4188edc24a
--- /dev/null
+++ b/common/utils/DOC/loader/devusage/api.md
@@ -0,0 +1,20 @@
+ Loader API is defined in the [common/utils/load_module_shlib.h](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/utils/load_module_shlib.h) include file. 
+```c
+int load_module_shlib(char *modname,loader_shlibfunc_t *farray, int numf)
+```
+* possibly initializes the loader, if it has not been already initialized 
+* Formats the full shared library path, using the `modname` argument and the loader `shlibpath` and `shlibversion`configuration parameters. 
+* loads the shared library, using the dlopen system call
+* looks for `< modname >_autoinit` symbol, using the `dlsym` system call and possibly call the corresponding function.
+* looks for `< modname >_checkbuildver` symbol, using the `dlsym` system call and possibly calls the corresponding function. If the return value of this call is `-1`, program execution is stopped. It is the responsibility of the shared library developer to implement or not a `< modname >_checkbuildver` function and to decide if a version mismatch is a fatal condition. The `< modname >_checkbuildver` function must match the `checkverfunc_t` function type. The first argument is the main executable version, as set  in the `PACKAGE_VERSION` macro defined in the [oai CMakeLists](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/cmake_targets/CMakeLists.txt#L218), around line 218. The second argument points to the shared library version which should be set  by the `< modname >_checkbuildver` function. 
+* If the farray pointer is null,  looks for `< modname >_getfarray` symbol, calls the corresponding function when the symbol is found. `< modname >_getfarray` takes one argument, a pointer to a  `loader_shlibfunc_t` array, and returns the number of items in this array, as defined by the `getfarrayfunc_t` type. The `loader_shlibfunc_t` array returned by the shared library must be fully filled (both `fname` and `fptr` fields).
+* looks for the `numf` function symbols listed in the `farray[i].fname` arguments and set the corresponding `farray[i].fptr`function pointers
+
+
+```c
+void * get_shlibmodule_fptr(char *modname, char *fname)
+```
+Returns a pointer to the symbol `fname`, defined in module `modname`, or `NULL` if the symbol is not found. 
+
+[loader home page](../../loader.md)  
+[loader developer home page](../devusage.md)
\ No newline at end of file
diff --git a/common/utils/DOC/loader/devusage/loading.md b/common/utils/DOC/loader/devusage/loading.md
new file mode 100644
index 0000000000000000000000000000000000000000..766bf854620779b9c20d688feb044273850b7b16
--- /dev/null
+++ b/common/utils/DOC/loader/devusage/loading.md
@@ -0,0 +1,56 @@
+Implementing a shared library dynamic load using the oai loader  is a two steps task:
+1.  define the `loader_shlibfunc_t` array, describing the list of externally available functions implemented in the library. This is the interface of the module.
+1.  Call the `load_module_shlib` function, passing it the previously defined array and the number of items in this array. The first argument to `load_module_shlib` is the name identifying the module, which is also used to format the corresponding library name, as described [here](loader/rtusage#shared-library-names)
+
+After a successful `load__module_shlib` call, the function pointer of each `loader_shlibfunc_t` array item has been set and can be used to call the corresponding function.
+
+Typical loader usage looks like:
+
+```c
+/* shared library loader include file */
+#include "common/utils/load_module_shlib.h"
+.............
+/* 
+  define and initialize the array, describing the list of functions 
+  implemented in "mymodule"
+*/
+  loader_shlibfunc_t mymodule_fdesc[2];
+  mymodule_fdesc[0].fname="mymodule_f1"; 
+  mymodule_fdesc[1].fname="mymodule_f2"; 
+
+/*
+ load the library, it's name must be libmymod.so. Configuration can be 
+ used to specify a specific path to look for libmymod.so. Configuration
+ can also specify a version, for example "V1", in this case the loader
+ will look for libmymodV1.so
+*/
+  ret=load_module_shlib("mymod",mymodule_fdesc, sizeof(mymodule_fdesc)/sizeof(loader_shlibfunc_t));
+  if (ret < 0) {
+       fprintf(stderr,"Library couldn't be loaded\n");
+  } else {
+/* 
+library has been loaded, we probably want to call some functions...
+*/
+  ret=((funcf1_t)mymodule_fdesc[0].fptr)();
+
+..................
+/* 
+later and/or somewhere else in the code you may want to call function "mymodule_f2"
+You can use the loader get_shlibmodule_fptr(char *modname, char *fname) function
+to retrieve the pointer to that function
+*/
+funcf2_t *f2;
+int ret;
+int intarg1;
+char *strarg;
+........................
+f2 = (funcf2_t)get_shlibmodule_fptr("mymodule", "mymodule_f2")
+if (f2 != NULL) {
+  ret = f2(intarg1,strarg);
+}
+...............
+```
+When loading a shared library the loader looks for a symbol named `< module name > _autoinit` and, if it finds it, calls it. The `autoinit` function is called without any argument and the returned value, if any, is not tested. 
+
+[loader home page](../loader.md)  
+[loader developer home page](../../loader/devusage.md)
\ No newline at end of file
diff --git a/common/utils/DOC/loader/devusage/struct.md b/common/utils/DOC/loader/devusage/struct.md
new file mode 100644
index 0000000000000000000000000000000000000000..17504f3866fd8ebef73454c9d9c7b21841084fe2
--- /dev/null
+++ b/common/utils/DOC/loader/devusage/struct.md
@@ -0,0 +1,10 @@
+# `loader_shlibfunc_t`structure
+It is defined in include file [ common/util/load_module_shlib.h ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/utils/load_module_shlib.h#L38). This structure is used  to list the symbols that should be searched by the loader when calling the `load_module_shlib` function.
+
+| Fields     | Description                                                       | I/O |
+|:-----------|:------------------------------------------------------------------|----:|
+| `fname`    | symbol name, is passed to the [`dlsym`](http://man7.org/linux/man-pages/man3/dlsym.3.html) system call performed by the loader to get a pointer to the symbol | I |
+| `fptr`     | pointer to the symbol name, set by the loader. `fptr` is defined as a `int (*fptr)(void)` function type | O |
+
+[loader home page](../../loader.md)  
+[loader developer home page](../devusage.md)
\ No newline at end of file
diff --git a/common/utils/DOC/loader/rtusage.md b/common/utils/DOC/loader/rtusage.md
new file mode 100644
index 0000000000000000000000000000000000000000..bf87316e13483fc7d42f47b16ed2f165878a2a34
--- /dev/null
+++ b/common/utils/DOC/loader/rtusage.md
@@ -0,0 +1,50 @@
+## shared library names
+Shared library full names are built by the loader using the format:
+>  < *path* >/lib< *module name* >< *module version* >.so
+
+1.  the < *module name* > is defined at development time, it comes from the `modname`  argument of the `load_module_shlib` call.
+1.  the < *module version* > and < *path* > optional  parameters, are defined at run-time, depending on the configuration.
+
+## loader parameters
+The loader is using the [configuration module](../../../config/DOC/config.md), and defines global and per library parameters. Global parameters must be specified under the **loader** section and library specific parameters under a **loader.<*module name*>** section. Module specific parameters override the global parameters. 
+### Global loader parameters
+| name | type | default | description |
+|:---:|:---:|:---:|:----|
+| `shlibpath` | `string of char` | `""` | directory path used to look for shared libraries, may be superseded by the library specific `shlibpath`.|
+| `maxshlibs` | `integer` | 10 | Maximum number of shared libraries the loader can  manage. |
+
+### library specific loader parameters
+| name | type | default | description |
+|:---:|:---:|:---:|:----|
+| `shlibpath` | `string of char` | `""` | directory path used to look for this shared library.|
+| `shlibversion` | `string of char` | `""` | version to be used to load this shared library.|
+
+### loader configuration examples
+
+The following configuration file example just reproduce the default loader parameters:
+```c
+loader :
+{
+   shlibpath = "./";
+   maxshlibs = 10;
+   liboai_device :
+      {
+      shlibpath = "./";
+      shlibversion = "";
+      }
+};
+```
+If you want to load a device called *liboai_device_USRP.so* without writting a specific configuration, you can start the softmodem using the following command:
+> ./lte-softmodem -O libconfig:/usr/local/oai/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.nbiot.band7.tm1.50PRB.usrpb210.conf:dbgl5  --loader.oai_device.shlibversion _USRP
+
+With this latest example, nn the softmodem logs, you can check that the right device library has been loaded:
+```bash
+[LIBCONFIG] loader.oai_device.shlibpath not found in /usr/local/oai/develop-nb-iot-merge/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.nbiot.band7.tm1.50PRB.usrpb210.conf 
+[LIBCONFIG] loader.oai_device.shlibversion set to default value ""
+[LIBCONFIG] loader.oai_device: 1/2 parameters successfully set, (1 to default value)
+[CONFIG] shlibversion set to  _USRP from command line
+[CONFIG] loader.oai_device 1 options set from command line
+
+```
+
+[loader home page](../loader.md)
\ No newline at end of file
diff --git a/common/utils/T/T_messages.txt b/common/utils/T/T_messages.txt
index 2bce891ac93c425321f5aa05580498c7e1b9b4b3..9d1bd0bbd01251e7bf97a11362c6f8bb9e86d1ec 100644
--- a/common/utils/T/T_messages.txt
+++ b/common/utils/T/T_messages.txt
@@ -75,8 +75,12 @@ ID = ENB_PHY_MSG3_ALLOCATION
     FORMAT = int,eNB_ID : int,frame : int,subframe : int,rnti : int,first_transmission : int,Msg3_frame : int,Msg3_subframe
 ID = ENB_PHY_INITIATE_RA_PROCEDURE
     DESC = eNodeB initiates a random access procedure after detecting enough energy for one of the preambles
-    GROUP = ALL:PHY:ENB
+    GROUP = ALL:PHY:ENB:WIRESHARK
     FORMAT = int,eNB_ID : int,frame : int,subframe : int,preamble : int,energy : int,delay
+ID = ENB_PHY_MIB
+    DESC = MIB data
+    GROUP = ALL:PHY:ENB:WIRESHARK
+    FORMAT = int,eNB_ID : int,frame : int,subframe : buffer,data
 
 #MAC logs
 ID = ENB_MAC_UE_DL_SDU
@@ -97,7 +101,7 @@ ID = ENB_MAC_UE_UL_PDU
     FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu
 ID = ENB_MAC_UE_UL_PDU_WITH_DATA
     DESC = MAC uplink UE received PDU
-    GROUP = ALL:MAC:ENB
+    GROUP = ALL:MAC:ENB:WIRESHARK
     FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu : buffer,data
 ID = ENB_MAC_UE_UL_SDU
     DESC = MAC uplink UE received SDU
@@ -113,12 +117,16 @@ ID = ENB_MAC_UE_UL_CE
     FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,ce
 ID = ENB_MAC_UE_DL_PDU_WITH_DATA
     DESC = MAC downlink PDU for an UE
-    GROUP = ALL:MAC:ENB
+    GROUP = ALL:MAC:ENB:WIRESHARK
     FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : buffer,data
 ID = ENB_MAC_SCHEDULING_REQUEST
     DESC = MAC scheduling request detected for an UE
     GROUP = ALL:MAC:ENB
     FORMAT = int,eNB_ID : int,CC_id : int,frame : int,subframe : int,rnti
+ID = ENB_MAC_UE_DL_RAR_PDU_WITH_DATA
+    DESC = MAC downlink PDU for an UE
+    GROUP = ALL:MAC:ENB:WIRESHARK
+    FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : buffer,data
 
 #RLC logs
 ID = ENB_RLC_DL
diff --git a/common/utils/T/tracer/Makefile b/common/utils/T/tracer/Makefile
index 3da4aa13a17528cc1396f5eedc2e40eee91c2cb1..792c2a407c1ce1233ad8930396a86996020c2001 100644
--- a/common/utils/T/tracer/Makefile
+++ b/common/utils/T/tracer/Makefile
@@ -60,6 +60,11 @@ macpdu2wireshark: macpdu2wireshark.o database.o utils.o handler.o event.o \
 multi: multi.o utils.o database.o config.o
 	$(CC) $(CFLAGS) -o multi $^ $(LIBS)
 
+multi.o: ../T_IDs.h
+
+../T_IDs.h:
+	cd .. && $(MAKE)
+
 .PHONY: all gui/gui.a view/view.a logger/logger.a filter/filter.a
 
 gui/gui.a:
diff --git a/common/utils/T/tracer/extract.c b/common/utils/T/tracer/extract.c
index 2aec38831fe2c528cd12cbaa3814e75813eb3bfe..d66e8a3bb8517a82c985af61aebc46af012825d0 100644
--- a/common/utils/T/tracer/extract.c
+++ b/common/utils/T/tracer/extract.c
@@ -16,6 +16,8 @@ void usage(void)
 "    -f <name> <value>         field 'name' of 'event' has to match 'value'\n"
 "                              type of 'name' must be int\n"
 "                              (you can use several -f options)\n"
+"    -after <raw time> <nsec>  'event' time has to be greater than this\n"
+"    -count <n>                dump 'n' matching events (less if EOF reached)\n"
   );
   exit(1);
 }
@@ -51,6 +53,10 @@ int main(int n, char **v)
   int filter_count = 0;
   int buffer_arg;
   int found;
+  int count = 1;
+  int check_time = 0;
+  time_t sec;
+  long nsec;
 
   for (i = 1; i < n; i++) {
     if (!strcmp(v[i], "-h") || !strcmp(v[i], "--help")) usage();
@@ -63,6 +69,14 @@ int main(int n, char **v)
       filter_value[filter_count++] = atoi(v[++i]);
       continue;
     }
+    if (!strcmp(v[i], "-after")) { if (i>n-3) usage();
+      check_time = 1;
+      sec        = atoll(v[++i]);
+      nsec       = atol(v[++i]);
+      continue;
+    }
+    if (!strcmp(v[i], "-count"))
+      { if (i > n-2) usage(); count = atoi(v[++i]); continue; }
     if (file == NULL) { file = v[i]; continue; }
     if (event_name == NULL) { event_name = v[i]; continue; }
     if (buffer_name == NULL) { buffer_name = v[i]; continue; }
@@ -111,13 +125,20 @@ int main(int n, char **v)
         break;
     if (i != filter_count)
       continue;
+    if (check_time &&
+        !(e.sending_time.tv_sec > sec ||
+         (e.sending_time.tv_sec == sec && e.sending_time.tv_nsec >= nsec)))
+      continue;
     if (fwrite(e.e[buffer_arg].b, e.e[buffer_arg].bsize, 1, out) != 1)
       { perror(output_file); exit(1); }
-    found = 1;
-    break;
+    found++;
+    if (found == count)
+      break;
   }
 
   if (found == 0) printf("ERROR: event not found\n");
+  if (found != count)
+    printf("WARNING: dumped %d events (wanted %d)\n", found, count);
 
   fclose(out);
 
diff --git a/common/utils/T/tracer/logger/logger.h b/common/utils/T/tracer/logger/logger.h
index 434cf5a90fee02a4c97d33ddcab26e5f484b193c..7c019b4797244b5edc4a8120cc551392f52b09fb 100644
--- a/common/utils/T/tracer/logger/logger.h
+++ b/common/utils/T/tracer/logger/logger.h
@@ -30,6 +30,7 @@ void framelog_set_skip(logger *_this, int skip_delay);
 void framelog_set_update_only_at_sf9(logger *_this, int update_only_at_sf9);
 
 void textlog_dump_buffer(logger *_this, int dump_buffer);
+void textlog_raw_time(logger *_this, int raw_time);
 
 #include "view/view.h"
 
diff --git a/common/utils/T/tracer/logger/textlog.c b/common/utils/T/tracer/logger/textlog.c
index 9eb6fd02d8fbbec5d63702c4b89d80df2327fe92..76f920e1e2e96bb0b68971ce9826b78a7e441c3f 100644
--- a/common/utils/T/tracer/logger/textlog.c
+++ b/common/utils/T/tracer/logger/textlog.c
@@ -33,6 +33,7 @@ struct textlog {
   /* local output buffer */
   OBUF o;
   int dump_buffer;
+  int raw_time;
 };
 
 static void _event(void *p, event e)
@@ -51,9 +52,13 @@ static void _event(void *p, event e)
 
 #ifdef T_SEND_TIME
   t = localtime(&e.sending_time.tv_sec);
-  /* round tv_nsec to nearest millisecond */
-  sprintf(tt, "%2.2d:%2.2d:%2.2d.%9.9ld: ", t->tm_hour, t->tm_min, t->tm_sec,
-      e.sending_time.tv_nsec);
+  if (l->raw_time)
+    sprintf(tt, "%2.2d:%2.2d:%2.2d.%9.9ld [%ld]: ",
+        t->tm_hour, t->tm_min, t->tm_sec,
+        e.sending_time.tv_nsec, e.sending_time.tv_sec);
+  else
+    sprintf(tt, "%2.2d:%2.2d:%2.2d.%9.9ld: ", t->tm_hour, t->tm_min, t->tm_sec,
+        e.sending_time.tv_nsec);
   PUTS(&l->o, tt);
 #endif
 
@@ -215,3 +220,9 @@ void textlog_dump_buffer(logger *_this, int dump_buffer)
   struct textlog *l = _this;
   l->dump_buffer = dump_buffer;
 }
+
+void textlog_raw_time(logger *_this, int raw_time)
+{
+  struct textlog *l = _this;
+  l->raw_time = raw_time;
+}
diff --git a/common/utils/T/tracer/macpdu2wireshark.c b/common/utils/T/tracer/macpdu2wireshark.c
index 954f668aa420c0cd0070f58757df721727199e2a..d9bcb8b7f5f255cca66ba4a36ffa561687aa0baf 100644
--- a/common/utils/T/tracer/macpdu2wireshark.c
+++ b/common/utils/T/tracer/macpdu2wireshark.c
@@ -14,6 +14,11 @@
 #define DEFAULT_IP   "127.0.0.1"
 #define DEFAULT_PORT 9999
 
+#define DEFAULT_LIVE_IP   "127.0.0.1"
+#define DEFAULT_LIVE_PORT 2021
+
+#define NO_PREAMBLE -1
+
 typedef struct {
   int socket;
   struct sockaddr_in to;
@@ -28,11 +33,33 @@ typedef struct {
   int dl_frame;
   int dl_subframe;
   int dl_data;
+  /* mib */
+  int mib_frame;
+  int mib_subframe;
+  int mib_data;
+  /* RA preamble */
+  int preamble_frame;
+  int preamble_subframe;
+  int preamble_preamble;
+  /* RAR */
+  int rar_rnti;
+  int rar_frame;
+  int rar_subframe;
+  int rar_data;
+  /* config */
+  int no_mib;
+  int no_sib;
+  int max_mib;
+  int max_sib;
+  int live;
+  /* runtime vars */
+  int cur_mib;
+  int cur_sib;
 } ev_data;
 
-void ul(void *_d, event e)
+void trace(ev_data *d, int direction, int rnti_type, int rnti,
+    int frame, int subframe, void *buf, int bufsize, int preamble)
 {
-  ev_data *d = _d;
   ssize_t ret;
   int fsf;
   int i;
@@ -41,79 +68,124 @@ void ul(void *_d, event e)
 
   PUTS(&d->buf, MAC_LTE_START_STRING);
   PUTC(&d->buf, FDD_RADIO);
-  PUTC(&d->buf, DIRECTION_UPLINK);
-  PUTC(&d->buf, C_RNTI);
+  PUTC(&d->buf, direction);
+  PUTC(&d->buf, rnti_type);
 
-  PUTC(&d->buf, MAC_LTE_RNTI_TAG);
-  PUTC(&d->buf, (e.e[d->ul_rnti].i>>8) & 255);
-  PUTC(&d->buf, e.e[d->ul_rnti].i & 255);
+  if (rnti_type == C_RNTI || rnti_type == RA_RNTI) {
+    PUTC(&d->buf, MAC_LTE_RNTI_TAG);
+    PUTC(&d->buf, (rnti>>8) & 255);
+    PUTC(&d->buf, rnti & 255);
+  }
 
   /* for newer version of wireshark? */
-  fsf = (e.e[d->ul_frame].i << 4) + e.e[d->ul_subframe].i;
+  fsf = (frame << 4) + subframe;
   /* for older version? */
-  fsf = e.e[d->ul_subframe].i;
+  //fsf = subframe;
   PUTC(&d->buf, MAC_LTE_FRAME_SUBFRAME_TAG);
   PUTC(&d->buf, (fsf>>8) & 255);
   PUTC(&d->buf, fsf & 255);
 
+  if (preamble != NO_PREAMBLE) {
+    PUTC(&d->buf, MAC_LTE_SEND_PREAMBLE_TAG);
+    PUTC(&d->buf, preamble);
+    PUTC(&d->buf, 0); /* rach attempt - always 0 for us (not sure of this) */
+  }
+
   PUTC(&d->buf, MAC_LTE_PAYLOAD_TAG);
-  for (i = 0; i < e.e[d->ul_data].bsize; i++)
-    PUTC(&d->buf, ((char*)e.e[d->ul_data].b)[i]);
+  for (i = 0; i < bufsize; i++)
+    PUTC(&d->buf, ((char*)buf)[i]);
 
   ret = sendto(d->socket, d->buf.obuf, d->buf.osize, 0,
       (struct sockaddr *)&d->to, sizeof(struct sockaddr_in));
   if (ret != d->buf.osize) abort();
 }
 
+void ul(void *_d, event e)
+{
+  ev_data *d = _d;
+  trace(d, DIRECTION_UPLINK, C_RNTI, e.e[d->ul_rnti].i,
+        e.e[d->ul_frame].i, e.e[d->ul_subframe].i,
+        e.e[d->ul_data].b, e.e[d->ul_data].bsize,
+        NO_PREAMBLE);
+}
+
 void dl(void *_d, event e)
 {
   ev_data *d = _d;
-  ssize_t ret;
-  int fsf;
-  int i;
 
-  d->buf.osize = 0;
+  if (e.e[d->dl_rnti].i == 0xffff) {
+    if (d->no_sib) return;
+    if (d->max_sib && d->cur_sib == d->max_sib) return;
+    d->cur_sib++;
+  }
 
-  PUTS(&d->buf, MAC_LTE_START_STRING);
-  PUTC(&d->buf, FDD_RADIO);
-  PUTC(&d->buf, DIRECTION_DOWNLINK);
-  PUTC(&d->buf, C_RNTI);
+  trace(d, DIRECTION_DOWNLINK,
+        e.e[d->dl_rnti].i != 0xffff ? C_RNTI : SI_RNTI, e.e[d->dl_rnti].i,
+        e.e[d->dl_frame].i, e.e[d->dl_subframe].i,
+        e.e[d->dl_data].b, e.e[d->dl_data].bsize,
+        NO_PREAMBLE);
+}
 
-  PUTC(&d->buf, MAC_LTE_RNTI_TAG);
-  PUTC(&d->buf, (e.e[d->dl_rnti].i>>8) & 255);
-  PUTC(&d->buf, e.e[d->dl_rnti].i & 255);
+void mib(void *_d, event e)
+{
+  ev_data *d = _d;
 
-  /* for newer version of wireshark? */
-  fsf = (e.e[d->dl_frame].i << 4) + e.e[d->dl_subframe].i;
-  /* for older version? */
-  fsf = e.e[d->dl_subframe].i;
-  PUTC(&d->buf, MAC_LTE_FRAME_SUBFRAME_TAG);
-  PUTC(&d->buf, (fsf>>8) & 255);
-  PUTC(&d->buf, fsf & 255);
+  if (d->no_mib) return;
+  if (d->max_mib && d->cur_mib == d->max_mib) return;
+  d->cur_mib++;
 
-  PUTC(&d->buf, MAC_LTE_PAYLOAD_TAG);
-  for (i = 0; i < e.e[d->dl_data].bsize; i++)
-    PUTC(&d->buf, ((char*)e.e[d->dl_data].b)[i]);
+  trace(d, DIRECTION_DOWNLINK, NO_RNTI, 0,
+        e.e[d->mib_frame].i, e.e[d->mib_subframe].i,
+        e.e[d->mib_data].b, e.e[d->mib_data].bsize,
+        NO_PREAMBLE);
+}
 
-  ret = sendto(d->socket, d->buf.obuf, d->buf.osize, 0,
-      (struct sockaddr *)&d->to, sizeof(struct sockaddr_in));
-  if (ret != d->buf.osize) abort();
+void preamble(void *_d, event e)
+{
+  ev_data *d = _d;
+  trace(d, DIRECTION_UPLINK, NO_RNTI, 0,
+        e.e[d->preamble_frame].i, e.e[d->preamble_subframe].i,
+        NULL, 0,
+        e.e[d->preamble_preamble].i);
+}
+
+void rar(void *_d, event e)
+{
+  ev_data *d = _d;
+  trace(d, DIRECTION_DOWNLINK, RA_RNTI, e.e[d->rar_rnti].i,
+        e.e[d->rar_frame].i, e.e[d->rar_subframe].i,
+        e.e[d->rar_data].b, e.e[d->rar_data].bsize,
+        NO_PREAMBLE);
 }
 
-void setup_data(ev_data *d, void *database, int ul_id, int dl_id)
+void setup_data(ev_data *d, void *database, int ul_id, int dl_id, int mib_id,
+    int preamble_id, int rar_id)
 {
   database_event_format f;
   int i;
 
-  d->ul_rnti     = -1;
-  d->ul_frame    = -1;
-  d->ul_subframe = -1;
-  d->ul_data     = -1;
+  d->ul_rnti           = -1;
+  d->ul_frame          = -1;
+  d->ul_subframe       = -1;
+  d->ul_data           = -1;
+
+  d->dl_rnti           = -1;
+  d->dl_frame          = -1;
+  d->dl_subframe       = -1;
+  d->dl_data           = -1;
 
-  d->dl_rnti     = -1;
-  d->dl_frame    = -1;
-  d->dl_subframe = -1;
-  d->dl_data     = -1;
+  d->mib_frame         = -1;
+  d->mib_subframe      = -1;
+  d->mib_data          = -1;
+
+  d->preamble_frame    = -1;
+  d->preamble_subframe = -1;
+  d->preamble_preamble = -1;
+
+  d->rar_rnti           = -1;
+  d->rar_frame          = -1;
+  d->rar_subframe       = -1;
+  d->rar_data           = -1;
 
 #define G(var_name, var_type, var) \
   if (!strcmp(f.name[i], var_name)) { \
@@ -144,6 +216,37 @@ void setup_data(ev_data *d, void *database, int ul_id, int dl_id)
   if (d->dl_rnti == -1 || d->dl_frame == -1 || d->dl_subframe == -1 ||
       d->dl_data == -1) goto error;
 
+  /* MIB: frame, subframe, data */
+  f = get_format(database, mib_id);
+  for (i = 0; i < f.count; i++) {
+    G("frame",    "int",    d->mib_frame);
+    G("subframe", "int",    d->mib_subframe);
+    G("data",     "buffer", d->mib_data);
+  }
+  if (d->mib_frame == -1 || d->mib_subframe == -1 || d->mib_data == -1)
+    goto error;
+
+  /* preamble: frame, subframe, preamble */
+  f = get_format(database, preamble_id);
+  for (i = 0; i < f.count; i++) {
+    G("frame",    "int", d->preamble_frame);
+    G("subframe", "int", d->preamble_subframe);
+    G("preamble", "int", d->preamble_preamble);
+  }
+  if (d->preamble_frame == -1 || d->preamble_subframe == -1 ||
+      d->preamble_preamble == -1) goto error;
+
+  /* rar: rnti, frame, subframe, data */
+  f = get_format(database, rar_id);
+  for (i = 0; i < f.count; i++) {
+    G("rnti",     "int",    d->rar_rnti);
+    G("frame",    "int",    d->rar_frame);
+    G("subframe", "int",    d->rar_subframe);
+    G("data",     "buffer", d->rar_data);
+  }
+  if (d->rar_rnti == -1 || d->rar_frame == -1 || d->rar_subframe == -1 ||
+      d->rar_data == -1) goto error;
+
 #undef G
 
   return;
@@ -179,9 +282,20 @@ void usage(void)
 "    -d <database file>        this option is mandatory\n"
 "    -i <dump file>            read events from this dump file\n"
 "    -ip <IP address>          send packets to this IP address (default %s)\n"
-"    -p <port>                 send packets to this port (default %d)\n",
+"    -p <port>                 send packets to this port (default %d)\n"
+"    -no-mib                   do not report MIB\n"
+"    -no-sib                   do not report SIBs\n"
+"    -max-mib <n>              report at maximum n MIB\n"
+"    -max-sib <n>              report at maximum n SIBs\n"
+"    -live                     run live\n"
+"    -live-ip <IP address>     tracee's IP address (default %p)\n"
+"    -live-port <por>          tracee's port (default %d)\n"
+"-i and -live are mutually exclusive options. One of them must be provided\n"
+"but not both.\n",
   DEFAULT_IP,
-  DEFAULT_PORT
+  DEFAULT_PORT,
+  DEFAULT_LIVE_IP,
+  DEFAULT_LIVE_PORT
   );
   exit(1);
 }
@@ -194,10 +308,13 @@ int main(int n, char **v)
   event_handler *h;
   int in;
   int i;
-  int ul_id, dl_id;
+  int ul_id, dl_id, mib_id = -1, preamble_id, rar_id;
   ev_data d;
   char *ip = DEFAULT_IP;
   int port = DEFAULT_PORT;
+  char *live_ip = DEFAULT_LIVE_IP;
+  int live_port = DEFAULT_LIVE_PORT;
+  int live = 0;
 
   memset(&d, 0, sizeof(ev_data));
 
@@ -209,6 +326,17 @@ int main(int n, char **v)
       { if (i > n-2) usage(); input_filename = v[++i]; continue; }
     if (!strcmp(v[i], "-ip")) { if (i > n-2) usage(); ip = v[++i]; continue; }
     if (!strcmp(v[i], "-p")) {if(i>n-2)usage(); port=atoi(v[++i]); continue; }
+    if (!strcmp(v[i], "-no-mib")) { d.no_mib = 1; continue; }
+    if (!strcmp(v[i], "-no-sib")) { d.no_sib = 1; continue; }
+    if (!strcmp(v[i], "-max-mib"))
+      { if (i > n-2) usage(); d.max_mib = atoi(v[++i]); continue; }
+    if (!strcmp(v[i], "-max-sib"))
+      { if (i > n-2) usage(); d.max_sib = atoi(v[++i]); continue; }
+    if (!strcmp(v[i], "-live")) { live = 1; continue; }
+    if (!strcmp(v[i], "-live-ip"))
+      { if (i > n-2) usage(); live_ip = v[++i]; continue; }
+    if (!strcmp(v[i], "-live-port"))
+      { if (i > n-2) usage(); live_port = atoi(v[++i]); continue; }
     usage();
   }
 
@@ -217,25 +345,59 @@ int main(int n, char **v)
     exit(1);
   }
 
-  if (input_filename == NULL) {
-    printf("ERROR: provide an input file (-i)\n");
+  if (input_filename == NULL && live == 0) {
+    printf("ERROR: provide an input file (-i) or run live (-live)\n");
+    exit(1);
+  }
+
+  if (input_filename != NULL && live != 0) {
+    printf("ERROR: cannot use both -i and -live\n");
     exit(1);
   }
 
-  in = open(input_filename, O_RDONLY);
-  if (in == -1) { perror(input_filename); return 1; }
+  if (live == 0) {
+    in = open(input_filename, O_RDONLY);
+    if (in == -1) { perror(input_filename); return 1; }
+  } else
+    in = connect_to(live_ip, live_port);
 
   database = parse_database(database_filename);
   load_config_file(database_filename);
 
   h = new_handler(database);
 
+  if (live) {
+    char mt = 1;
+    int  number_of_events = number_of_ids(database);
+    int *is_on = calloc(number_of_events, sizeof(int));
+    if (is_on == NULL) { printf("ERROR: out of memory\n"); exit(1); }
+    on_off(database, "ENB_MAC_UE_UL_PDU_WITH_DATA", is_on, 1);
+    on_off(database, "ENB_MAC_UE_DL_PDU_WITH_DATA", is_on, 1);
+    on_off(database, "ENB_PHY_MIB", is_on, 1);
+    on_off(database, "ENB_PHY_INITIATE_RA_PROCEDURE", is_on, 1);
+    on_off(database, "ENB_MAC_UE_DL_RAR_PDU_WITH_DATA", is_on, 1);
+    /* activate selected traces */
+    if (socket_send(in, &mt, 1) == -1 ||
+        socket_send(in, &number_of_events, sizeof(int)) == -1 ||
+        socket_send(in, is_on, number_of_events * sizeof(int)) == -1) {
+      printf("ERROR: socket_send failed\n");
+      exit(1);
+    }
+    free(is_on);
+  }
+
   ul_id = event_id_from_name(database, "ENB_MAC_UE_UL_PDU_WITH_DATA");
   dl_id = event_id_from_name(database, "ENB_MAC_UE_DL_PDU_WITH_DATA");
-  setup_data(&d, database, ul_id, dl_id);
+  mib_id = event_id_from_name(database, "ENB_PHY_MIB");
+  preamble_id = event_id_from_name(database, "ENB_PHY_INITIATE_RA_PROCEDURE");
+  rar_id = event_id_from_name(database, "ENB_MAC_UE_DL_RAR_PDU_WITH_DATA");
+  setup_data(&d, database, ul_id, dl_id, mib_id, preamble_id, rar_id);
 
   register_handler_function(h, ul_id, ul, &d);
   register_handler_function(h, dl_id, dl, &d);
+  register_handler_function(h, mib_id, mib, &d);
+  register_handler_function(h, preamble_id, preamble, &d);
+  register_handler_function(h, rar_id, rar, &d);
 
   d.socket = socket(AF_INET, SOCK_DGRAM, 0);
   if (d.socket == -1) { perror("socket"); exit(1); }
@@ -253,7 +415,8 @@ int main(int n, char **v)
     event e;
     e = get_event(in, &ebuf, database);
     if (e.type == -1) break;
-    if (!(e.type == ul_id || e.type == dl_id)) continue;
+    if (!(e.type == ul_id || e.type == dl_id || e.type == mib_id ||
+          e.type == preamble_id || e.type == rar_id)) continue;
     handle_event(h, e);
   }
 
diff --git a/common/utils/T/tracer/textlog.c b/common/utils/T/tracer/textlog.c
index bb773b42150b9fcc15b7378405818a4b14db0e42..a123bf9bf518b9104d224c5a3d849c5cc690e7af 100644
--- a/common/utils/T/tracer/textlog.c
+++ b/common/utils/T/tracer/textlog.c
@@ -52,6 +52,7 @@ void usage(void)
 "                                    they will be processed in order\n"
 "                                    by default, all is off\n"
 "    -full                     also dump buffers' content\n"
+"    -raw-time                 also prints 'raw time'\n"
 "    -ip <host>                connect to given IP address (default %s)\n"
 "    -p <port>                 connect to given port (default %d)\n"
 "    -x                        GUI output\n"
@@ -91,6 +92,7 @@ int main(int n, char **v)
   int gui_active = 1;
   textlog_data textlog_data;
   int full = 0;
+  int raw_time = 0;
 
   /* write on a socket fails if the other end is closed and we get SIGPIPE */
   if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) abort();
@@ -117,6 +119,7 @@ int main(int n, char **v)
     if (!strcmp(v[i], "-debug-gui")) { gui_logd = 1; continue; }
     if (!strcmp(v[i], "-no-gui")) { gui_active = 0; continue; }
     if (!strcmp(v[i], "-full")) { full = 1; continue; }
+    if (!strcmp(v[i], "-raw-time")) { raw_time = 1; continue; }
     usage();
   }
 
@@ -162,6 +165,7 @@ int main(int n, char **v)
 //        "ev: {} eNB_id [eNB_ID] frame [frame] subframe [subframe]");
     logger_add_view(textlog, out);
     if (full) textlog_dump_buffer(textlog, 1);
+    if (raw_time) textlog_raw_time(textlog, 1);
     free(name);
     free(desc);
   }
@@ -187,7 +191,7 @@ int main(int n, char **v)
   while (1) {
     event e;
     e = get_event(textlog_data.socket, &ebuf, database);
-    if (e.type == -1) abort();
+    if (e.type == -1) break;
     handle_event(h, e);
   }
 
diff --git a/common/utils/telnetsrv/DOC/telnetaddcmd.md b/common/utils/telnetsrv/DOC/telnetaddcmd.md
new file mode 100644
index 0000000000000000000000000000000000000000..ef5af3fb7ee34219d9d2d44c197cbcfe0a263824
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetaddcmd.md
@@ -0,0 +1,116 @@
+# code example of adding a command to the telnet server
+
+The following example is extracted from [the oai `openair1/PHY/CODING/coding_load.c` file](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/openair1/PHY/CODING/coding_load.c).
+
+```c
+/* 
+include the telnet server data structures and API definitions
+*/
+#include "common/utils/telnetsrv/telnetsrv.h" 
+
+
+/*
+define the null terminated array of telnetshell_cmddef_t structures
+which map each sub-command string to a function implementing it. 
+you may also provide a help string which will be printed when
+the global help command is used. The prototype for the function
+implementing sub commands must match the `cmdfunc_t` type defined
+in `telnetsrv.h`
+*/
+static int coding_setmod_cmd(char *buff, int debug, telnet_printfunc_t prnt);
+static telnetshell_cmddef_t coding_cmdarray[] = {
+   {"mode","[sse,avx2,stdc,none]",coding_setmod_cmd},
+   {"","",NULL},
+};
+
+/*
+define the null terminated list of telnetshell_vardef_t structures defining the
+variables that can be set and get using the pre-defined get and set command 
+of the telnet server
+*/
+telnetshell_vardef_t coding_vardef[] = {
+{"maxiter",TELNET_VARTYPE_INT32,&max_turbo_iterations},
+{"",0,NULL}
+};
+.................
+/*
+ look for telnet server, if it is loaded, add the coding commands to it 
+ we use the shared library loader API to check the telnet server availibility
+The telnet server TELNET_ADDCMD_FNAME function takes three arguments:
+1.  The name of the telnet command to be added, here "coding"
+1.  The `coding_cmdarray` list of "coding" sub-commands we defined earlier
+1.  The `coding_varde f`list of variables we defined earlier
+*/
+     add_telnetcmd_func_t addcmd = (add_telnetcmd_func_t)get_shlibmodule_fptr("telnetsrv", TELNET_ADDCMD_FNAME);
+     if (addcmd != NULL) {
+         addcmd("coding",coding_vardef,coding_cmdarray); 
+.......
+/* 
+  functions implementing the "coding mode" sub command, as defined in
+  the `coding_cmdarray` passed earlier to the TELNET_ADDCMD_FNAME function.
+  This function will be called by the telnet server, when the `coding_cmdarray`
+  command is received from the telnet client
+*/
+int coding_setmod_cmd(char *buff, int debug, telnet_printfunc_t prnt)
+{
+  /* 
+  1. buff argument is an input argument, pointer to the string received
+  from the telnet client, the command and sub-command parts are removed
+  In this case it points after "coding setmod" and is of no use as
+  we don't have second level sub-commands.  
+  1. debug argument is an input argument set by the telnet server
+  1. prnt arguments is also an input argument, a function pointer, to be used 
+  in place of printf to print messages on the telnet client interface. As this function
+  is called by the telnet server stdout points to the main executable console,  
+  */
+   if (debug > 0)
+       prnt( "coding_setmod_cmd received %s\n",buff);
+
+      if (strcasestr(buff,"sse") != NULL) {
+         decoding_setmode(MODE_DECODE_SSE);
+      } else if (strcasestr(buff,"avx2") != NULL) {
+         decoding_setmode(MODE_DECODE_AVX2);
+      } else if (strcasestr(buff,"stdc") != NULL) {
+         decoding_setmode(MODE_DECODE_C);
+      } else if (strcasestr(buff,"none") != NULL) {
+         decoding_setmode(MODE_DECODE_NONE);
+      } else {
+          prnt("%s: wrong setmod parameter...\n",buff);
+      }
+   prnt("Coding and decoding current mode: %s\n",modedesc[curmode]);
+   return 0;
+}
+
+..............
+
+```
+# telnet server API
+
+```c
+int add_telnetcmd(char *modulename, telnetshell_vardef_t *var, telnetshell_cmddef_t *cmd)
+```
+Add a command and the `cmd` list of sub-commands to the telnet server. After a successful call to `add_telnetcmd` function, the telnet server calls the function defined for each sub-commands in the null terminated `cmd` array, when the character string received from the telnet client matches the command and sub-command strings.  
+Also adds the list of variables described in the `var` array to the list of variable which can be set and read.  
+The function returns -1 if one argument is NULL.  
+The telnet server is dynamically loaded, to use  the `add_telnetcmd` function, the shared library loader API should be used to check the availability of the telnet server and retrieve it's address, as shown in [the example at the top of this page](telnetaddcmd.md#code-example-of-adding-a-command-to-the-telnet-server).  
+
+# telnet server public data types
+## `telnetshell_vardef_t`structure  
+ This structure is used by developers to describe the variables that can be set or read using the get,set and getall sub-commands.
+
+| Fields     | type |Description                                                       | 
+|:-----------|:------:|:-----------------------|
+| `varname`    | `char[TELNET_CMD_MAXSIZE]`  | variable name, as specified when using the get and set commands. |
+| `vartype`     | `char` |  Defines the type of the variable pointed by the `varvalptr`field. Supported values: TELNET_VARTYPE_INT32  TELNET_VARTYPE_INT16 TELNET_VARTYPE_INT64  TELNET_VARTYPE_STRING   TELNET_VARTYPE_DOUBLE |
+| `varvalptr`     | `void*` |  Defines the type of the variable pointed by the `varvalptr`field |
+
+## `telnetshell_cmddef_t`structure  
+ This structure is used by developers to describe the first level sub-commands to be added to the telnet server.
+
+| Fields     | type |Description                                                       | 
+|:-----------|:------:|:-----------------------|
+| `cmdname`    | `char[TELNET_CMD_MAXSIZE]`  | command name, as tested by the telnet server to check it should call the `cmdfunc` function  |
+| `helpstr`     | `char[TELNET_HELPSTR_SIZE]` |  character string to print when the elp`command is received from the telnet client |
+| `cmdfunc`     | `cmdfunc_t` |  pointer to the function implementing the `cmdname` sub command. |
+
+[oai telnet server home](telnetsrv.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetarch.md b/common/utils/telnetsrv/DOC/telnetarch.md
new file mode 100644
index 0000000000000000000000000000000000000000..f31a51b352b06bf98961d96fc97b0edf446fd3a5
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetarch.md
@@ -0,0 +1,21 @@
+# telnet server principles
+
+The oai telnet server is implemented in a shared library to be loaded by the [oai shared library loader](loader). The implementation includes a `telnetsrv_autoinit` function which is automatically called at load time, starts the telnet server and registers a first set of commands, which are delivered with the server (telnet, softmodem, loader).
+
+Currently the telnet server only supports one user connection. The same dedicated thread is used to wait for a user connection and process the input received from this connection.
+
+The telnet server provides an API which can be used by any oai component to add new CLI commands to the server. A pre-defined  command can be used to get or set a list of variables. 
+
+
+ 
+# telnet server source files
+
+telnet server source files are located in [common/utils/telnetsrv](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils/telnetsrv)
+
+1. [telnetsrv.c](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils/telnetsrv/telnetsrv.c) contains the telnet server implementation, including the implementation of the telnet CLI command. 
+1.  [telnetsrv.h](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils/telnetsrv/telnetsrv.h) is the telnet server include file containing both private and public data type definitions. It also contains API prototypes for functions that are used to register a new command in the server.
+1.  `telnetsrv\_\<XXX\>.c`: implementation of \<XXX\> CLI command which are delivered with the telnet server.
+1.  `telnetsrv\_\<XXX\>.h`: include file for the implementation of XXX CLI command. Usually included only in the corresponding `.c`file
+1.  [telnetsrv_CMakeLists.txt](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/utils/telnetsrv/telnetsrv_CMakeLists.txt): CMakelists file containing the cmake instructions to build the telnet server. this file is included in the [global oai CMakelists](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/cmake_targets/CMakeLists.txt).
+
+[oai telnet server home](telnetsrv.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetgetset.md b/common/utils/telnetsrv/DOC/telnetgetset.md
new file mode 100644
index 0000000000000000000000000000000000000000..e0b2c90d79cd787f3316611d2c7bc7d250b4e59b
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetgetset.md
@@ -0,0 +1,21 @@
+getall command can be used to get the list of variables that can bet set or get from the telnet shell. Knowing the names of the variables they can then be set or read. Setting a variable is not always relevant, the telnet server doesn't provide a mechanism to restrict the set command.
+
+```bash
+softmodem> telnet getall
+telnet, debug = 0
+telnet, prio = 0
+telnet, loopc = 10
+telnet, loopd = 5000
+telnet, phypb = 65000
+telnet, hsize = 50
+telnet, hfile = "oaitelnet.history"
+softmodem> telnet set loopc 100
+telnet, loopc set to 
+100
+softmodem> telnet get loopc
+telnet, loopc = 100
+softmodem> 
+
+```
+[oai telnetserver home](telnetsrv.md)  
+[oai telnetserver usage home](telnetusage.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnethelp.md b/common/utils/telnetsrv/DOC/telnethelp.md
new file mode 100644
index 0000000000000000000000000000000000000000..63183fb61189430149b6e4faac78f303090abd48
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnethelp.md
@@ -0,0 +1,57 @@
+# oai telnet server global help
+
+``` bash
+alblf@at8020-a:~$ telnet 10.133.10.77 9090
+Trying 10.133.10.77...
+Connected to 10.133.10.77.
+Escape character is '^]'.
+
+softmodem> help
+   module 0 = telnet:
+      telnet [get set] debug <value>
+      telnet [get set] prio <value>
+      telnet [get set] loopc <value>
+      telnet [get set] loopd <value>
+      telnet [get set] phypb <value>
+      telnet [get set] hsize <value>
+      telnet [get set] hfile <value>
+      telnet redirlog [here,file,off]
+      telnet param [prio]
+      telnet history [list,reset]
+   module 1 = softmodem:
+      softmodem show loglvl|thread|config
+      softmodem log (enter help for details)
+      softmodem thread (enter help for details)
+      softmodem exit 
+   module 2 = phy:
+      phy disp [phycnt,uedump,uestat UE<x>]
+   module 3 = loader:
+      loader [get set] mainversion <value>
+      loader [get set] defpath <value>
+      loader [get set] maxshlibs <value>
+      loader [get set] numshlibs <value>
+      loader show [params,modules]
+   module 4 = coding:
+      coding [get set] maxiter <value>
+      coding mode [sse,avx2,stdc,none]
+softmodem> 
+```  
+
+# oai telnet server, specific commands help  
+
+``` bash
+softmodem> softmodem log help
+ log sub commands: 
+ show:  		     display current log configuration 
+ online, noonline:	     enable or disable console logs 
+ enable, disable id1-id2:    enable or disable logs for components index id1 to id2 
+ level_<level> id1-id2:      set log level to <level> for components index id1 to id2 
+ level_<verbosity> id1-id2:  set log verbosity to <verbosity> for components index id1 to id2 
+use the show command to get the values for <level>, <verbosity> and the list of component indexes that can be used for id1 and id2 
+softmodem>
+
+
+```
+
+[oai telnetserver home](telnetsrv.md)  
+[oai telnetserver usage home](telnetusage.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnethist.md b/common/utils/telnetsrv/DOC/telnethist.md
new file mode 100644
index 0000000000000000000000000000000000000000..d938435a2405c474fc29ee6b2459f5843b7e5086
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnethist.md
@@ -0,0 +1,44 @@
+The telnet server implements a simple history system
+```bash
+softmodem> telnet history list
+1: telnet history list
+2: telnet history list
+3: help
+4: loader show modules
+5: softmodem show loglvl
+6: help
+7: telnet history
+8: help
+9: telnet history list
+10: help
+11: loader show modules
+12: softmodem show loglvl
+13: softmodem log help
+14: softmodem log disable 0-35
+15: softmodem log show
+16: help
+17: telnet history list
+18: loader show modules
+19: softmodem thread show
+20: help
+21: softmodem thread help
+22: softmodem log show
+23: softmodem log help
+24: softmodem log level_error 0-4
+25: loader show modules
+26: loader show config
+27: help
+28: loader show params
+29: loader show modules
+softmodem> !28
+softmodem>  loader show params
+loader parameters:
+   Main executable build version: "Branch: develop-telnet-loader-fixes Abrev. Hash: e56ae69 Date: Fri Mar 9 16:47:08 2018 +0100"
+   Default shared lib path: ""
+   Max number of shared lib : 10
+softmodem>
+
+```
+
+[oai telnetserver home](telnetsrv.md)  
+[oai telnetserver usage home](telnetusage.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetloader.md b/common/utils/telnetsrv/DOC/telnetloader.md
new file mode 100644
index 0000000000000000000000000000000000000000..9250524989a67da5ea8a22108b3aeb7f86cd77a6
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetloader.md
@@ -0,0 +1,47 @@
+loader command can be used to check loader configuration parameters and the list of loaded shared libraries and for each library the list of available functions.
+
+```bash
+softmodem> loader show params
+loader parameters:
+   Main executable build version: "Branch: develop-telnet-loader-fixes Abrev. Hash: e56ae69 Date: Fri Mar 9 16:47:08 2018 +0100"
+   Default shared lib path: ""
+   Max number of shared lib : 10
+softmodem> loader show modules
+4 shared lib have been dynamicaly loaded by the oai loader
+   Module 0: telnetsrv
+       Shared library build version: "Branch: develop-telnet-loader-fixes Abrev. Hash: e56ae69 Date: Fri Mar 9 16:47:08 2018 +0100"
+       Shared library path: "libtelnetsrv.so"
+       1 function pointers registered:
+          function 0 add_telnetcmd at 0x7ff8b772a2b0
+   Module 1: NB_IoT
+       Shared library build version: ""
+       Shared library path: "libNB_IoT.so"
+       1 function pointers registered:
+          function 0 RCConfig_NbIoT at 0x7ff8b6b1b390
+   Module 2: coding
+       Shared library build version: "Branch: develop-telnet-loader-fixes Abrev. Hash: e56ae69 Date: Fri Mar 9 16:47:08 2018 +0100"
+       Shared library path: "libcoding.so"
+       13 function pointers registered:
+          function 0 init_td8 at 0x7ff8adde63a0
+          function 1 init_td16 at 0x7ff8adde9760
+          function 2 init_td16avx2 at 0x7ff8addec050
+          function 3 phy_threegpplte_turbo_decoder8 at 0x7ff8adde6780
+          function 4 phy_threegpplte_turbo_decoder16 at 0x7ff8adde9a90
+          function 5 phy_threegpplte_turbo_decoder_scalar at 0x7ff8addef4a0
+          function 6 phy_threegpplte_turbo_decoder16avx2 at 0x7ff8addec530
+          function 7 free_td8 at 0x7ff8adde61d0
+          function 8 free_td16 at 0x7ff8adde9590
+          function 9 free_td16avx2 at 0x7ff8addebe80
+          function 10 threegpplte_turbo_encoder_sse at 0x7ff8adde45b0
+          function 11 threegpplte_turbo_encoder at 0x7ff8adde4a30
+          function 12 init_encoder_sse at 0x7ff8adde49d0
+   Module 3: oai_device
+       Shared library build version: ""
+       Shared library path: "liboai_device_usrp.so"
+       1 function pointers registered:
+          function 0 device_init at 0x7ff8ac16a7a0
+softmodem>
+```
+
+[oai telnetserver home](telnetsrv.md)  
+[oai telnetserver usage home](telnetusage.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetlog.md b/common/utils/telnetsrv/DOC/telnetlog.md
new file mode 100644
index 0000000000000000000000000000000000000000..7c1d4f03840a772062aea56eb4f3ca6cfeab1736
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetlog.md
@@ -0,0 +1,95 @@
+The log command can be used to get the status of the log parameters and to dynamically modify these parameters. The log command has its own [help](telnethelp.md#oai-telnet-server-specific-commands-help)
+```bash
+softmodem>  softmodem log disable 0-35
+log level/verbosity  comp 0 PHY set to info / medium (disabled)
+log level/verbosity  comp 1 MAC set to info / medium (disabled)
+log level/verbosity  comp 2 EMU set to info / medium (disabled)
+log level/verbosity  comp 3 OCG set to info / medium (disabled)
+log level/verbosity  comp 4 OMG set to info / medium (disabled)
+log level/verbosity  comp 5 OPT set to info / medium (disabled)
+log level/verbosity  comp 6 OTG set to info / medium (disabled)
+log level/verbosity  comp 7 OTG_LATENCY set to info / medium (disabled)
+log level/verbosity  comp 8 OTG_LATENCY_BG set to info / medium (disabled)
+log level/verbosity  comp 9 OTG_GP set to info / medium (disabled)
+log level/verbosity  comp 10 OTG_GP_BG set to info / medium (disabled)
+log level/verbosity  comp 11 OTG_JITTER set to info / medium (disabled)
+log level/verbosity  comp 12 RLC set to info / medium (disabled)
+log level/verbosity  comp 13 PDCP set to info / medium (disabled)
+log level/verbosity  comp 14 RRC set to info / medium (disabled)
+log level/verbosity  comp 15 NAS set to info / medium (disabled)
+log level/verbosity  comp 16 PERF set to info / medium (disabled)
+log level/verbosity  comp 17 OIP set to info / medium (disabled)
+log level/verbosity  comp 18 CLI set to info / medium (disabled)
+log level/verbosity  comp 19 MSC set to info / medium (disabled)
+log level/verbosity  comp 20 OCM set to info / medium (disabled)
+log level/verbosity  comp 21 UDP set to info / medium (disabled)
+log level/verbosity  comp 22 GTPV1U set to info / medium (disabled)
+log level/verbosity  comp 23 comp23? set to info / medium (disabled)
+log level/verbosity  comp 24 S1AP set to info / medium (disabled)
+log level/verbosity  comp 25 SCTP set to info / medium (disabled)
+log level/verbosity  comp 26 HW set to info / medium (disabled)
+log level/verbosity  comp 27 OSA set to info / medium (disabled)
+log level/verbosity  comp 28 eRAL set to info / medium (disabled)
+log level/verbosity  comp 29 mRAL set to info / medium (disabled)
+log level/verbosity  comp 30 ENB_APP set to info / medium (disabled)
+log level/verbosity  comp 31 FLEXRAN_AGENT set to info / medium (disabled)
+log level/verbosity  comp 32 TMR set to info / medium (disabled)
+log level/verbosity  comp 33 USIM set to info / medium (disabled)
+log level/verbosity  comp 34 LOCALIZE set to info / medium (disabled)
+log level/verbosity  comp 35 RRH set to info / medium (disabled)
+softmodem> softmodem log show
+Available log levels: 
+   emerg alert crit error warn notice info debug file trace 
+Available verbosity: 
+   none low medium high full 
+component                 verbosity  level  enabled
+00               PHY:    medium      info  N
+01               MAC:    medium      info  N
+02               EMU:    medium      info  N
+03               OCG:    medium      info  N
+04               OMG:    medium      info  N
+05               OPT:    medium      info  N
+06               OTG:    medium      info  N
+07       OTG_LATENCY:    medium      info  N
+08    OTG_LATENCY_BG:    medium      info  N
+09            OTG_GP:    medium      info  N
+10         OTG_GP_BG:    medium      info  N
+11        OTG_JITTER:    medium      info  N
+12               RLC:    medium      info  N
+13              PDCP:    medium      info  N
+14               RRC:    medium      info  N
+15               NAS:    medium      info  N
+16              PERF:    medium      info  N
+17               OIP:    medium      info  N
+18               CLI:    medium      info  N
+19               MSC:    medium      info  N
+20               OCM:    medium      info  N
+21               UDP:    medium      info  N
+22            GTPV1U:    medium      info  N
+23           comp23?:    medium      info  N
+24              S1AP:    medium      info  N
+25              SCTP:    medium      info  N
+26                HW:    medium      info  N
+27               OSA:    medium      info  N
+28              eRAL:    medium      info  N
+29              mRAL:    medium      info  N
+30           ENB_APP:    medium      info  N
+31     FLEXRAN_AGENT:    medium      info  N
+32               TMR:    medium      info  N
+33              USIM:    medium      info  N
+34          LOCALIZE:    medium      info  N
+35               RRH:    medium      info  N
+36           comp36?:    medium      info  Y
+37            LOADER:    medium     alert  Y
+softmodem> softmodem log level_error 0-4
+log level/verbosity  comp 0 PHY set to error / medium (enabled)
+log level/verbosity  comp 1 MAC set to error / medium (enabled)
+log level/verbosity  comp 2 EMU set to error / medium (enabled)
+log level/verbosity  comp 3 OCG set to error / medium (enabled)
+log level/verbosity  comp 4 OMG set to error / medium (enabled)
+softmodem> exit
+Connection closed by foreign host.
+```  
+
+[oai telnetserver home](telnetsrv.md)  
+[oai telnetserver usage home](telnetusage.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetloop.md b/common/utils/telnetsrv/DOC/telnetloop.md
new file mode 100644
index 0000000000000000000000000000000000000000..f045e8a7161d150edad0b58f798f64e1ff2cf176
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetloop.md
@@ -0,0 +1,40 @@
+The telnet server includes a **_loop_** command that can be used to iterate a given command. The number of iterations and the delay, in ms between two iterations can be modified, as shown in the following example:  
+
+```bash
+softmodem> telnet get loopc
+telnet, loopc = 10
+softmodem> telnet get loopd
+telnet, loopd = 2000
+softmodem> telnet set loopd 1000
+telnet, loopd set to 
+1000
+softmodem> loop softmodem show thread
+                  2018-03-27 17:58:49.000 2/10
+  id          name            state   USRmod    KRNmod  prio nice   vsize   proc pol 
+
+     3946        lte-softmodem   S       20005      9440  20   0 236560384   2    0 other 
+
+     3946        lte-softmodem   S           7        95  20   0 236560384   2    0 other 
+     3948               telnet   R           0         0  20   0 236560384   2    0 other 
+     3949        ITTI acceptor   S           2         9  20   0 236560384   2    0 other 
+     3951              ITTI 12   S           2         2  20   0 236560384   7    0 other 
+     3952              ITTI 11   S           0         0  20   0 236560384   0    0 other 
+     3953               ITTI 9   S           0         0  20   0 236560384   1    0 other 
+     3954               ITTI 7   S           0         0  20   0 236560384   7    0 other 
+     3955               ITTI 8   S           0         0  20   0 236560384   7    0 other 
+     3956               ITTI 4   S          35         0  20   0 236560384   2    0 other 
+     3957            ru_thread   S       15366      3072 -10   0 236560384   0    2 rt: rr 
+     3958      ru_thread_prach   S           0         0 -10   0 236560384   7    1 rt: fifo 
+     3959           fep_thread   S        1874       123 -10   0 236560384   5    1 rt: fifo 
+     3960         feptx_thread   S        1554       101 -10   0 236560384   7    1 rt: fifo 
+     3969            ru_thread   S           0         0 -10   0 236560384   0    2 rt: rr 
+     3970            ru_thread   S        1313      5522 -10   0 236560384   5    2 rt: rr 
+     3971            ru_thread   S           4         6 -10   0 236560384   1    2 rt: rr 
+     3972        lte-softmodem   S         318         9 -10   0 236560384   7    1 rt: fifo 
+     3973        lte-softmodem   S           6        13 -10   0 236560384   4    1 rt: fifo 
+
+```  
+A **_loop_** command can be interrupted by pressing the  **_enter_** key till getting the  prompt. 
+
+[oai telnetserver home](telnetsrv.md)  
+[oai telnetserver usage home](telnetusage.md)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetsrv.md b/common/utils/telnetsrv/DOC/telnetsrv.md
new file mode 100644
index 0000000000000000000000000000000000000000..e8909595d9e4c9770690958a119cbbd7de7cc662
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetsrv.md
@@ -0,0 +1,7 @@
+The oai embedded telnet server is an optional monitoring and debugging tool. It provides a simple Command Line Interface to the oai softmem. New commands can easily be added by developers to the telnet server.
+
+* [Using the telnet server](telnetusage.md)
+* [Adding commands to the oai telnet server](telnetaddcmd.md)
+* [telnet server architecture ](telnetarch.md)
+ 
+[oai Wikis home](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home)
\ No newline at end of file
diff --git a/common/utils/telnetsrv/DOC/telnetusage.md b/common/utils/telnetsrv/DOC/telnetusage.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8319d5ef28911bb18f89545e2d3ac6c10a04421
--- /dev/null
+++ b/common/utils/telnetsrv/DOC/telnetusage.md
@@ -0,0 +1,39 @@
+# starting the softmodem with the telnet server  
+By default the embedded telnet server, which is implemented in a shared library, is not built. It can be built after compiling the softmodem executable using the `build_oai` script:
+
+```bash
+ cd \<oai repository\>/openairinterface5g  
+ source oaienv  
+ cd cmake_targets  
+ ./build_oai  --build-telnetsrv  
+```
+
+This will create the `libtelnetsrv.so` file in the `targets/bin` and `cmake_targets/lte_build_oai/build` sub directories of the oai repository.
+
+When starting the softmodem, you must specify the **_\-\-telnetsrv_** option to load and start the telnet server. The telnet server is loaded via the [oai shared library loader](loader).
+
+# using the Command Line Interface  
+By default the telnet server listen on all the ip addresses configured on the system and on port 9090.  This behavior can be changed using the `listenaddr` and `listenport` parameters. 
+The telnet server includes a basic help, listing available commands and some commands also provide a specific detailed help sub-command.
+Below are  examples of telnet sessions:  
+
+*  [getting help](telnethelp.md)
+*  [using the history](telnethist.md)
+*  [using the get and set commands](telnetgetset.md)
+*  [using the loop command](telnetloop.md)
+*  [loader command](telnetloader.md)
+*  [log command](telnetlog.md)  
+
+# telnet server parameters
+The telnet server is using the [oai configuration module](Config/Rtusage). Telnet parameters must be specified in the `telnetsrv` section. Some parameters can be modified via the telnet telnet server command, as specified in the last column of the following table.
+
+| name | type | default | description | dynamic |
+|:---:|:---:|:---:|:----|:----:|
+| `listenaddr` | `ipV4 address, ascii format` | "0.0.0.0" | local address the server is listening on| N |
+| `listenport` | `integer` | 9090 | port number the server is listening on | N |
+| `loopcount` | `integer` | 10 | number of iterations for the loop command  | Y |
+| `loopdelay` | `integer` | 5000 | delay (in ms) between 2 loop command iterations  | Y |
+| `histfile` | `character string` | "oaitelnet.history" | file used for command history persistency | Y |
+| `histfsize` | `integer` | 50 | maximum number of commands saved in the history | Y |
+
+[oai telnet server home](telnetsrv.md)
\ No newline at end of file
diff --git a/configuration/bladeRF/enb-band7-5mhz.conf b/configuration/bladeRF/enb-band7-5mhz.conf
new file mode 100644
index 0000000000000000000000000000000000000000..6e07b8d9499e8cfb2ca60f0d3da91d3dbb92348a
--- /dev/null
+++ b/configuration/bladeRF/enb-band7-5mhz.conf
@@ -0,0 +1,274 @@
+Active_eNBs = ( "eNB-Eurecom-LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    # real_time choice in {hard, rt-preempt, no}
+    real_time       =  "no";
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+    
+    cell_type =  "CELL_MACRO_ENB";
+    
+    eNB_name  =  "eNB-Eurecom-LTEBox";
+    
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  1;
+    plmn_list = (
+      { mcc = 208; mnc = 92; mnc_length = 2; }
+    );
+    
+    tr_s_preference     = "local_mac"
+
+       ////////// Physical parameters:
+  
+    component_carriers = (
+    		       	 {
+                           node_function = "eNodeB_3GPP";
+                           node_timing = "synch_to_ext_device";
+                           node_synch_ref = 0;
+                           nb_antenna_ports = 1;
+                           ue_TransmissionMode = 1;
+  			   frame_type					      = "FDD";	
+                           tdd_config 					      = 3;
+                           tdd_config_s            			      = 0;
+ 			   prefix_type             			      = "NORMAL";
+  			   eutra_band              			      = 7;
+                           downlink_frequency      			      = 2680000000L;
+                           uplink_frequency_offset 			      = -120000000;
+  
+  			   Nid_cell					      = 0;
+                           N_RB_DL                 			      = 25;
+                           Nid_cell_mbsfn          			      = 0;
+                           nb_antennas_tx          			      = 1;
+                           nb_antennas_rx          			      = 1; 
+                           prach_root              			      = 0;
+			   tx_gain                                            = 90;
+			   rx_gain                                            = 115;
+                           pbch_repetition                                    = "FALSE";
+                           prach_config_index      			      = 0;
+                           prach_high_speed        			      = "DISABLE";
+  	                   prach_zero_correlation  			      = 1;
+                           prach_freq_offset       			      = 2;
+			   pucch_delta_shift       			      = 1;
+                           pucch_nRB_CQI           			      = 0;
+                           pucch_nCS_AN            			      = 0;
+                           pucch_n1_AN             			      = 0;
+                           pdsch_referenceSignalPower 			      = -29;
+                           pdsch_p_b                  			      = 0;
+                           pusch_n_SB                 			      = 1; 
+                           pusch_enable64QAM          			      = "DISABLE";
+			   pusch_hoppingMode                                  = "interSubFrame";
+			   pusch_hoppingOffset                                = 0;
+     	                   pusch_groupHoppingEnabled  			      = "ENABLE";
+	                   pusch_groupAssignment      			      = 0;
+	                   pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+	                   pusch_nDMRS1                                       = 1;
+	                   phich_duration                                     = "NORMAL";
+	                   phich_resource                                     = "ONESIXTH";
+	                   srs_enable                                         = "DISABLE";
+	               /*  srs_BandwidthConfig                                =;
+	                   srs_SubframeConfig                                 =;
+	                   srs_ackNackST                                      =;
+	                   srs_MaxUpPts                                       =;*/  
+
+	                   pusch_p0_Nominal                                   = -96;
+	                   pusch_alpha                                        = "AL1";
+	                   pucch_p0_Nominal                                   = -108;
+	                   msg3_delta_Preamble                                = 6;
+	                   pucch_deltaF_Format1                               = "deltaF2";
+	                   pucch_deltaF_Format1b                              = "deltaF3";
+	                   pucch_deltaF_Format2                               = "deltaF0";
+	                   pucch_deltaF_Format2a                              = "deltaF0";
+  	                   pucch_deltaF_Format2b		    	      = "deltaF0";
+	
+                           rach_numberOfRA_Preambles                          = 64;
+                           rach_preamblesGroupAConfig                         = "DISABLE";
+/*
+                           rach_sizeOfRA_PreamblesGroupA                      = ;
+                           rach_messageSizeGroupA                             = ;
+                           rach_messagePowerOffsetGroupB                      = ; 
+*/
+                           rach_powerRampingStep                              = 4;
+	                   rach_preambleInitialReceivedTargetPower            = -108;
+                           rach_preambleTransMax                              = 10;
+	                   rach_raResponseWindowSize                          = 10;
+	                   rach_macContentionResolutionTimer                  = 48;
+	                   rach_maxHARQ_Msg3Tx                                = 4;
+
+			   pcch_default_PagingCycle                           = 128;
+			   pcch_nB                                            = "oneT";
+			   bcch_modificationPeriodCoeff			      = 2;
+			   ue_TimersAndConstants_t300			      = 1000;
+			   ue_TimersAndConstants_t301			      = 1000;
+			   ue_TimersAndConstants_t310			      = 1000;
+			   ue_TimersAndConstants_t311			      = 10000;
+			   ue_TimersAndConstants_n310			      = 20;
+			   ue_TimersAndConstants_n311			      = 1;
+
+      //Parameters for SIB18
+      rxPool_sc_CP_Len                                       = "normal"; 
+      rxPool_sc_Period                                       = "sf40";  
+      rxPool_data_CP_Len                                     = "normal";  
+      rxPool_ResourceConfig_prb_Num                          = 20;
+      rxPool_ResourceConfig_prb_Start                        = 5;
+      rxPool_ResourceConfig_prb_End                          = 44;
+      rxPool_ResourceConfig_offsetIndicator_present          = "prSmall";
+      rxPool_ResourceConfig_offsetIndicator_choice           = 0;      
+      rxPool_ResourceConfig_subframeBitmap_present           = "prBs40";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_buf              = "00000000000000000000";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_size             = 5;
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused      = 0;
+/*    rxPool_dataHoppingConfig_hoppingParameter                       = 0;
+      rxPool_dataHoppingConfig_numSubbands                            = "ns1";
+      rxPool_dataHoppingConfig_rbOffset                               = 0;
+      rxPool_commTxResourceUC-ReqAllowed                              = "TRUE";
+*/    
+      // Parameters for SIB19
+      discRxPool_cp_Len                                               = "normal"
+      discRxPool_discPeriod                                           = "rf32"
+      discRxPool_numRetx                                              = 1;   
+      discRxPool_numRepetition                                        = 2;
+      discRxPool_ResourceConfig_prb_Num                               = 5;  
+      discRxPool_ResourceConfig_prb_Start                             = 3;
+      discRxPool_ResourceConfig_prb_End                               = 21;
+      discRxPool_ResourceConfig_offsetIndicator_present               = "prSmall";
+      discRxPool_ResourceConfig_offsetIndicator_choice                = 0;      
+      discRxPool_ResourceConfig_subframeBitmap_present                = "prBs40";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf          = "f0ffffffff";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_size         = 5;
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused  = 0;
+
+			 }
+			 );
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.148";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES : 
+    {
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth1";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.196/24";
+
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth1";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.196/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.196/24";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
+    };
+    
+    log_config : 
+    {
+	global_log_level                      ="info"; 
+    	global_log_verbosity                  ="high";
+	hw_log_level                          ="info"; 
+    	hw_log_verbosity                      ="medium";
+	phy_log_level                         ="info"; 
+    	phy_log_verbosity                     ="medium";
+	mac_log_level                         ="info"; 
+    	mac_log_verbosity                     ="high";
+	rlc_log_level                         ="debug"; 
+    	rlc_log_verbosity                     ="high";
+	pdcp_log_level                        ="info"; 
+    	pdcp_log_verbosity                    ="high";
+	rrc_log_level                         ="info"; 
+    	rrc_log_verbosity                     ="medium";
+   };	
+   
+  }
+);
+
+MACRLCs = (
+        {
+        num_cc = 1;
+        tr_s_preference = "local_L1";
+        tr_n_preference = "local_RRC";
+        phy_test_mode = 0;
+        puSch10xSnr     =  210;
+        puCch10xSnr     =  210;
+        }  
+);
+
+THREAD_STRUCT = (
+  {
+    parallel_config = "PARALLEL_RU_L1_TRX_SPLITaaaaaa";
+    worker_config = "ENABLE";
+  }
+);
+
+L1s = (
+        {
+        num_cc = 1;
+        tr_n_preference = "local_mac";
+        }  
+);
+
+RUs = (
+    {             
+       local_rf       = "yes"
+         nb_tx          = 1
+         nb_rx          = 1
+         att_tx         = 73
+         att_rx         = 0;
+         bands          = [7];
+         max_pdschReferenceSignalPower = -28;
+         max_rxgain                    = 96;
+         eNB_instances  = [0];
+
+    }
+);  
+
+    log_config : 
+    {
+	global_log_level                      ="info"; 
+    	global_log_verbosity                  ="high";
+	hw_log_level                          ="info"; 
+    	hw_log_verbosity                      ="medium";
+	phy_log_level                         ="info"; 
+    	phy_log_verbosity                     ="medium";
+	mac_log_level                         ="info"; 
+    	mac_log_verbosity                     ="high";
+	rlc_log_level                         ="info"; 
+    	rlc_log_verbosity                     ="high";
+	pdcp_log_level                        ="info"; 
+    	pdcp_log_verbosity                    ="high";
+	rrc_log_level                         ="info"; 
+    	rrc_log_verbosity                     ="medium";
+   };	
diff --git a/doc/FEATURE_SET.md b/doc/FEATURE_SET.md
new file mode 100644
index 0000000000000000000000000000000000000000..103f132728c4d0025cf2035c71c66acea28f35b8
--- /dev/null
+++ b/doc/FEATURE_SET.md
@@ -0,0 +1,171 @@
+**Table of Contents**
+
+1. [OpenAirInterface eNB Feature Set](#openairinterface-enb-feature-set)
+   1. [eNB PHY Layer](#enb-phy-layer)
+   2. [eNB MAC Layer](#enb-mac-layer)
+   3. [eNB RLC Layer](#enb-rlc-layer)
+   4. [eNB PDCP Layer](#enb-pdcp-layer)
+   5. [eNB RRC Layer](#enb-rrc-layer)
+   6. [eNB X2AP](#enb-x2ap)
+   7. [eNB Advanced Features](#enb-advanced-features)
+2. [OpenAirInterface UE Feature Set](#openairinterface-ue-feature-set)
+   1.  [LTE UE PHY Layer](#lte-ue-phy-layer)
+   2.  [LTE UE MAC Layer](#lte-ue-mac-layer)
+   3.  [LTE UE RLC Layer](#lte-ue-rlc-layer)
+   4.  [LTE UE PDCP Layer](#lte-ue-pdcp-layer)
+   5.  [LTE UE RRC Layer](#lte-ue-rrc-layer)
+
+# OpenAirInterface Block diagram #
+
+![Block Diagram](./oai_enb_block_diagram.png)
+
+# OpenAirInterface eNB Feature Set #
+
+## eNB PHY Layer ##
+
+The Physical layer implements **3GPP 36.211**, **36.212**, **36.213** and provides the following features:
+
+- LTE release 8.6 compliant, and implements a subset of release 10
+- FDD and TDD configurations: 1 (experimental) and 3
+- Bandwidth: 5, 10, and 20 MHz
+- Transmission modes: 1, 2 (stable), 3, 4, 5, 6, 7 (experimental)
+- Max number of antennas: 2
+- CQI/PMI reporting: aperiodic, feedback mode 3 - 0 and 3 - 1
+- PRACH preamble format 0
+- All downlink (DL) channels are supported: PSS, SSS, PBCH, PCFICH, PHICH, PDCCH, PDSCH, PMCH
+- All uplink (UL) channels are supported: PRACH, PUSCH, PUCCH (format 1/1a/1b), SRS, DRS
+- HARQ support (UL and DL)
+- Highly optimized base band processing (including turbo decoder)
+
+### Performances ###
+
+**Transmission Mode, Bandwidth** | **Expected Throughput** | **Measured Throughput** | **Measurement Conditions**
+-------------------------------- | ----------------------- | ------------------------| ----------------:
+FDD DL: 5 MHz, 25 PRBS/ MCS 28   | 16 - 17 Mbit/s          | TM1: 17.0 Mbits/s       | COTS-UE Cat 4 (150/50 Mbps)
+FDD DL: 10 MHz, 50 PRBS/ MCS 28  | 34 - 35 Mbit/s          | TM1: 32.8 Mbits/s       | COTS-UE Cat 4 (150/50 Mbps)
+FDD DL: 20 MHz, 100 PRBS/ MCS 28 | 70 Mbit/s               | TM1: 69.9 Mbits/s       | COTS-UE Cat 4 (150/50 Mbps)
+ |  |  | 
+FDD UL: 5 MHz, 25 PRBS/ MCS 20   | 9 Mbit/s                | TM1: 8.28 Mbits/s       | COTS-UE Cat 4 (150/50 Mbps)
+FDD UL: 10 MHz, 50 PRBS/ MCS 20  | 17 Mbit/s               | TM1: 15.2 Mbits/s       | COTS-UE Cat 4 (150/50 Mbps)
+FDD UL: 20 MHz, 100 PRBS/ MCS 20 | 35 Mbit/s               | TM1: 18.6 Mbits/s       | COTS-UE Cat 4 (150/50 Mbps)
+ |  | 
+TDD DL: 5 MHz, 25 PRBS/ MCS **XX**   | **TBC** Mbit/s | 3.33 Mbits/s | COTS-UE Cat 4 (150/50 Mbps)
+TDD DL: 10 MHz, 50 PRBS/ MCS **XX**  | **TBC** Mbit/s | 8.90 Mbits/s | COTS-UE Cat 4 (150/50 Mbps)
+TDD DL: 20 MHz, 100 PRBS/ MCS **XX** | **TBC** Mbit/s | N/A | COTS-UE Cat 4 (150/50 Mbps)
+ |  | | 
+TDD UL: 5 MHz, 25 PRBS/ MCS **XX**   | **TBC** Mbit/s | 1.66 Mbits/s | COTS-UE Cat 4 (150/50 Mbps)
+TDD UL: 10 MHz, 50 PRBS/ MCS **XX**  | **TBC** Mbit/s | 1.89 Mbits/s | COTS-UE Cat 4 (150/50 Mbps)
+TDD UL: 20 MHz, 100 PRBS/ MCS **XX** | **TBC** Mbit/s | N/A | COTS-UE Cat 4 (150/50 Mbps)
+
+- Number of supported UEs: **To Be Completed**
+
+## eNB MAC Layer ##
+
+The MAC layer implements a subset of the **3GPP 36.321** release v8.6 in support of BCH, DLSCH, RACH, and ULSCH channels. 
+
+- RRC interface for CCCH, DCCH, and DTCH
+- Proportional fair scheduler (round robin scheduler soon)
+- DCI generation
+- HARQ Support
+- RA procedures and RNTI management
+- RLC interface (AM, UM)
+- UL power control
+- Link adaptation
+
+## eNB RLC Layer ##
+
+The RLC layer implements a full specification of the 3GPP 36.322 release v9.3.
+
+- RLC TM (mainly used for BCCH and CCCH) 
+  * Neither segment nor concatenate RLC SDUs
+  * Do not include a RLC header in the RLC PDU
+  * Delivery of received RLC PDUs to upper layers
+- RLC UM (mainly used for DTCH) 
+  * Segment or concatenate RLC SDUs according to the TB size selected by MAC
+  * Include a RLC header in the RLC PDU
+  * Duplication detection
+  * PDU reordering and reassembly
+- RLC AM, compatible with 9.3 
+  * Segmentation, re-segmentation, concatenation, and reassembly
+  * Padding
+  * Data transfer to the user
+  * RLC PDU retransmission in support of error control and correction
+  * Generation of data/control PDUs
+
+## eNB PDCP Layer ##
+
+The current PDCP layer is header compliant with **3GPP 36.323** Rel 10.1.0 and implements the following functions:
+
+- User and control data transfer
+- Sequence number management
+- RB association with PDCP entity
+- PDCP entity association with one or two RLC entities
+- Integrity check and encryption using the AES and Snow3G algorithms
+
+## eNB RRC Layer ##
+
+The RRC layer is based on **3GPP 36.331** v14.3.0 and implements the following functions:
+
+- System Information broadcast (SIB 1, 2, 3, and 13)
+  * SIB1: Up to 6 PLMN IDs broadcast
+- RRC connection establishment
+- RRC connection reconfiguration (addition and removal of radio bearers, connection release)
+- RRC connection release
+- RRC connection re-establishment
+- Inter-frequency measurement collection and reporting (experimental)
+- eMBMS for multicast and broadcast (experimental)
+- Handover (experimental)
+- Paging (soon)
+
+## eNB X2AP ##
+
+The X2AP layer is based on **3GPP 36.423** v14.6.0 and implements the following functions:
+
+ - X2 Setup Request
+ - X2 Setup Response 
+
+## eNB Advanced Features ##
+
+**To be completed**
+
+# OpenAirInterface UE Feature Set #
+
+## LTE UE PHY Layer ##
+
+The Physical layer implements **3GPP 36.211**, **36.212**, **36.213** and provides the following features:
+
+- LTE release 8.6 compliant, and implements a subset of release 10
+- FDD and TDD configurations: 1 (experimental) and 3
+- Bandwidth: 5, 10, and 20 MHz
+- Transmission modes: 1, 2 (stable)
+- Max number of antennas: 2
+- CQI/PMI reporting: aperiodic, feedback mode 3 - 0 and 3 - 1
+- PRACH preamble format 0
+- All downlink (DL) channels are supported: PSS, SSS, PBCH, PCFICH, PHICH, PDCCH, PDSCH, PMCH
+- All uplink (UL) channels are supported: PRACH, PUSCH, PUCCH (format 1/1a/1b), SRS, DRS
+
+## LTE UE MAC Layer ##
+
+The MAC layer implements a subset of the **3GPP 36.321** release v8.6 in support of BCH, DLSCH, RACH, and ULSCH channels. 
+
+- RRC interface for CCCH, DCCH, and DTCH
+- HARQ Support
+- RA procedures and RNTI management
+- RLC interface (AM, UM)
+- UL power control
+- Link adaptation
+
+## LTE UE RLC Layer ##
+
+The RLC layer implements a full specification of the 3GPP 36.322 release v9.3.
+
+## LTE UE PDCP Layer ##
+
+The current PDCP layer is header compliant with **3GPP 36.323** Rel 10.1.0.
+
+## LTE UE RRC Layer ##
+
+The RRC layer is based on **3GPP 36.331** v14.3.0 and implements the following functions:
+
+- System Information decoding
+- RRC connection establishment
diff --git a/doc/oai_enb_block_diagram.png b/doc/oai_enb_block_diagram.png
new file mode 100644
index 0000000000000000000000000000000000000000..58c8eb9e959fae8616de03cc9f56fcfe2cc0f0e7
Binary files /dev/null and b/doc/oai_enb_block_diagram.png differ
diff --git a/openair1/PHY/INIT/defs_NB_IoT.h b/openair1/PHY/INIT/defs_NB_IoT.h
index b49936770f2411068e60729d838c61f09f62539a..d115a57f10fee5ead14876c78059fb4842252211 100644
--- a/openair1/PHY/INIT/defs_NB_IoT.h
+++ b/openair1/PHY/INIT/defs_NB_IoT.h
@@ -33,7 +33,7 @@
 //#include "TDD-Config.h"
 //#include "MBSFN-SubframeConfigList.h"
 //#include "MobilityControlInfo.h"
-//#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+//#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 //#include "SCellToAddMod-r10.h"
 //#endif
 
diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c
index bec08732769d0758332f4231fd3b7b4a2f9da721..93a43e48ebd30adeac2eb46e0f9cc5a9a084d6f9 100644
--- a/openair1/PHY/INIT/lte_init.c
+++ b/openair1/PHY/INIT/lte_init.c
@@ -27,10 +27,10 @@
 #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
 #include "PHY/LTE_REFSIG/lte_refsig.h"
 #include "SIMULATION/TOOLS/sim.h"
-#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#include "TDD-Config.h"
-#include "MBSFN-SubframeConfigList.h"
+#include "LTE_RadioResourceConfigCommonSIB.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #include "assertions.h"
 #include <math.h>
@@ -182,7 +182,7 @@ void phy_config_request(PHY_Config_t *phy_config) {
 		    fp->frame_type,
                     RC.eNB[Mod_id][CC_id]->X_u);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   fp->prach_emtc_config_common.prach_Config_enabled=1;
 
   fp->prach_emtc_config_common.rootSequenceIndex                                         = cfg->emtc_config.prach_catm_root_sequence_index.value;
@@ -487,7 +487,7 @@ void phy_config_sib13_eNB(module_id_t Mod_id,int CC_id,int mbsfn_Area_idx,
 void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
 {
   uint16_t UE_id;
-  struct PhysicalConfigDedicated *physicalConfigDedicated;
+  struct LTE_PhysicalConfigDedicated *physicalConfigDedicated;
   LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
 
   for (UE_id=0; UE_id<NUMBER_OF_UE_MAX; UE_id++) {
@@ -504,7 +504,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
       }
 
       if (physicalConfigDedicated->pucch_ConfigDedicated) {
-        if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present==PUCCH_ConfigDedicated__ackNackRepetition_PR_release)
+        if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present==LTE_PUCCH_ConfigDedicated__ackNackRepetition_PR_release)
           eNB->pucch_config_dedicated[UE_id].ackNackRepetition=0;
         else {
           eNB->pucch_config_dedicated[UE_id].ackNackRepetition=1;
@@ -563,7 +563,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
       }
 
       if (physicalConfigDedicated->schedulingRequestConfig) {
-        if (physicalConfigDedicated->schedulingRequestConfig->present == SchedulingRequestConfig_PR_setup) {
+        if (physicalConfigDedicated->schedulingRequestConfig->present == LTE_SchedulingRequestConfig_PR_setup) {
           eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex = physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex;
           eNB->scheduling_request_config[UE_id].sr_ConfigIndex=physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_ConfigIndex;
           eNB->scheduling_request_config[UE_id].dsr_TransMax=physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax;
@@ -578,7 +578,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
       }
 
       if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated) {
-        if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == SoundingRS_UL_ConfigDedicated_PR_setup) {
+        if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == LTE_SoundingRS_UL_ConfigDedicated_PR_setup) {
 	  
 	  eNB->soundingrs_ul_config_dedicated[UE_id].srsConfigDedicatedSetup = 1;
           eNB->soundingrs_ul_config_dedicated[UE_id].duration             = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration;
@@ -729,7 +729,7 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
   LTE_eNB_PUSCH** const pusch_vars   = eNB->pusch_vars;
   LTE_eNB_SRS* const srs_vars        = eNB->srs_vars;
   LTE_eNB_PRACH* const prach_vars    = &eNB->prach_vars;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br;
 #endif
   int i, UE_id; 
@@ -825,7 +825,7 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
 
   prach_vars->rxsigF[0]        = (int16_t**)malloc16_clear(64*sizeof(int16_t*));
   // PRACH BR
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   prach_vars_br->prachF = (int16_t*)malloc16_clear( 1024*2*sizeof(int32_t) );
 
   // assume maximum of 64 RX antennas for PRACH receiver
@@ -893,7 +893,7 @@ void phy_free_lte_eNB(PHY_VARS_eNB *eNB)
   LTE_eNB_PUSCH** const pusch_vars   = eNB->pusch_vars;
   LTE_eNB_SRS* const srs_vars        = eNB->srs_vars;
   LTE_eNB_PRACH* const prach_vars    = &eNB->prach_vars;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   LTE_eNB_PRACH* const prach_vars_br = &eNB->prach_vars_br;
 #endif
   int i, UE_id;
@@ -926,7 +926,7 @@ void phy_free_lte_eNB(PHY_VARS_eNB *eNB)
   for (i = 0; i < 64; i++) free_and_zero(prach_vars->prach_ifft[0][i]);
   free_and_zero(prach_vars->prach_ifft[0]);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   for (int ce_level = 0; ce_level < 4; ce_level++) {
     for (i = 0; i < 64; i++) free_and_zero(prach_vars_br->prach_ifft[ce_level][i]);
     free_and_zero(prach_vars_br->prach_ifft[ce_level]);
diff --git a/openair1/PHY/INIT/lte_init_ru.c b/openair1/PHY/INIT/lte_init_ru.c
index 3a1364620ed6d18e3134dcb9534f32e4a26487e2..e2f6259447889a2d4bbc981fb0cfa27c9f53ca36 100644
--- a/openair1/PHY/INIT/lte_init_ru.c
+++ b/openair1/PHY/INIT/lte_init_ru.c
@@ -23,10 +23,10 @@
 #include "SCHED/sched_eNB.h"
 #include "PHY/phy_extern.h"
 #include "SIMULATION/TOOLS/sim.h"
-#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#include "TDD-Config.h"
-#include "MBSFN-SubframeConfigList.h"
+#include "LTE_RadioResourceConfigCommonSIB.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #include "assertions.h"
 #include <math.h>
@@ -101,7 +101,7 @@ int phy_init_RU(RU_t *ru) {
     for (i=0; i<ru->nb_rx; i++) {
       ru->prach_rxsigF[i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) );
       LOG_D(PHY,"[INIT] prach_vars->rxsigF[%d] = %p\n",i,ru->prach_rxsigF[i]);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       for (j=0;j<4;j++) {
 	ru->prach_rxsigF_br[j][i] = (int16_t*)malloc16_clear( fp->ofdm_symbol_size*12*2*sizeof(int16_t) );
 	LOG_D(PHY,"[INIT] prach_vars_br->rxsigF[%d] = %p\n",i,ru->prach_rxsigF_br[j][i]);
@@ -179,7 +179,7 @@ void phy_free_RU(RU_t *ru)
 
     for (i = 0; i < ru->nb_rx; i++) {
       free_and_zero(ru->prach_rxsigF[i]);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       for (j = 0; j < 4; j++) free_and_zero(ru->prach_rxsigF_br[j][i]);
 #endif
     }
diff --git a/openair1/PHY/INIT/lte_init_ue.c b/openair1/PHY/INIT/lte_init_ue.c
index bcdd782073f47b16e8be9050b547065d9d3f1342..31c37e4669cc3d3d14c0d4a0d4711032a834f53f 100644
--- a/openair1/PHY/INIT/lte_init_ue.c
+++ b/openair1/PHY/INIT/lte_init_ue.c
@@ -23,10 +23,10 @@
 #include "SCHED_UE/sched_UE.h"
 #include "PHY/phy_extern_ue.h"
 #include "SIMULATION/TOOLS/sim.h"
-#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#include "TDD-Config.h"
-#include "MBSFN-SubframeConfigList.h"
+#include "LTE_RadioResourceConfigCommonSIB.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #include "assertions.h"
 #include <math.h>
@@ -41,7 +41,7 @@ extern uint8_t nfapi_mode;
 
 void phy_config_sib1_ue(module_id_t Mod_id,int CC_id,
                         uint8_t eNB_id,
-                        TDD_Config_t *tdd_Config,
+                        LTE_TDD_Config_t *tdd_Config,
                         uint8_t SIwindowsize,
                         uint16_t SIperiod)
 {
@@ -59,11 +59,11 @@ void phy_config_sib1_ue(module_id_t Mod_id,int CC_id,
 
 void phy_config_sib2_ue(module_id_t Mod_id,int CC_id,
                         uint8_t eNB_id,
-                        RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
-                        ARFCN_ValueEUTRA_t *ul_CarrierFreq,
+                        LTE_RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
+                        LTE_ARFCN_ValueEUTRA_t *ul_CarrierFreq,
                         long *ul_Bandwidth,
-                        AdditionalSpectrumEmission_t *additionalSpectrumEmission,
-                        struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList)
+                        LTE_AdditionalSpectrumEmission_t *additionalSpectrumEmission,
+                        struct LTE_MBSFN_SubframeConfigList *mbsfn_SubframeConfigList)
 {
 
   PHY_VARS_UE *ue        = PHY_vars_UE_g[Mod_id][CC_id];
@@ -114,7 +114,7 @@ void phy_config_sib2_ue(module_id_t Mod_id,int CC_id,
   init_ul_hopping(fp);
   fp->soundingrs_ul_config_common.enabled_flag                        = 0;
 
-  if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon.present==SoundingRS_UL_ConfigCommon_PR_setup) {
+  if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon.present == LTE_SoundingRS_UL_ConfigCommon_PR_setup) {
     fp->soundingrs_ul_config_common.enabled_flag                        = 1;
     fp->soundingrs_ul_config_common.srs_BandwidthConfig                 = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig;
     fp->soundingrs_ul_config_common.srs_SubframeConfig                  = radioResourceConfigCommon->soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig;
@@ -159,19 +159,19 @@ void phy_config_sib2_ue(module_id_t Mod_id,int CC_id,
       fp->MBSFN_config[i].radioframeAllocationPeriod = mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationPeriod;
       fp->MBSFN_config[i].radioframeAllocationOffset = mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset;
 
-      if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) {
+      if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) {
         fp->MBSFN_config[i].fourFrames_flag = 0;
         fp->MBSFN_config[i].mbsfn_SubframeConfig = mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]; // 6-bit subframe configuration
-        LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is  %d\n", i,
+        LOG_I(PHY, "[CONFIG] LTE_MBSFN_SubframeConfig[%d] pattern is  %d\n", i,
               fp->MBSFN_config[i].mbsfn_SubframeConfig);
-      } else if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames) { // 24-bit subframe configuration
+      } else if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == LTE_MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames) { // 24-bit subframe configuration
         fp->MBSFN_config[i].fourFrames_flag = 1;
         fp->MBSFN_config[i].mbsfn_SubframeConfig =
           mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[2]|
           (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[1]<<8)|
           (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]<<16);
 
-        LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is  %x\n", i,
+        LOG_I(PHY, "[CONFIG]  LTE_MBSFN_SubframeConfig[%d] pattern is  %x\n", i,
               fp->MBSFN_config[i].mbsfn_SubframeConfig);
       }
     }
@@ -203,11 +203,11 @@ void phy_config_sib13_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,int mbsfn_A
 /*
  * Configures UE MAC and PHY with radioResourceCommon received in mobilityControlInfo IE during Handover
  */
-void phy_config_afterHO_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_id, MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed)
+void phy_config_afterHO_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_id, LTE_MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed)
 {
 
   if(mobilityControlInfo!=NULL) {
-    RadioResourceConfigCommon_t *radioResourceConfigCommon = &mobilityControlInfo->radioResourceConfigCommon;
+    LTE_RadioResourceConfigCommon_t *radioResourceConfigCommon = &mobilityControlInfo->radioResourceConfigCommon;
     LOG_I(PHY,"radioResourceConfigCommon %p\n", radioResourceConfigCommon);
     memcpy((void *)&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms_before_ho,
            (void *)&PHY_vars_UE_g[Mod_id][CC_id]->frame_parms,
@@ -264,7 +264,7 @@ void phy_config_afterHO_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_id, Mobi
     init_ul_hopping(fp);
     fp->soundingrs_ul_config_common.enabled_flag                        = 0;
 
-    if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon->present==SoundingRS_UL_ConfigCommon_PR_setup) {
+    if (radioResourceConfigCommon->soundingRS_UL_ConfigCommon->present == LTE_SoundingRS_UL_ConfigCommon_PR_setup) {
       fp->soundingrs_ul_config_common.enabled_flag                        = 1;
       fp->soundingrs_ul_config_common.srs_BandwidthConfig                 = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_BandwidthConfig;
       fp->soundingrs_ul_config_common.srs_SubframeConfig                  = radioResourceConfigCommon->soundingRS_UL_ConfigCommon->choice.setup.srs_SubframeConfig;
@@ -344,10 +344,10 @@ void phy_config_meas_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_index,uint8
 
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 void phy_config_dedicated_scell_ue(uint8_t Mod_id,
                                    uint8_t eNB_index,
-                                   SCellToAddMod_r10_t *sCellToAddMod_r10,
+                                   LTE_SCellToAddMod_r10_t *sCellToAddMod_r10,
                                    int CC_id)
 {
 
@@ -366,7 +366,7 @@ void phy_config_harq_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
 extern uint16_t beta_cqi[16];
 
 void phy_config_dedicated_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
-                             struct PhysicalConfigDedicated *physicalConfigDedicated )
+                             struct LTE_PhysicalConfigDedicated *physicalConfigDedicated )
 {
 
   static uint8_t first_dedicated_configuration = 0;
@@ -396,7 +396,7 @@ void phy_config_dedicated_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
     }
 
     if (physicalConfigDedicated->pucch_ConfigDedicated) {
-      if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present==PUCCH_ConfigDedicated__ackNackRepetition_PR_release)
+      if (physicalConfigDedicated->pucch_ConfigDedicated->ackNackRepetition.present == LTE_PUCCH_ConfigDedicated__ackNackRepetition_PR_release)
         phy_vars_ue->pucch_config_dedicated[eNB_id].ackNackRepetition=0;
       else {
         phy_vars_ue->pucch_config_dedicated[eNB_id].ackNackRepetition=1;
@@ -448,25 +448,25 @@ void phy_config_dedicated_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
       phy_vars_ue->transmission_mode[eNB_id] = 1+(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode);
       LOG_I(PHY,"Transmission Mode %d\n",phy_vars_ue->transmission_mode[eNB_id]);
       switch(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode) {
-      case AntennaInfoDedicated__transmissionMode_tm1:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm1:
         phy_vars_ue->transmission_mode[eNB_id] = 1;
         break;
-      case AntennaInfoDedicated__transmissionMode_tm2:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm2:
         phy_vars_ue->transmission_mode[eNB_id] = 2;
         break;
-      case AntennaInfoDedicated__transmissionMode_tm3:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm3:
         phy_vars_ue->transmission_mode[eNB_id] = 3;
         break;
-      case AntennaInfoDedicated__transmissionMode_tm4:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm4:
         phy_vars_ue->transmission_mode[eNB_id] = 4;
         break;
-      case AntennaInfoDedicated__transmissionMode_tm5:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm5:
         phy_vars_ue->transmission_mode[eNB_id] = 5;
         break;
-      case AntennaInfoDedicated__transmissionMode_tm6:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm6:
         phy_vars_ue->transmission_mode[eNB_id] = 6;
         break;
-      case AntennaInfoDedicated__transmissionMode_tm7:
+      case LTE_AntennaInfoDedicated__transmissionMode_tm7:
         lte_gold_ue_spec_port5(phy_vars_ue->lte_gold_uespec_port5_table, phy_vars_ue->frame_parms.Nid_cell, phy_vars_ue->pdcch_vars[0][eNB_id]->crnti);
         phy_vars_ue->transmission_mode[eNB_id] = 7;
         break;
@@ -479,7 +479,7 @@ void phy_config_dedicated_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
     }
 
     if (physicalConfigDedicated->schedulingRequestConfig) {
-      if (physicalConfigDedicated->schedulingRequestConfig->present == SchedulingRequestConfig_PR_setup) {
+      if (physicalConfigDedicated->schedulingRequestConfig->present == LTE_SchedulingRequestConfig_PR_setup) {
         phy_vars_ue->scheduling_request_config[eNB_id].sr_PUCCH_ResourceIndex = physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex;
         phy_vars_ue->scheduling_request_config[eNB_id].sr_ConfigIndex=physicalConfigDedicated->schedulingRequestConfig->choice.setup.sr_ConfigIndex;
         phy_vars_ue->scheduling_request_config[eNB_id].dsr_TransMax=physicalConfigDedicated->schedulingRequestConfig->choice.setup.dsr_TransMax;
@@ -496,7 +496,7 @@ void phy_config_dedicated_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
     if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated) {
 
       phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srsConfigDedicatedSetup = 0;
-      if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == SoundingRS_UL_ConfigDedicated_PR_setup) {
+      if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == LTE_SoundingRS_UL_ConfigDedicated_PR_setup) {
         phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].srsConfigDedicatedSetup = 1;
         phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].duration             = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration;
         phy_vars_ue->soundingrs_ul_config_dedicated[eNB_id].cyclicShift          = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift;
@@ -525,14 +525,14 @@ void phy_config_dedicated_ue(module_id_t Mod_id,int CC_id,uint8_t eNB_id,
           LOG_E(PHY,"Unsupported Aperiodic CQI Feedback Mode : %d\n",phy_vars_ue->cqi_report_config[eNB_id].cqi_ReportModeAperiodic);
       }
       if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic) {
-        if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_setup) {
+        if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == LTE_CQI_ReportPeriodic_PR_setup) {
         // configure PUCCH CQI reporting
           phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PUCCH_ResourceIndex = physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex;
           phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex     = physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex;
           if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex)
             phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.ri_ConfigIndex = *physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.ri_ConfigIndex;
         }
-        else if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_release) {
+        else if (physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic->present == LTE_CQI_ReportPeriodic_PR_release) {
           // handle release
           phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.ri_ConfigIndex = -1;
           phy_vars_ue->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex = -1;
diff --git a/openair1/PHY/INIT/phy_init.h b/openair1/PHY/INIT/phy_init.h
index da4050c84824f8eaf9df4c16b454afa433fbcc9f..9e08dabba236e30089c28e4f43d036b021dfee31 100644
--- a/openair1/PHY/INIT/phy_init.h
+++ b/openair1/PHY/INIT/phy_init.h
@@ -25,15 +25,15 @@
 #include "PHY/defs_eNB.h"
 #include "PHY/defs_UE.h"
 
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 //#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#include "TDD-Config.h"
-#include "PHICH-Config.h"
-#include "MBSFN-SubframeConfigList.h"
-#include "MobilityControlInfo.h"
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "SCellToAddMod-r10.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_PHICH-Config.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
+#include "LTE_MobilityControlInfo.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#include "LTE_SCellToAddMod-r10.h"
 #endif
 /** @addtogroup _PHY_STRUCTURES_
  * @{
@@ -110,7 +110,7 @@ void phy_config_mib_eNB(int                    Mod_id,
 			int                    CC_id,
 			int                    eutra_band,
 			int                    N_RB_DL,
-			PHICH_Config_t         *phich_config,
+			LTE_PHICH_Config_t    *phich_config,
 			int                    Nid_cell,
 			int                    Ncp,
 			int                    p_eNB,
@@ -128,7 +128,7 @@ void phy_config_mib_eNB(int                    Mod_id,
 @param SIperiod Periodicity of System Information Messages (in multiples of a frame)*/
 void phy_config_sib1_eNB(module_id_t    Mod_id,
                          int CC_id,
-                         TDD_Config_t  *tdd_Config,
+                         LTE_TDD_Config_t  *tdd_Config,
                          uint8_t           SIwindowsize,
                          uint16_t            SIperiod);
 
@@ -143,7 +143,7 @@ void phy_config_sib1_eNB(module_id_t    Mod_id,
 void phy_config_sib1_ue(module_id_t   Mod_id,
                         int CC_id,
                         uint8_t          CH_index,
-                        TDD_Config_t *tdd_Config,
+                        LTE_TDD_Config_t *tdd_Config,
                         uint8_t          SIwindowsize,
                         uint16_t           SIperiod);
 
@@ -166,14 +166,14 @@ void phy_config_sib1_ue(module_id_t   Mod_id,
   @param additionalSpectrumEmission UL parameter (see 36.101)
   @param mbsfn_SubframeConfigList MBSFN subframe configuration
  */
-void phy_config_sib2_ue(module_id_t                     Mod_id,
-                        int                         CC_id,
-                        uint8_t                         CH_index,
-                        RadioResourceConfigCommonSIB_t  *radioResourceConfigCommon,
-                        ARFCN_ValueEUTRA_t              *ul_CArrierFreq,
-                        long                            *ul_Bandwidth,
-                        AdditionalSpectrumEmission_t    *additionalSpectrumEmission,
-                        struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList);
+void phy_config_sib2_ue(module_id_t                          Mod_id,
+                        int                                  CC_id,
+                        uint8_t                              CH_index,
+                        LTE_RadioResourceConfigCommonSIB_t  *radioResourceConfigCommon,
+                        LTE_ARFCN_ValueEUTRA_t              *ul_CArrierFreq,
+                        long                                *ul_Bandwidth,
+                        LTE_AdditionalSpectrumEmission_t    *additionalSpectrumEmission,
+                        struct LTE_MBSFN_SubframeConfigList *mbsfn_SubframeConfigList);
 
 
 /*!
@@ -188,7 +188,7 @@ void phy_config_sib2_ue(module_id_t                     Mod_id,
 void phy_config_afterHO_ue(module_id_t Mod_id,
                            uint8_t CC_id,
                            uint8_t eNB_index,
-                           MobilityControlInfo_t *mobilityControlInfo,
+                           LTE_MobilityControlInfo_t *mobilityControlInfo,
                            uint8_t ho_failed);
 /*!
   \fn void phy_config_sib2_eNB(module_id_t Mod_id,
@@ -206,13 +206,13 @@ void phy_config_afterHO_ue(module_id_t Mod_id,
   @param additionalSpectrumEmission UL parameter (see 36.101)
   @param mbsfn_SubframeConfigList MBSFN subframe configuration
  */
-void phy_config_sib2_eNB(module_id_t                            Mod_id,
-                         int                                CC_id,
-                         RadioResourceConfigCommonSIB_t         *radioResourceConfigCommon,
-                         ARFCN_ValueEUTRA_t                     *ul_CArrierFreq,
+void phy_config_sib2_eNB(module_id_t                             Mod_id,
+                         int                                     CC_id,
+                         LTE_RadioResourceConfigCommonSIB_t     *radioResourceConfigCommon,
+                         LTE_ARFCN_ValueEUTRA_t                 *ul_CArrierFreq,
                          long                                   *ul_Bandwidth,
-                         AdditionalSpectrumEmission_t           *additionalSpectrumEmission,
-                         struct MBSFN_SubframeConfigList        *mbsfn_SubframeConfigList);
+                         LTE_AdditionalSpectrumEmission_t       *additionalSpectrumEmission,
+                         struct LTE_MBSFN_SubframeConfigList    *mbsfn_SubframeConfigList);
 
 
 /*!
@@ -229,7 +229,7 @@ void phy_config_sib2_eNB(module_id_t                            Mod_id,
 void phy_config_dedicated_ue(module_id_t Mod_id,
                              int CC_id,
                              uint8_t CH_index,
-                             struct PhysicalConfigDedicated *physicalConfigDedicated);
+                             struct LTE_PhysicalConfigDedicated *physicalConfigDedicated);
 
 /*!
 \fn void phy_config_harq_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t CH_index,
@@ -308,7 +308,7 @@ void phy_config_meas_ue(module_id_t Mod_id,
 void phy_config_dedicated_eNB(module_id_t Mod_id,
                               int CC_id,
                               rnti_t rnti,
-                              struct PhysicalConfigDedicated *physicalConfigDedicated);
+                              struct LTE_PhysicalConfigDedicated *physicalConfigDedicated);
 
 /*!
 \fn void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *phy_vars_eNB)
@@ -349,15 +349,15 @@ void lte_param_init(PHY_VARS_eNB **eNBp,
 		    uint32_t perfect_ce);
 
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 void phy_config_dedicated_scell_ue(uint8_t Mod_id,
                                    uint8_t eNB_index,
-                                   SCellToAddMod_r10_t *sCellToAddMod_r10,
+                                   LTE_SCellToAddMod_r10_t *sCellToAddMod_r10,
                                    int CC_id);
 
 void phy_config_dedicated_scell_eNB(uint8_t Mod_id,
                                     uint16_t rnti,
-                                    SCellToAddMod_r10_t *sCellToAddMod_r10,
+                                    LTE_SCellToAddMod_r10_t *sCellToAddMod_r10,
                                     int CC_id);
 
 #endif
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c
index 520488664d26289952564d1c1a75b15fbc8c01a0..a7131ad1fbf1a963a941a3d37faa043c7cbb0170 100755
--- a/openair1/PHY/LTE_TRANSPORT/dci.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci.c
@@ -121,7 +121,7 @@ uint8_t *generate_dci0(uint8_t *dci,
 	      (aggregation_level==2) ||
 	      (aggregation_level==4) ||
 	      (aggregation_level==8)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) // Added for EPDCCH/MPDCCH
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) // Added for EPDCCH/MPDCCH
 	      ||
 	      (aggregation_level==16) ||
 	      (aggregation_level==24) ||
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
index 9aacdd079d7d005ed1c8016a6d48aea705e3787b..1a83508cee92fd6744283fde96055a5de792effd 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
@@ -60,7 +60,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_SCRAMBLING, VCD_FUNCTION_IN);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   // Rule for accumulation of subframes for BL/CE UEs
   uint8_t Nacc=4;
   uint16_t j0,j,idelta;
@@ -97,7 +97,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
   //  reset = 1;
   // x1 is set in lte_gold_generic
   if (mbsfn_flag == 0) {
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 #ifdef PHY_TX_THREAD
     if (dlsch->harq_processes[harq_pid]->i0 != 0xFFFF) {
 #else
@@ -115,7 +115,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
   }
 
 #ifdef DEBUG_SCRAMBLING
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   printf("scrambling: i0 %d rnti %x, q %d, Ns %d, Nid_cell %d, G %d x2 %x\n",dlsch->i0,dlsch->rnti,q,Ns,frame_parms->Nid_cell, G, x2);
 #else
   printf("scrambling: rnti %x, q %d, Ns %d, Nid_cell %d, G %d x2 %x\n",dlsch->rnti,q,Ns,frame_parms->Nid_cell, G, x2);
diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c
index fc82fd01375827bba653561691067b027a675ee6..06bd5aecd5bc9257a53e5526a745738d7d204659 100755
--- a/openair1/PHY/LTE_TRANSPORT/edci.c
+++ b/openair1/PHY/LTE_TRANSPORT/edci.c
@@ -47,7 +47,7 @@
 //#define DEBUG_DCI_DECODING 1
 //#define DEBUG_PHY
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 void generate_edci_top(PHY_VARS_eNB *eNB, int frame, int subframe) {
 
 }
diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
index 8a56105f673e6da2ff0968ddec819781a6572190..127471dcb602dcfdf0d329ca293b5fe7ce08047e 100644
--- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
@@ -47,7 +47,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
   int32_t **txdataF          = ru->common.txdataF_BF;
   int32_t **rxdataF          = ru->common.rxdataF;
   int16_t **prach_rxsigF     = ru->prach_rxsigF;  
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   int16_t ***prach_rxsigF_br = ru->prach_rxsigF_br;
 #endif
   void *tx_buffer            = ru->ifbuffer.tx[subframe&1];
@@ -221,7 +221,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
 
     int16_t *rxF;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (packet_type > IF4p5_PRACH)
       rxF = &prach_rxsigF_br[packet_type - IF4p5_PRACH - 1][0][0];
     else 
@@ -262,7 +262,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
   int32_t **txdataF          = ru->common.txdataF_BF;
   int32_t **rxdataF          = ru->common.rxdataF;
   int16_t **prach_rxsigF     = ru->prach_rxsigF;  
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   int16_t ***prach_rxsigF_br = ru->prach_rxsigF_br;
 #endif
   void *rx_buffer            = ru->ifbuffer.rx;
@@ -359,7 +359,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
 
     int16_t *rxF;
     
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (*packet_type > IF4p5_PRACH)
       rxF = &prach_rxsigF_br[*packet_type - IF4p5_PRACH - 1][0][0];
     else 
diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c
index ec0b7db4ad7d003398dfddd842f935f6639b0743..42d217130af279c0e47aeaa28a4e287cc3a47a8b 100644
--- a/openair1/PHY/LTE_TRANSPORT/prach.c
+++ b/openair1/PHY/LTE_TRANSPORT/prach.c
@@ -38,7 +38,7 @@
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #include "prach_extern.h"
 
-#if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(14, 0, 0))
 #define rx_prach0 rx_prach
 #endif
 
@@ -49,7 +49,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
 	       uint16_t *max_preamble_delay,
 	       uint16_t Nf, 
 	       uint8_t tdd_mapindex
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	       ,uint8_t br_flag,
 	       uint8_t ce_level
 #endif
@@ -95,7 +95,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
   int16_t prach_ifft_tmp[2048*2] __attribute__((aligned(32)));
   int32_t *prach_ifft=(int32_t*)NULL;
   int32_t **prach_ifftp=(int32_t **)NULL;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   int prach_ifft_cnt=0;
 #endif
 
@@ -112,7 +112,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
   
   frame_type          = fp->frame_type;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   if (br_flag == 1) {
     AssertFatal(fp->prach_emtc_config_common.prach_Config_enabled==1,
 		"emtc prach_Config is not enabled\n");
@@ -147,7 +147,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
   uint16_t N_ZC = (prach_fmt <4)?839:139;
   
   if (eNB) {
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (br_flag == 1) {
       prach_ifftp         = eNB->prach_vars_br.prach_ifft[ce_level];
       subframe            = eNB->proc.subframe_prach_br;
@@ -174,7 +174,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
       }
   }
   else {
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (br_flag == 1) {
         subframe          = ru->proc.subframe_prach_br;
         rxsigF            = ru->prach_rxsigF_br[ce_level];
@@ -425,7 +425,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
   if ((eNB==NULL) && (ru!=NULL) && ru->function == NGFI_RRU_IF4p5) {
 
     /// **** send_IF4 of rxsigF to RAU **** ///
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (br_flag == 1) send_IF4p5(ru, ru->proc.frame_prach, ru->proc.subframe_prach, IF4p5_PRACH+1+ce_level);      
 
     else
@@ -570,7 +570,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
     if (new_dft == 1) {
       new_dft = 0;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       if (br_flag == 1) {
 	Xu=(int16_t*)eNB->X_u_br[ce_level][preamble_offset-first_nonzero_root_idx];
 	prach_ifft = prach_ifftp[prach_ifft_cnt++];
@@ -627,7 +627,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
     } // new dft
     
     // check energy in nth time shift, for 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if ((br_flag==0) ||
 	(eNB->prach_vars_br.repetition_number[ce_level]==
 	 eNB->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_numRepetitionPerPreambleAttempt[ce_level]))
@@ -694,7 +694,7 @@ void rx_prach0(PHY_VARS_eNB *eNB,
 
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 void rx_prach(PHY_VARS_eNB *eNB,
 	      RU_t *ru,
@@ -736,4 +736,4 @@ void rx_prach(PHY_VARS_eNB *eNB,
   }
 }
 
-#endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
+#endif /* #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
diff --git a/openair1/PHY/LTE_TRANSPORT/prach_common.c b/openair1/PHY/LTE_TRANSPORT/prach_common.c
index 475a97ca0c7bcb441976b51af49f8c2c22a98d4a..4962f6a7f917b3da8eda0af841d963c1bbd47d54 100644
--- a/openair1/PHY/LTE_TRANSPORT/prach_common.c
+++ b/openair1/PHY/LTE_TRANSPORT/prach_common.c
@@ -570,7 +570,7 @@ int is_prach_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t su
   uint8_t prach_ConfigIndex  = frame_parms->prach_config_common.prach_ConfigInfo.prach_ConfigIndex;
   int prach_mask             = is_prach_subframe0(frame_parms,prach_ConfigIndex,frame,subframe);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   int i;
 
   for (i=0;i<4;i++) {
diff --git a/openair1/PHY/LTE_TRANSPORT/transport_common.h b/openair1/PHY/LTE_TRANSPORT/transport_common.h
index 130c9737749fbae5025ba3bf1f0fd50b18027637..c1104cd29050fbdfff1633e3b869174b1da88a50 100644
--- a/openair1/PHY/LTE_TRANSPORT/transport_common.h
+++ b/openair1/PHY/LTE_TRANSPORT/transport_common.h
@@ -105,7 +105,7 @@ typedef enum {
 
 
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 typedef enum {
   CEmodeA = 0,
   CEmodeB = 1
@@ -138,7 +138,7 @@ typedef enum {
   HARQ_SR_CQI  
 } UCI_type_t;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 typedef enum {
   NOCE,
   CEMODEA,
@@ -183,7 +183,7 @@ typedef struct {
   PRACH_TDD_PREAMBLE_MAP_elem map[6];
 } PRACH_TDD_PREAMBLE_MAP;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 typedef struct {
   uint16_t slss_id;
diff --git a/openair1/PHY/LTE_TRANSPORT/transport_eNB.h b/openair1/PHY/LTE_TRANSPORT/transport_eNB.h
index d1dd595d3599ad248f0776f5834dc8cb6670a6d8..7df39e038c1667dc044ab66c5f6c4c5e2bc9227a 100644
--- a/openair1/PHY/LTE_TRANSPORT/transport_eNB.h
+++ b/openair1/PHY/LTE_TRANSPORT/transport_eNB.h
@@ -126,7 +126,7 @@ typedef struct {
   /// codeword this transport block is mapped to
   uint8_t codeword;
 #ifdef PHY_TX_THREAD
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling
   uint8_t sib1_br_flag;
   /// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling
@@ -183,7 +183,7 @@ typedef struct {
   /// amplitude of PDSCH (compared to RS) in symbols containing pilots
   int16_t sqrt_rho_b;
 #ifndef PHY_TX_THREAD
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling
   uint8_t sib1_br_flag;
   /// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling
@@ -348,7 +348,7 @@ typedef struct {
   uint8_t     tdd_bundling;
   /// Received Energy
   uint32_t stat;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// non BL/CE, CEmodeA, CEmodeB
   UE_type_t ue_type;
   /// Indicates the symbols that are left empty due to eMTC retuning.
diff --git a/openair1/PHY/LTE_TRANSPORT/transport_proto.h b/openair1/PHY/LTE_TRANSPORT/transport_proto.h
index 37ac335d02c632238539ede9af847e61b101eafe..f3c55b85e6447ea6708a4d6b3ee3970fb25c9ad3 100644
--- a/openair1/PHY/LTE_TRANSPORT/transport_proto.h
+++ b/openair1/PHY/LTE_TRANSPORT/transport_proto.h
@@ -578,7 +578,7 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,RU_t *ru,
 	      uint16_t *max_preamble_energy, 
 	      uint16_t *max_preamble_delay, 
 	      uint16_t Nf, uint8_t tdd_mapindex
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	      ,
               uint8_t br_flag
 #endif
diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c b/openair1/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c
index e0ea796a826fb6b05357f5624942a954706cb389..76176d346e8773cf105f05c00198e6bd4af4093c 100644
--- a/openair1/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c
+++ b/openair1/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c
@@ -3593,7 +3593,7 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu,
 
     if (cqi_req == 1) {
 
-      if( (AntennaInfoDedicated__transmissionMode_tm3 == transmission_mode) || (AntennaInfoDedicated__transmissionMode_tm4 == transmission_mode) )
+      if( (LTE_AntennaInfoDedicated__transmissionMode_tm3 == transmission_mode) || (LTE_AntennaInfoDedicated__transmissionMode_tm4 == transmission_mode) )
       {
           ulsch->O_RI = 1;
       }
diff --git a/openair1/PHY/defs_L1_NB_IoT.h b/openair1/PHY/defs_L1_NB_IoT.h
index 8a7c853df55d10fbd148d94077683eabfd873a39..0a34d9f12bb9420b285b1adb387a6d3b73ac77c7 100644
--- a/openair1/PHY/defs_L1_NB_IoT.h
+++ b/openair1/PHY/defs_L1_NB_IoT.h
@@ -425,7 +425,7 @@ typedef struct eNB_proc_NB_IoT_t_s {
   int RU_mask;
   /// mask for RUs serving nbiot (PRACH)
   int RU_mask_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// mask for RUs serving eNB (PRACH)
   int RU_mask_prach_br;
 #endif
diff --git a/openair1/PHY/defs_UE.h b/openair1/PHY/defs_UE.h
index 55f8c9639ab281316a25784b62f45811c69d9203..a303902b0795fce0965fcdb646da227d50ef9a96 100644
--- a/openair1/PHY/defs_UE.h
+++ b/openair1/PHY/defs_UE.h
@@ -847,6 +847,7 @@ typedef struct {
   time_stats_t pdsch_procedures_stat[RX_NB_TH];
   time_stats_t pdsch_procedures_per_slot_stat[RX_NB_TH][LTE_SLOTS_PER_SUBFRAME];
   time_stats_t dlsch_procedures_stat[RX_NB_TH];
+  time_stats_t crnti_procedures_stats;
 
   time_stats_t ofdm_demod_stats;
   time_stats_t dlsch_rx_pdcch_stats;
diff --git a/openair1/PHY/defs_common.h b/openair1/PHY/defs_common.h
index 9a735b038fedd588a06afe665824d02f68d47da0..ae0168b53c638ef179e3d1494b7170359425270d 100644
--- a/openair1/PHY/defs_common.h
+++ b/openair1/PHY/defs_common.h
@@ -159,7 +159,7 @@ typedef struct {
   PRACH_CONFIG_INFO prach_ConfigInfo;
 } PRACH_CONFIG_COMMON;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 /// PRACH-eMTC-Config from 36.331 RRC spec
 typedef struct {
@@ -192,7 +192,7 @@ typedef struct {
   /// prach_Config_enabled=1 means enabled. \vr{[0..1]}
   uint8_t prach_Config_enabled;
   /// PRACH Configuration Information
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   PRACH_eMTC_CONFIG_INFO prach_ConfigInfo;
 #endif  
 } PRACH_eMTC_CONFIG_COMMON;
@@ -644,7 +644,7 @@ typedef struct {
   uint8_t nb_antenna_ports_eNB;
   /// PRACH_CONFIG
   PRACH_CONFIG_COMMON prach_config_common;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// PRACH_eMTC_CONFIG
   PRACH_eMTC_CONFIG_COMMON prach_emtc_config_common;
 #endif
diff --git a/openair1/PHY/defs_eNB.h b/openair1/PHY/defs_eNB.h
index f23485cad84e732ec2459da1ec7c005052b6b74e..2db81aef7734a41be6121d966bea5cdf2f1d7f7d 100644
--- a/openair1/PHY/defs_eNB.h
+++ b/openair1/PHY/defs_eNB.h
@@ -85,7 +85,7 @@ typedef struct RU_proc_t_s {
   int subframe_tx;
   /// subframe to act upon for reception of prach
   int subframe_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// subframe to act upon for reception of prach BL/CE UEs
   int subframe_prach_br;
 #endif
@@ -97,7 +97,7 @@ typedef struct RU_proc_t_s {
   int frame_tx_unwrap;
   /// frame to act upon for reception of prach
   int frame_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// frame to act upon for reception of prach
   int frame_prach_br;
 #endif
@@ -109,7 +109,7 @@ typedef struct RU_proc_t_s {
   int instance_cnt_FH1;
   /// \internal This variable is protected by \ref mutex_prach.
   int instance_cnt_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// \internal This variable is protected by \ref mutex_prach.
   int instance_cnt_prach_br;
 #endif
@@ -131,7 +131,7 @@ typedef struct RU_proc_t_s {
   pthread_t pthread_FH1;
   /// pthread structure for RU prach processing thread
   pthread_t pthread_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// pthread structure for RU prach processing thread BL/CE UEs
   pthread_t pthread_prach_br;
 #endif
@@ -154,7 +154,7 @@ typedef struct RU_proc_t_s {
   pthread_attr_t attr_FH1;
   /// pthread attributes for RU prach
   pthread_attr_t attr_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// pthread attributes for RU prach BL/CE UEs
   pthread_attr_t attr_prach_br;
 #endif
@@ -173,7 +173,7 @@ typedef struct RU_proc_t_s {
   struct sched_param sched_param_FH1;
   /// scheduling parameters for RU prach thread
   struct sched_param sched_param_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// scheduling parameters for RU prach thread BL/CE UEs
   struct sched_param sched_param_prach_br;
 #endif
@@ -186,7 +186,7 @@ typedef struct RU_proc_t_s {
   pthread_cond_t cond_FH1;
   /// condition variable for RU prach thread
   pthread_cond_t cond_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// condition variable for RU prach thread BL/CE UEs
   pthread_cond_t cond_prach_br;
 #endif
@@ -207,7 +207,7 @@ typedef struct RU_proc_t_s {
   pthread_mutex_t mutex_FH1;
   /// mutex for RU prach
   pthread_mutex_t mutex_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// mutex for RU prach BL/CE UEs
   pthread_mutex_t mutex_prach_br;
 #endif
@@ -359,7 +359,7 @@ typedef struct RU_t_s{
   int (*wakeup_rxtx)(struct PHY_VARS_eNB_s *eNB, struct RU_t_s *ru);
   /// function pointer to wakeup routine in lte-enb.
   void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// function pointer to wakeup routine in lte-enb.
   void (*wakeup_prach_eNB_br)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
 #endif
@@ -484,7 +484,7 @@ typedef struct RRU_config_s {
   int prach_FreqOffset[MAX_BANDS_PER_RRU];
   /// prach_ConfigIndex for IF4p5
   int prach_ConfigIndex[MAX_BANDS_PER_RRU];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   int emtc_prach_CElevel_enable[MAX_BANDS_PER_RRU][4];
   /// emtc_prach_FreqOffset for IF4p5 per CE Level
   int emtc_prach_FreqOffset[MAX_BANDS_PER_RRU][4];
@@ -619,7 +619,7 @@ typedef struct {
   int32_t **prach_ifft[4];
 
   /// repetition number
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// indicator of first frame in a group of PRACH repetitions
   int first_frame[4];
   /// current repetition for each CE level
@@ -706,7 +706,7 @@ typedef struct eNB_proc_t_s {
   int subframe_rx;
   /// subframe to act upon for PRACH
   int subframe_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// subframe to act upon for reception of prach BL/CE UEs
   int subframe_prach_br;
 #endif
@@ -716,7 +716,7 @@ typedef struct eNB_proc_t_s {
   int frame_tx;
   /// frame to act upon for PRACH
   int frame_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// frame to act upon for PRACH BL/CE UEs
   int frame_prach_br;
 #endif
@@ -726,7 +726,7 @@ typedef struct eNB_proc_t_s {
   int instance_cnt_te;
   /// \internal This variable is protected by \ref mutex_prach.
   int instance_cnt_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// \internal This variable is protected by \ref mutex_prach for BL/CE UEs.
   int instance_cnt_prach_br;
 #endif
@@ -748,7 +748,7 @@ typedef struct eNB_proc_t_s {
   pthread_attr_t attr_single;
   /// pthread attributes for prach processing thread
   pthread_attr_t attr_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// pthread attributes for prach processing thread BL/CE UEs
   pthread_attr_t attr_prach_br;
 #endif
@@ -762,7 +762,7 @@ typedef struct eNB_proc_t_s {
   struct sched_param sched_param_single;
   /// scheduling parameters for prach thread
   struct sched_param sched_param_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// scheduling parameters for prach thread
   struct sched_param sched_param_prach_br;
 #endif
@@ -774,7 +774,7 @@ typedef struct eNB_proc_t_s {
   pthread_t pthread_te;
   /// pthread structure for PRACH thread
   pthread_t pthread_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// pthread structure for PRACH thread BL/CE UEs
   pthread_t pthread_prach_br;
 #endif
@@ -784,7 +784,7 @@ typedef struct eNB_proc_t_s {
   pthread_cond_t cond_te;
   /// condition variable for PRACH processing thread;
   pthread_cond_t cond_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// condition variable for PRACH processing thread BL/CE UEs;
   pthread_cond_t cond_prach_br;
 #endif
@@ -796,7 +796,7 @@ typedef struct eNB_proc_t_s {
   pthread_mutex_t mutex_te;
   /// mutex for PRACH thread
   pthread_mutex_t mutex_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// mutex for PRACH thread for BL/CE UEs
   pthread_mutex_t mutex_prach_br;
 #endif
@@ -812,7 +812,7 @@ typedef struct eNB_proc_t_s {
   int RU_mask;
   /// mask for RUs serving eNB (PRACH)
   int RU_mask_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// mask for RUs serving eNB (PRACH)
   int RU_mask_prach_br;
 #endif
@@ -927,14 +927,14 @@ typedef struct PHY_VARS_eNB_s {
   nfapi_cqi_indication_raw_pdu_t cqi_raw_pdu_list[NFAPI_CQI_IND_MAX_PDU];
   /// NFAPI PRACH information
   nfapi_preamble_pdu_t preamble_list[MAX_NUM_RX_PRACH_PREAMBLES];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// NFAPI PRACH information BL/CE UEs
   nfapi_preamble_pdu_t preamble_list_br[MAX_NUM_RX_PRACH_PREAMBLES];
 #endif
   Sched_Rsp_t          Sched_INFO;
   LTE_eNB_PDCCH        pdcch_vars[2];
   LTE_eNB_PHICH        phich_vars[2];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   LTE_eNB_EPDCCH       epdcch_vars[2];
   LTE_eNB_MPDCCH       mpdcch_vars[2];
   LTE_eNB_PRACH        prach_vars_br;
@@ -966,7 +966,7 @@ typedef struct PHY_VARS_eNB_s {
   uint32_t         lte_gold_mbsfn_table[10][3][42];
 
   uint32_t X_u[64][839];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   uint32_t X_u_br[4][64][839];
 #endif
   uint8_t pbch_configured;
@@ -1037,7 +1037,7 @@ typedef struct PHY_VARS_eNB_s {
   uint8_t cba_last_reception[4];
 
   // Pointers for active physicalConfigDedicated to be applied in current subframe
-  struct PhysicalConfigDedicated *physicalConfigDedicated[NUMBER_OF_UE_MAX];
+  struct LTE_PhysicalConfigDedicated *physicalConfigDedicated[NUMBER_OF_UE_MAX];
 
 
   uint32_t rb_mask_ul[4];
@@ -1074,12 +1074,12 @@ typedef struct PHY_VARS_eNB_s {
 
   int hw_timing_advance;
 
-  time_stats_t phy_proc;
   time_stats_t phy_proc_tx;
   time_stats_t phy_proc_rx;
   time_stats_t rx_prach;
 
   time_stats_t ofdm_mod_stats;
+  time_stats_t dlsch_common_and_dci;
   time_stats_t dlsch_encoding_stats;
   time_stats_t dlsch_modulation_stats;
   time_stats_t dlsch_scrambling_stats;
diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c
index ad72c3d9f5f6a2cf8a17933135b63a0399b62985..ec14b32ac26f6214bf8b89f58cd8c24e1db55fb9 100644
--- a/openair1/SCHED/fapi_l1.c
+++ b/openair1/SCHED/fapi_l1.c
@@ -63,7 +63,7 @@ void handle_nfapi_dci_dl_pdu(PHY_VARS_eNB *eNB,
   LOG_D(PHY,"Frame %d, Subframe %d: DCI processing - populated pdcch_vars->dci_alloc[%d] proc:subframe_tx:%d idx:%d pdcch_vars->num_dci:%d\n",proc->frame_tx,proc->subframe_tx, pdcch_vars->num_dci, proc->subframe_tx, idx, pdcch_vars->num_dci);
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
                              eNB_rxtx_proc_t *proc,
@@ -128,7 +128,7 @@ void handle_nfapi_bch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
   // adjust transmit amplitude here based on NFAPI info
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 extern uint32_t localRIV2alloc_LUT6[32];
 extern uint32_t localRIV2alloc_LUT25[512];
 extern uint32_t localRIV2alloc_LUT50_0[1600];
@@ -145,10 +145,10 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
                             uint8_t *sdu)
 {
   nfapi_dl_config_dlsch_pdu_rel8_t *rel8 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   nfapi_dl_config_dlsch_pdu_rel10_t *rel10 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10;
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   nfapi_dl_config_dlsch_pdu_rel13_t *rel13 = &dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13;
 #endif
   LTE_eNB_DLSCH_t *dlsch0=NULL,*dlsch1=NULL;
@@ -167,7 +167,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
   dlsch0 = eNB->dlsch[UE_id][0];
   dlsch1 = eNB->dlsch[UE_id][1];
 
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
   if ((rel13->pdsch_payload_type < 2) && (rel13->ue_type>0)) dlsch0->harq_ids[frame%2][subframe] = 0;
 #endif
 
@@ -236,7 +236,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
                                     rel8->rnti,UE_id,harq_pid);
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 #ifdef PHY_TX_THREAD
   dlsch0_harq->sib1_br_flag=0;
 #else
@@ -307,7 +307,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
 
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   LOG_D(PHY,"dlsch->i0:%04x dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n", 
 #ifdef PHY_TX_THREAD
       dlsch0_harq->i0,
@@ -823,7 +823,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
     case NFAPI_DL_CONFIG_EPDCCH_DL_PDU_TYPE:
       //      handle_nfapi_epdcch_pdu(eNB,dl_config_pdu);
       break;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     case NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE:
       handle_nfapi_mpdcch_pdu(eNB,proc,dl_config_pdu);
       eNB->mpdcch_vars[subframe&1].num_dci++;
diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index 276006ec3be58e40a413856efc288d7d9d2f3a43..b1d09ba8e9306e22c805759c85d656d99b0a2fa7 100644
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -136,7 +136,7 @@ lte_subframe_t get_subframe_direction(uint8_t Mod_id,uint8_t CC_id,uint8_t subfr
 void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
 
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   MCH_PDU *mch_pduP=NULL;
   //  uint8_t sync_area=255;
 #endif
@@ -152,7 +152,7 @@ void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
 		       subframe<<1,1);
 
   
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   // if mcch is active, send regardless of the node type: eNB or RN
   // when mcch is active, MAC sched does not allow MCCH and MTCH multiplexing
   /*
@@ -254,6 +254,8 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,int frame, int subframe) {
       if (eNB->pbch_configured!=1) return;
       eNB->pbch_configured=0;
     }
+    T(T_ENB_PHY_MIB, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe),
+      T_BUFFER(pbch_pdu, 3));
     generate_pbch(&eNB->pbch,
 		  txdataF,
 		  AMP,
@@ -484,6 +486,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX+(eNB->CC_id),1);
   if (do_meas==1) start_meas(&eNB->phy_proc_tx);
+  if (do_meas==1) start_meas(&eNB->dlsch_common_and_dci);
 
   // clear the transmit data array for the current subframe
   for (aa=0; aa<fp->nb_antenna_ports_eNB; aa++) {      
@@ -578,6 +581,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
         subframe);
   }
 
+  if (do_meas==1) stop_meas(&eNB->dlsch_common_and_dci);
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX,0);
 
diff --git a/openair1/SCHED/prach_procedures.c b/openair1/SCHED/prach_procedures.c
index 0c45b9ad8078a114530195868bb0cbad587805f1..1dead0ee5789927897713630f197f748cdbf86e0 100644
--- a/openair1/SCHED/prach_procedures.c
+++ b/openair1/SCHED/prach_procedures.c
@@ -54,7 +54,7 @@ extern uint32_t nfapi_mode;
 extern int oai_nfapi_rach_ind(nfapi_rach_indication_t *rach_ind);
 
 void prach_procedures(PHY_VARS_eNB *eNB
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                       ,
 		      int br_flag
 #endif
@@ -63,7 +63,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
   uint16_t i;
   int frame,subframe;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   if (br_flag==1) {
     subframe = eNB->proc.subframe_prach_br;
     frame = eNB->proc.frame_prach_br;
@@ -93,7 +93,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
     ru=eNB->RU_list[i];
     for (ru_aa=0,aa=0;ru_aa<ru->nb_rx;ru_aa++,aa++) {
       eNB->prach_vars.rxsigF[0][aa] = eNB->RU_list[i]->prach_rxsigF[ru_aa];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       int ce_level;
 
       if (br_flag==1)
@@ -109,7 +109,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
 	   &max_preamble_delay[0],
 	   frame,
 	   0
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	   ,br_flag
 #endif
 	   );
@@ -121,7 +121,7 @@ void prach_procedures(PHY_VARS_eNB *eNB
         max_preamble_delay[0],
 	eNB->prach_energy_counter);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   if (br_flag==1) {
 
     eNB->UL_INFO.rach_ind_br.rach_indication_body.preamble_list                              = eNB->preamble_list_br;
diff --git a/openair1/SCHED/sched_common.h b/openair1/SCHED/sched_common.h
index e579110a78849e21cf37c361ba689753cb3ae633..3e1455e67ca3efd0d121f96c107265b28e53a74f 100644
--- a/openair1/SCHED/sched_common.h
+++ b/openair1/SCHED/sched_common.h
@@ -30,7 +30,7 @@
 
 #include "PHY/defs_eNB.h"
 #include "PHY/defs_UE.h"
-#include "TDD-Config.h"
+#include "LTE_TDD-Config.h"
 /*! \brief Function to compute subframe Number(DL and S) as a function of Frame type and TDD Configuration
   @param frame_parms Pointer to DL frame parameter descriptor
   @returns Subframe Number (DL,S)
@@ -346,7 +346,7 @@ void compute_srs_pos(lte_frame_type_t frameType,uint16_t isrs,uint16_t *psrsPeri
 
 int ul_ACK_subframe2_dl_frame(LTE_DL_FRAME_PARMS *frame_parms,int frame, unsigned char subframe,unsigned char subframe_tx);
 
-void get_retransmission_timing(TDD_Config_t *tdd_Config, frame_t *frameP,  sub_frame_t *subframeP);
+void get_retransmission_timing(LTE_TDD_Config_t *tdd_Config, frame_t *frameP,  sub_frame_t *subframeP);
 /*@}*/
 
 
diff --git a/openair1/SCHED/sched_eNB.h b/openair1/SCHED/sched_eNB.h
index cf6c5815f203bf1ac410bd292e2ca26ae0178d6c..9815f25574beb8f15751a7a5c37d20fcb43cd60d 100644
--- a/openair1/SCHED/sched_eNB.h
+++ b/openair1/SCHED/sched_eNB.h
@@ -127,7 +127,7 @@ void phy_procedures_eNB_S_RX(PHY_VARS_eNB *phy_vars_eNB,eNB_rxtx_proc_t *proc);
   @param phy_vars_eNB Pointer to eNB variables on which to act
   @param br_flag indicator for eMTC PRACH
 */
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 void prach_procedures(PHY_VARS_eNB *eNB,
 		      int br_flag);
 #else
diff --git a/openair1/SCHED_UE/phy_procedures_lte_ue.c b/openair1/SCHED_UE/phy_procedures_lte_ue.c
index b7d05ba006204fd9cde6456d3e5085353dee8a9a..f8fc0369bdd5990a9f66fed8d9c6921b9be325a3 100644
--- a/openair1/SCHED_UE/phy_procedures_lte_ue.c
+++ b/openair1/SCHED_UE/phy_procedures_lte_ue.c
@@ -1715,7 +1715,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
       
     if ( LOG_DEBUGFLAG(UE_TIMING)) {
       stop_meas(&ue->phy_proc_tx);
-      LOG_UI(PHY,"------FULL TX PROC : %5.2f ------\n",ue->phy_proc_tx.p_time/(cpuf*1000.0));
+      LOG_I(PHY,"------FULL TX PROC : %5.2f ------\n",ue->phy_proc_tx.p_time/(cpuf*1000.0));
       stop_meas(&ue->ulsch_encoding_stats);
     }
 
@@ -3110,7 +3110,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
   int subframe_rx = proc->subframe_rx;
   int frame_rx = proc->frame_rx;
   int pmch_mcs=-1;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   int CC_id = ue->CC_id;
 #endif
   uint8_t sync_area=255;
@@ -3123,7 +3123,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
 
     LOG_D(PHY,"[UE %d] Frame %d, subframe %d: Querying for PMCH demodulation\n",
     ue->Mod_id,frame_rx,subframe_rx);
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     pmch_mcs = ue_query_mch(ue->Mod_id,
 			    CC_id,
@@ -3222,7 +3222,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
 	//	if (subframe_rx==9)
 	//  mac_xface->macphy_exit("Why are we exiting here?");
       } else { // decoding successful
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 	
 	ue_send_mch_sdu(ue->Mod_id,
 			CC_id,
@@ -3244,7 +3244,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
 	  ue->dlsch_mch_received_sf[subframe_rx][0]=1;
 	}
 
-#endif // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#endif // #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
       } // decoding sucessful
     } // pmch_mcs>=0
   } // is_pmch_subframe=true
@@ -3369,7 +3369,7 @@ void ue_pdsch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc, int eNB_id, PDSC
   	if(m >= ue->frame_parms.symbols_per_tti>>1)
   	  slot = 1;
   	stop_meas(&ue->dlsch_llr_stats_parallelization[ue->current_thread_id[subframe_rx]][slot]);
-  	LOG_UI(PHY, "[AbsSFN %d.%d] LLR Computation Symbol %d %5.2f \n",proc->frame_rx,subframe_rx,m,ue->dlsch_llr_stats_parallelization[ue->current_thread_id[subframe_rx]][slot].p_time/(cpuf*1000.0));
+  	LOG_I(PHY, "[AbsSFN %d.%d] LLR Computation Symbol %d %5.2f \n",proc->frame_rx,subframe_rx,m,ue->dlsch_llr_stats_parallelization[ue->current_thread_id[subframe_rx]][slot].p_time/(cpuf*1000.0));
       }
 
 
@@ -3604,9 +3604,9 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
       
       if (LOG_DEBUGFLAG(UE_TIMING)) {
         stop_meas(&ue->dlsch_decoding_stats[ue->current_thread_id[subframe_rx]]);
-        LOG_UI(PHY, " --> Unscrambling for CW0 %5.3f\n",
+        LOG_I(PHY, " --> Unscrambling for CW0 %5.3f\n",
 	      (ue->dlsch_unscrambling_stats.p_time)/(cpuf*1000.0));
-        LOG_UI(PHY, "AbsSubframe %d.%d --> Turbo Decoding for CW0 %5.3f\n",
+        LOG_I(PHY, "AbsSubframe %d.%d --> Turbo Decoding for CW0 %5.3f\n",
 	      frame_rx%1024, subframe_rx,(ue->dlsch_decoding_stats[ue->current_thread_id[subframe_rx]].p_time)/(cpuf*1000.0));
       
       }
@@ -3661,9 +3661,9 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
 	  
           if (LOG_DEBUGFLAG(UE_TIMING)) {
             stop_meas(&ue->dlsch_decoding_stats[ue->current_thread_id[subframe_rx]]);
-            LOG_UI(PHY, " --> Unscrambling for CW1 %5.3f\n",
+            LOG_I(PHY, " --> Unscrambling for CW1 %5.3f\n",
 		  (ue->dlsch_unscrambling_stats.p_time)/(cpuf*1000.0));
-            LOG_UI(PHY, "AbsSubframe %d.%d --> Turbo Decoding for CW1 %5.3f\n",
+            LOG_I(PHY, "AbsSubframe %d.%d --> Turbo Decoding for CW1 %5.3f\n",
 		  frame_rx%1024, subframe_rx,(ue->dlsch_decoding_stats[ue->current_thread_id[subframe_rx]].p_time)/(cpuf*1000.0));
           }
 
@@ -4005,7 +4005,7 @@ void *UE_thread_slot1_dl_processing(void *arg) {
 
         if ( LOG_DEBUGFLAG(UE_TIMING)) {
           stop_meas(&ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][1]);
-          LOG_UI(PHY, "[AbsSFN %d.%d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f \n",frame_rx,subframe_rx,ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][1].p_time/(cpuf*1000.0));
+          LOG_I(PHY, "[AbsSFN %d.%d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f \n",frame_rx,subframe_rx,ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][1].p_time/(cpuf*1000.0));
         }
 
 
@@ -4099,7 +4099,7 @@ void *UE_thread_slot1_dl_processing(void *arg) {
 
     if ( LOG_DEBUGFLAG(UE_TIMING)) {
       stop_meas(&ue->pdsch_procedures_per_slot_stat[ue->current_thread_id[subframe_rx]][1]);
-      LOG_UI(PHY, "[AbsSFN %d.%d] Slot1: LLR Computation %5.2f \n",frame_rx,subframe_rx,ue->pdsch_procedures_per_slot_stat[ue->current_thread_id[subframe_rx]][1].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[AbsSFN %d.%d] Slot1: LLR Computation %5.2f \n",frame_rx,subframe_rx,ue->pdsch_procedures_per_slot_stat[ue->current_thread_id[subframe_rx]][1].p_time/(cpuf*1000.0));
     }
 
 
@@ -4319,7 +4319,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
         if (ue_pdcch_procedures(eNB_id,ue,proc,abstraction_flag) == -1) {
             LOG_E(PHY,"[UE  %d] Frame %d, subframe %d: Error in pdcch procedures\n",ue->Mod_id,frame_rx,subframe_rx);
           if (LOG_DEBUGFLAG(UE_TIMING)) {
-            LOG_UI(PHY, "[AbsSFN %d.%d] Slot0: PDCCH %5.2f \n",frame_rx,subframe_rx,ue->pdcch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+            LOG_I(PHY, "[AbsSFN %d.%d] Slot0: PDCCH %5.2f \n",frame_rx,subframe_rx,ue->pdcch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
         }
 
             //proc->dci_slot0_available = 1;
@@ -4328,7 +4328,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
         //proc->dci_slot0_available=1;
         if (LOG_DEBUGFLAG(UE_TIMING)) {
           stop_meas(&ue->pdcch_procedures_stat[ue->current_thread_id[subframe_rx]]);
-          LOG_UI(PHY, "[AbsSFN %d.%d] Slot0: PDCCH %5.2f \n",frame_rx,subframe_rx,ue->pdcch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+          LOG_I(PHY, "[AbsSFN %d.%d] Slot0: PDCCH %5.2f \n",frame_rx,subframe_rx,ue->pdcch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
         }
     }
 
@@ -4337,7 +4337,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
     // first slot has been processed (FFTs + Channel Estimation, PCFICH/PHICH/PDCCH)
     if (LOG_DEBUGFLAG(UE_TIMING)) {
       stop_meas(&ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][0]);
-      LOG_UI(PHY, "[AbsSFN %d.%d] Slot0: FFT + Channel Estimate + PCFICH/PHICH/PDCCH %5.2f \n",frame_rx,subframe_rx,ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][0].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[AbsSFN %d.%d] Slot0: FFT + Channel Estimate + PCFICH/PHICH/PDCCH %5.2f \n",frame_rx,subframe_rx,ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][0].p_time/(cpuf*1000.0));
     }
 
     //wait until slot1 FE is done
@@ -4350,7 +4350,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
 
     if (LOG_DEBUGFLAG(UE_TIMING)) {
       stop_meas(&ue->ue_front_end_stat[ue->current_thread_id[subframe_rx]]);
-      LOG_UI(PHY, "[AbsSFN %d.%d] FULL FE Processing %5.2f \n",frame_rx,subframe_rx,ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][0].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[AbsSFN %d.%d] FULL FE Processing %5.2f \n",frame_rx,subframe_rx,ue->ue_front_end_per_slot_stat[ue->current_thread_id[subframe_rx]][0].p_time/(cpuf*1000.0));
     }
     /**** End Subframe FE Processing ****/
 
@@ -4439,7 +4439,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
 
     if (LOG_DEBUGFLAG(UE_TIMING)){
       stop_meas(&ue->pdsch_procedures_per_slot_stat[ue->current_thread_id[subframe_rx]][0]);
-      LOG_UI(PHY, "[AbsSFN %d.%d] Slot0: LLR Computation %5.2f \n",frame_rx,subframe_rx,ue->pdsch_procedures_per_slot_stat[ue->current_thread_id[subframe_rx]][0].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[AbsSFN %d.%d] Slot0: LLR Computation %5.2f \n",frame_rx,subframe_rx,ue->pdsch_procedures_per_slot_stat[ue->current_thread_id[subframe_rx]][0].p_time/(cpuf*1000.0));
     }
 
 
@@ -4455,7 +4455,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
 
     if (LOG_DEBUGFLAG(UE_TIMING)){
       stop_meas(&ue->pdsch_procedures_stat[ue->current_thread_id[subframe_rx]]);
-      LOG_UI(PHY, "[AbsSFN %d.%d] Full LLR Computation %5.2f \n",frame_rx,subframe_rx,ue->pdsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[AbsSFN %d.%d] Full LLR Computation %5.2f \n",frame_rx,subframe_rx,ue->pdsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
     }
 
 
@@ -4526,7 +4526,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
 
     if (LOG_DEBUGFLAG(UE_TIMING)
       stop_meas(&ue->dlsch_procedures_stat[ue->current_thread_id[subframe_rx]]);
-      LOG_UI(PHY, "[AbsSFN %d.%d] Channel Decoder: %5.2f \n",frame_rx,subframe_rx,ue->dlsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[AbsSFN %d.%d] Channel Decoder: %5.2f \n",frame_rx,subframe_rx,ue->dlsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
     }
 
         // duplicate harq structure
@@ -4589,7 +4589,7 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr
 
     if (LOG_DEBUGFLAG(UE_TIMING)){
     stop_meas(&ue->phy_proc_rx[ue->current_thread_id[subframe_rx]]);
-    LOG_UI(PHY, "------FULL RX PROC [AbsSFN %d.%d]: %5.2f ------\n",frame_rx,subframe_rx,ue->phy_proc_rx[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+    LOG_I(PHY, "------FULL RX PROC [AbsSFN %d.%d]: %5.2f ------\n",frame_rx,subframe_rx,ue->phy_proc_rx[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
     }
 
     LOG_D(PHY," ****** end RX-Chain  for AbsSubframe %d.%d ******  \n", frame_rx%1024, subframe_rx);
@@ -4632,7 +4632,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,
 
   if(LOG_DEBUGFLAG(UE_TIMING)) {
     start_meas(&ue->phy_proc_rx[ue->current_thread_id[subframe_rx]]);
-    start_meas(&ue->generic_stat);
+    start_meas(&ue->ue_front_end_stat[ue->current_thread_id[subframe_rx]]);
   }
 
   pmch_flag = is_pmch_subframe(frame_rx,subframe_rx,&ue->frame_parms) ? 1 : 0;
@@ -4757,15 +4757,17 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,
 
   // first slot has been processed (FFTs + Channel Estimation, PCFICH/PHICH/PDCCH)
   if (LOG_DEBUGFLAG(UE_TIMING)) {
-    stop_meas(&ue->generic_stat);
-    LOG_UI(PHY, "[SFN %d] Slot0: FFT + Channel Estimate + PCFICH/PHICH/PDCCH %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
+    stop_meas(&ue->ue_front_end_stat[ue->current_thread_id[subframe_rx]]);
+    LOG_I(PHY, "[SFN %d] Slot0: FFT + Channel Estimate + PCFICH/PHICH/PDCCH %5.2f \n",subframe_rx,ue->ue_front_end_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
   }
 
 
   LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
   if (LOG_DEBUGFLAG(UE_TIMING)) {
     start_meas(&ue->generic_stat);
+    start_meas(&ue->crnti_procedures_stats);
   }
+
   // do procedures for C-RNTI
   if (ue->dlsch[ue->current_thread_id[subframe_rx]][eNB_id][0]->active == 1) {
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_IN);
@@ -4782,12 +4784,14 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_OUT);
   }
 
+  if (LOG_DEBUGFLAG(UE_TIMING)) {
+    stop_meas(&ue->crnti_procedures_stats);
+  }
   LOG_D(PHY," ------ end PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
   // do procedures for SI-RNTI
   if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI, VCD_FUNCTION_IN);
     ue_pdsch_procedures(ue,
-
 			proc,
 			eNB_id,
 			SI_PDSCH,
@@ -4870,7 +4874,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,
   } // not an S-subframe
   if(LOG_DEBUGFLAG(UE_TIMING)) {
     stop_meas(&ue->generic_stat);
-    LOG_UI(PHY, "[SFN %d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
+    LOG_I(PHY, "[SFN %d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
   }
 
   LOG_D(PHY," ------  end FFT/ChannelEst/PDCCH slot 1: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
@@ -4915,8 +4919,8 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,
 			abstraction_flag);
     if (LOG_DEBUGFLAG(UE_TIMING)) { 
       stop_meas(&ue->dlsch_procedures_stat[ue->current_thread_id[subframe_rx]]);
-      LOG_UI(PHY, "[SFN %d] Slot1:       Pdsch Proc %5.2f\n",subframe_rx,ue->pdsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
-      LOG_UI(PHY, "[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f\n",subframe_rx,ue->dlsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[SFN %d] Slot1:       Pdsch Proc %5.2f\n",subframe_rx,ue->pdsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+      LOG_I(PHY, "[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f\n",subframe_rx,ue->dlsch_procedures_stat[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
     }
 
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_OUT);
@@ -5059,14 +5063,14 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,
 
   if ( LOG_DEBUGFLAG(UE_TIMING)) {
     stop_meas(&ue->generic_stat);
-    LOG_UI(PHY,"after tubo until end of Rx %5.2f \n",ue->generic_stat.p_time/(cpuf*1000.0));
+    LOG_I(PHY,"after tubo until end of Rx %5.2f \n",ue->generic_stat.p_time/(cpuf*1000.0));
   }
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX, VCD_FUNCTION_OUT);
 
   if ( LOG_DEBUGFLAG(UE_TIMING) ) {
     stop_meas(&ue->phy_proc_rx[ue->current_thread_id[subframe_rx]]);
-    LOG_UI(PHY, "------FULL RX PROC [SFN %d]: %5.2f ------\n",subframe_rx,ue->phy_proc_rx[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
+    LOG_I(PHY, "------FULL RX PROC [SFN %d]: %5.2f ------\n",subframe_rx,ue->phy_proc_rx[ue->current_thread_id[subframe_rx]].p_time/(cpuf*1000.0));
   }
 
   LOG_D(PHY," ****** end RX-Chain  for AbsSubframe %d.%d ******  \n", frame_rx%1024, subframe_rx);
diff --git a/openair1/SIMULATION/LTE_PHY/common_sim.h b/openair1/SIMULATION/LTE_PHY/common_sim.h
new file mode 100644
index 0000000000000000000000000000000000000000..46f4cdf1611de6aecebbbcaeaa09d9ba01e5956d
--- /dev/null
+++ b/openair1/SIMULATION/LTE_PHY/common_sim.h
@@ -0,0 +1,164 @@
+
+static int cmpdouble(const void *p1, const void *p2) {
+  return *(double *)p1 > *(double *)p2;
+}
+
+double median(varArray_t *input) {
+  return *(double *)((uint8_t *)(input+1)+(input->size/2)*input->atomSize);
+}
+
+double q1(varArray_t *input) {
+  return *(double *)((uint8_t *)(input+1)+(input->size/4)*input->atomSize);
+}
+
+double q3(varArray_t *input) {
+  return *(double *)((uint8_t *)(input+1)+(3*input->size/4)*input->atomSize);
+}
+
+void dumpVarArray(varArray_t *input) {
+  double *ptr=dataArray(input);
+  printf("dumping size=%ld\n", input->size);
+
+  for (int i=0; i < input->size; i++)
+    printf("%.1f:", *ptr++);
+
+  printf("\n");
+}
+void sumUpStats(time_stats_t * res, time_stats_t * src, int lastActive) {
+  	reset_meas(res);
+	for (int i=0; i<RX_NB_TH; i++) {
+	  res->diff+=src[i].diff;
+	  res->diff_square+=src[i].diff_square;
+	  res->trials+=src[i].trials;
+	  if (src[i].max > res->max)
+	    res->max=src[i].max;
+	}
+	res->p_time=src[lastActive].p_time;
+}
+void sumUpStatsSlot(time_stats_t *res, time_stats_t src[RX_NB_TH][2], int lastActive) {
+  	reset_meas(res);
+	for (int i=0; i<RX_NB_TH; i++) {
+	  res->diff+=src[i][0].diff+src[i][1].diff;
+	  res->diff_square+=src[i][0].diff_square+src[i][1].diff_square;
+	  res->trials+=src[i][0].trials+src[i][1].trials;
+	  if (src[i][0].max > res->max)
+	    res->max=src[i][0].max;
+	  if (src[i][1].max > res->max)
+	    res->max=src[i][1].max;}
+	int last=src[lastActive][0].in < src[lastActive][1].in? 1 : 0 ;
+	res->p_time=src[lastActive][last].p_time;
+}
+
+void printStatIndent(time_stats_t *ptr, char *txt) {
+  printf("|__ %-50s %.2f us (%d trials)\n",
+         txt,
+         ptr->trials?inMicroS(ptr->diff/ptr->trials):0,
+         ptr->trials);
+}
+
+void printStatIndent2(time_stats_t *ptr, char *txt, int turbo_iter) {
+  double timeBase=1/(1000*cpu_freq_GHz);
+  printf("    |__ %-45s %.2f us (cycles/block %ld, %5d trials)\n",
+         txt,
+         ptr->trials?((double)ptr->diff)/ptr->trials*timeBase:0,
+         turbo_iter?(uint64_t)round(((double)ptr->diff)/turbo_iter):0,
+         ptr->trials);
+}
+
+double squareRoot(time_stats_t *ptr) {
+  double timeBase=1/(1000*cpu_freq_GHz);
+  return sqrt((double)ptr->diff_square*pow(timeBase,2)/ptr->trials -
+              pow((double)ptr->diff/ptr->trials*timeBase,2));
+}
+
+void printDistribution(time_stats_t *ptr, varArray_t *sortedList, char *txt) {
+  double timeBase=1/(1000*cpu_freq_GHz);
+  printf("%-50s             :%.2f us (%d trials)\n",
+         txt,
+         (double)ptr->diff/ptr->trials*timeBase,
+         ptr->trials);
+  printf("|__ Statistics std=%.2f, median=%.2f, q1=%.2f, q3=%.2f µs (on %ld trials)\n",
+         squareRoot(ptr), median(sortedList),q1(sortedList),q3(sortedList), sortedList->size);
+}
+
+void logDistribution(FILE* fd, time_stats_t *ptr, varArray_t *sortedList, int dropped) {
+  fprintf(fd,"%f;%f;%f;%f;%f;%f;%d;",
+	  squareRoot(ptr),
+	  (double)ptr->max, *(double*)dataArray(sortedList),
+	  median(sortedList),q1(sortedList),q3(sortedList),
+	  dropped); 
+}
+
+struct option * parse_oai_options(paramdef_t *options) {
+  int l;
+
+  for(l=0; options[l].optname[0]!=0; l++) {};
+
+  struct option *long_options=calloc(sizeof(struct option),l);
+
+  for(int i=0; options[i].optname[0]!=0; i++) {
+    long_options[i].name=options[i].optname;
+    long_options[i].has_arg=options[i].paramflags==PARAMFLAG_BOOL?no_argument:required_argument;
+
+    if ( options[i].voidptr)
+      switch (options[i].type) {
+      case TYPE_INT:
+	*options[i].iptr=options[i].defintval;
+	break;
+
+      case TYPE_DOUBLE:
+	*options[i].dblptr=options[i].defdblval;
+	break;
+
+      case TYPE_UINT8:
+	*options[i].u8ptr=options[i].defintval;
+	break;
+
+      case TYPE_UINT16:
+	*options[i].u16ptr=options[i].defintval;
+	break;
+	
+      default:
+	printf("not parsed type for default value %s\n", options[i].optname );
+	exit(1);
+      }
+
+    continue;
+  };
+  return long_options;
+}
+
+void display_options_values(paramdef_t *options, int verbose) {
+  for(paramdef_t * ptr=options; ptr->optname[0]!=0; ptr++) {
+    char varText[256]="need specific display";
+
+    if (ptr->voidptr != NULL) {
+      if ( (ptr->paramflags & PARAMFLAG_BOOL) )
+        strcpy(varText, *(bool *)ptr->iptr ? "True": "False" );
+      else  switch (ptr->type) {
+          case TYPE_INT:
+            sprintf(varText,"%d",*ptr->iptr);
+            break;
+
+          case TYPE_DOUBLE:
+            sprintf(varText,"%.2f",*ptr->dblptr);
+            break;
+
+	case TYPE_UINT8:
+	  sprintf(varText,"%d",(int)*ptr->u8ptr);
+	  break;
+	  
+	case TYPE_UINT16:
+	  sprintf(varText,"%d",(int)*ptr->u16ptr);
+	  break;
+	  
+	default:
+	  printf("not decoded type\n");
+	  exit(1);
+        }
+    }
+
+    printf("--%-20s set to %s\n",ptr->optname, varText);
+    if (verbose) printf("%s\n",ptr->helpstr);
+  }
+}
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index 3583c0f25eae1246f0f86760b79734700313067b..0f4655eb2c73845ba9647d9b2aea646e9e095f66 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -72,6 +72,9 @@ void feptx_ofdm(RU_t *ru);
 void feptx_prec(RU_t *ru);
 
 double cpuf;
+#define inMicroS(a) (((double)(a))/(cpu_freq_GHz*1000.0))
+//#define MCS_COUNT 23//added for PHY abstraction
+#include <openair1/SIMULATION/LTE_PHY/common_sim.h>
 
 int otg_enabled=0;
 /*the following parameters are used to control the processing times calculations*/
@@ -535,23 +538,42 @@ void fill_DCI(PHY_VARS_eNB *eNB,
 }
 
 int n_users = 1;
-sub_frame_t subframe=7;
+int subframe=7;
 int num_common_dci=0,num_ue_spec_dci=0,num_dci=0,num_pdcch_symbols=1;
 uint16_t n_rnti=0x1234;
-  int nfapi_mode=0;
+int nfapi_mode=0;
+int abstx=0;
+int Nid_cell=0;
+int N_RB_DL=25;
+int tdd_config=3;
+int dci_flag=0;
+int threequarter_fs=0;
+double snr_step=1,input_snr_step=1, snr_int=30;
+double forgetting_factor=0.0; //in [0,1] 0 means a new channel every time, 1 means keep the same channel
+int test_perf=0;
+int n_frames;
+int n_ch_rlz = 1;
+int rx_sample_offset = 0;
+int xforms=0;
+int dump_table=0;
+int loglvl=OAILOG_WARNING;
+int mcs1=0,mcs2=0,mcs_i=0,dual_stream_UE = 0,awgn_flag=0;
+int two_thread_flag=0;
+int num_rounds = 4;//,fix_rounds=0;
+int perfect_ce = 0;
+int extended_prefix_flag=0;
+int verbose=0, help=0;
+double SNR,snr0=-2.0,snr1,rate = 0;
+int print_perf=0;
 
 int main(int argc, char **argv)
 {
 
-  int c;
   int k,i,j,aa;
   int re;
-  int loglvl=OAILOG_DEBUG;
 
   int s,Kr,Kr_bytes;
 
-  double SNR,snr0=-2.0,snr1,rate = 0;
-  double snr_step=1,input_snr_step=1, snr_int=30;
 
   LTE_DL_FRAME_PARMS *frame_parms;
   double s_re0[30720*2],s_im0[30720*2],r_re0[30720*2],r_im0[30720*2];
@@ -560,17 +582,14 @@ int main(int argc, char **argv)
   double *s_im[2]={s_im0,s_im1};
   double *r_re[2]={r_re0,r_re1};
   double *r_im[2]={r_im0,r_im1};
-  double forgetting_factor=0.0; //in [0,1] 0 means a new channel every time, 1 means keep the same channel
 
 
-  uint8_t extended_prefix_flag=0,transmission_mode=1,n_tx_port=1,n_tx_phy=1,n_rx=2;
-  uint16_t Nid_cell=0;
+  uint8_t transmission_mode=1,n_tx_port=1,n_tx_phy=1,n_rx=2;
 
   int eNB_id = 0;
-  unsigned char mcs1=0,mcs2=0,mcs_i=0,dual_stream_UE = 0,awgn_flag=0,round;
+  unsigned char round;
   unsigned char i_mod = 2;
   unsigned short NB_RB;
-  uint16_t tdd_config=3;
 
 
   SCM_t channel_model=Rayleigh1;
@@ -602,18 +621,13 @@ int main(int argc, char **argv)
   FILE *input_fd=NULL;
   unsigned char input_file=0;
 
-  int n_frames;
-  int n_ch_rlz = 1;
   channel_desc_t *eNB2UE[4];
   //uint8_t num_pdcch_symbols_2=0;
-  uint8_t rx_sample_offset = 0;
   //char stats_buffer[4096];
   //int len;
-  uint8_t num_rounds = 4;//,fix_rounds=0;
 
   //int u;
   int n=0;
-  int abstx=0;
   //int iii;
 
   int ch_realization;
@@ -625,9 +639,8 @@ int main(int argc, char **argv)
   //  int bler;
   double blerr[4];
   short *uncoded_ber_bit=NULL;
-  uint8_t N_RB_DL=25,osf=1;
+  int osf=1;
   frame_t frame_type = FDD;
-  int xforms=0;
   FD_lte_phy_scope_ue *form_ue = NULL;
   char title[255];
 
@@ -640,16 +653,12 @@ int main(int argc, char **argv)
   //  time_stats_t ts;//,sts,usts;
   int avg_iter,iter_trials;
   int rballocset=0;
-  int print_perf=0;
-  int test_perf=0;
   int test_passed=0;
-  int dump_table=0;
 
   double effective_rate=0.0;
   char channel_model_input[10]="I";
 
   int TB0_active = 1;
-  uint32_t perfect_ce = 0;
 
   //  LTE_DL_UE_HARQ_t *dlsch0_ue_harq;
   //  LTE_DL_eNB_HARQ_t *dlsch0_eNB_harq;
@@ -657,20 +666,11 @@ int main(int argc, char **argv)
   uint8_t ue_category=4;
   uint32_t Nsoft;
   int sf;
-
-
-
   int CCE_table[800];
-
-  int threequarter_fs=0;
-
-
   opp_enabled=1; // to enable the time meas
 
   FILE *csv_fd=NULL;
-  char csv_fname[32];
-  int dci_flag=0;
-  int two_thread_flag=0;
+  char csv_fname[FILENAME_MAX];
   int DLSCH_RB_ALLOC = 0;
 
   int dci_received;
@@ -726,36 +726,95 @@ int main(int argc, char **argv)
   snr0 = 0;
   //  num_layers = 1;
   perfect_ce = 0;
+  static paramdef_t options[] = {
+    { "awgn", "Use AWGN channel and not multipath", PARAMFLAG_BOOL, strptr:NULL, defintval:0, TYPE_INT, 0, NULL, NULL },
+    { "Abstx", "Turns on calibration mode for abstraction.", PARAMFLAG_BOOL, iptr:&abstx,  defintval:0, TYPE_INT, 0 },
+    { "bTDD", "Set the tdd configuration mode",0, iptr:&tdd_config,  defintval:3, TYPE_INT, 0 },
+    { "BnbRBs", "The LTE bandwith in RBs (100 is 20MHz)",0, iptr:&N_RB_DL,  defintval:25, TYPE_INT, 0 },
+    { "cPdcch", "Number of PDCCH symbols",0, iptr:&num_pdcch_symbols,  defintval:1, TYPE_INT, 0 },
+    { "CnidCell", "The cell id ",0, iptr:&Nid_cell,  defintval:0, TYPE_INT, 0 },
+    { "dciFlag", "Transmit the DCI and compute its error statistics", PARAMFLAG_BOOL, iptr:&dci_flag,  defintval:0, TYPE_INT, 0 },
+    { "Dtdd", "Enable tdd", PARAMFLAG_BOOL,  strptr:NULL, defintval:0, TYPE_INT, 0, NULL, NULL },
+    { "eRounds", "Number of rounds",0, iptr:NULL,  defintval:25, TYPE_INT, 0 },
+    { "EsubSampling","three quarters sub-sampling",PARAMFLAG_BOOL, iptr:&threequarter_fs, defintval:0, TYPE_INT, 0 },
+    { "f_snr_step", "step size of SNR, default value is 1.",0, dblptr:&input_snr_step,  defdblval:1, TYPE_DOUBLE, 0 },
+    { "Forgetting", "forgetting factor (0 new channel every trial, 1 channel constant)",0, dblptr:&forgetting_factor,  defdblval:0.0, TYPE_DOUBLE, 0 },
+    { "input_file", "input IQ data file",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "Input_file_trch", " Input filename for TrCH data (binary)",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "WtwoThreads", "two_thread_flag", PARAMFLAG_BOOL, iptr:&two_thread_flag,  defintval:0, TYPE_INT, 0 },
+    { "lMuMimo", "offset_mumimo_llr_drange_fix",0, u8ptr:&offset_mumimo_llr_drange_fix,  defintval:0, TYPE_UINT8, 0 },
+    { "mcs1", "The MCS for TB 1", 0, iptr:&mcs1,  defintval:0, TYPE_INT, 0 },
+    { "Mcs2", "The MCS for TB 2", 0, iptr:&mcs2,  defintval:0, TYPE_INT, 0 },
+    { "Operf", "Set the percenatge of effective rate to testbench the modem performance (typically 30 and 70, range 1-100)",0, iptr:&test_perf,  defintval:0, TYPE_INT, 0 },
+    { "tmcs_i", "MCS of interfering UE",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "nb_frame", "number of frame in a test",0, iptr:&n_frames,  defintval:1, TYPE_INT, 0 },
+    { "offsetRxSample", "Sample offset for receiver", 0, iptr:&rx_sample_offset,  defintval:0, TYPE_INT, 0 },
+    { "rballocset", "ressource block allocation (see  section 7.1.6.3 in 36.213)",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "snr", "Starting SNR, runs from SNR to SNR+%.1fdB in steps of %.1fdB. If n_frames is 1 then just SNR is simulated and MATLAB/OCTAVE output is generated", dblptr:&snr0,  defdblval:-2.0, TYPE_DOUBLE, 0 },
+    { "wsnrInterrupt", "snr int ?", 0, dblptr:&snr_int,  defdblval:30, TYPE_DOUBLE, 0 },
+    { "N_ch_rlzN0", "Determines the number of Channel Realizations in Abstraction mode. Default value is 1",0, iptr:&n_ch_rlz,  defintval:1, TYPE_INT, 0 },
+    { "prefix_extended","Enable extended prefix", PARAMFLAG_BOOL, iptr:&extended_prefix_flag,  defintval:0, TYPE_INT, 0 },
+    { "RNumRound", "Number of HARQ rounds (fixed)",0, iptr:&num_rounds,  defintval:4, TYPE_INT, 0 },
+    { "Subframe", "subframe ",0, iptr:&subframe,  defintval:7, TYPE_INT, 0 },
+    { "Trnti", "rnti",0, u16ptr:&n_rnti,  defuintval:0x1234, TYPE_UINT16, 0 },
+    { "vi_mod", "i_mod",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "Performance", "Display CPU perfomance of each L1 piece", PARAMFLAG_BOOL,  iptr:&print_perf,  defintval:0, TYPE_INT, 0 },
+    { "q_tx_port", "Number of TX antennas ports used in eNB",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "uEdual", "Enables the Interference Aware Receiver for TM5 (default is normal receiver)",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
+    { "xTransmission","Transmission mode (1,2,6,7 for the moment)",0, iptr:NULL,  defintval:25, TYPE_INT, 0 },
+    { "yn_tx_phy","Number of TX antennas used in eNB",0, iptr:NULL,  defintval:25, TYPE_INT, 0 },
+    { "XForms", "Display the soft scope", PARAMFLAG_BOOL, iptr:&xforms,  defintval:0, TYPE_INT, 0 },
+    { "Yperfect_ce","Perfect CE", PARAMFLAG_BOOL, iptr:&perfect_ce,  defintval:0, TYPE_INT, 0 },
+    { "Zdump", "dump table",PARAMFLAG_BOOL,  iptr:&dump_table, defintval:0, TYPE_INT, 0 },
+    { "Loglvl", "log level",0, iptr:&loglvl,  defintval:OAILOG_DEBUG, TYPE_INT, 0 },
+    { "zn_rx", "Number of RX antennas used in UE",0, iptr:NULL,  defintval:2, TYPE_INT, 0 },
+    { "gchannel", "[A:M] Use 3GPP 25.814 SCM-A/B/C/D('A','B','C','D') or 36-101 EPA('E'), EVA ('F'),ETU('G') models (ignores delay spread and Ricean factor), Rayghleigh8 ('H'), Rayleigh1('I'), Rayleigh1_corr('J'), Rayleigh1_anticorr ('K'),  Rice8('L'), Rice1('M')",0, strptr:NULL,  defstrval:NULL, TYPE_STRING, 0 },
+    { "verbose", "display debug text", PARAMFLAG_BOOL,  iptr:&verbose, defintval:0, TYPE_INT, 0 },
+    { "help", "display help and exit", PARAMFLAG_BOOL,  iptr:&help, defintval:0, TYPE_INT, 0 },
+    { "", "",0,  iptr:NULL, defintval:0, TYPE_INT, 0 },
+  };
 
-  while ((c = getopt (argc, argv, "ahdpZDe:Em:n:o:s:f:t:c:g:r:F:x:q:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:Pl:WXYL:")) != -1) {
-    switch (c) {
-    case 'a':
-      awgn_flag = 1;
-      channel_model = AWGN;
-      break;
-
-    case 'A':
-      abstx = 1;
-      break;
-
-    case 'b':
-      tdd_config=atoi(optarg);
-      break;
-
-    case 'B':
-      N_RB_DL=atoi(optarg);
-      break;
+  
+  struct option * long_options = parse_oai_options(options); 
+  
 
-    case 'c':
-      num_pdcch_symbols=atoi(optarg);
-      break;
+  int option_index;
+
+  int res;
+
+  while ((res=getopt_long_only(argc, argv, "", long_options, &option_index)) == 0) {
+    if (options[option_index].voidptr != NULL ) {
+      if (long_options[option_index].has_arg==no_argument)
+        *(bool *)options[option_index].iptr=1;
+      else switch (options[option_index].type) {
+          case TYPE_INT:
+            *(int *)options[option_index].iptr=atoi(optarg);
+            break;
+
+          case TYPE_DOUBLE:
+            *(double *)options[option_index].dblptr=atof(optarg);
+            break;
+	    
+	case TYPE_UINT8:
+	  *(uint8_t *)options[option_index].dblptr=atoi(optarg);
+	  break;
+	  	    
+	case TYPE_UINT16:
+	  *(uint16_t *)options[option_index].dblptr=atoi(optarg);
+	  break;
+	  
+	default:
+            printf("not decoded type.\n");
+            exit(1);
+        }
 
-    case 'C':
-      Nid_cell = atoi(optarg);
-      break;
+      continue;
+    }
 
-    case 'd':
-      dci_flag = 1;
+    switch (long_options[option_index].name[0]) {
+    case 'a':
+      awgn_flag = 1;
+      channel_model = AWGN;
       break;
 
     case 'D':
@@ -768,18 +827,6 @@ int main(int argc, char **argv)
       TPC = atoi(optarg);
       break;
 
-    case 'E':
-      threequarter_fs=1;
-      break;
-
-    case 'f':
-      input_snr_step= atof(optarg);
-      break;
-
-    case 'F':
-      forgetting_factor = atof(optarg);
-      break;
-
     case 'i':
       input_fd = fopen(optarg,"r");
       input_file=1;
@@ -791,138 +838,50 @@ int main(int argc, char **argv)
       input_trch_file=1;
       break;
 
-    case 'W':
-      two_thread_flag = 1;
-      break;
-    case 'l':
-      offset_mumimo_llr_drange_fix=atoi(optarg);
-      break;
-
-    case 'm':
-      mcs1 = atoi(optarg);
-      break;
-
-    case 'M':
-      mcs2 = atoi(optarg);
-      break;
-
-    case 'O':
-      test_perf=atoi(optarg);
-      //print_perf =1;
-      break;
-
     case 't':
       mcs_i = atoi(optarg);
       i_mod = get_Qm(mcs_i);
       break;
 
-    case 'n':
-      n_frames = atoi(optarg);
-      break;
-
-
-    case 'o':
-      rx_sample_offset = atoi(optarg);
-      break;
-
     case 'r':
       DLSCH_RB_ALLOC = atoi(optarg);
       rballocset = 1;
       break;
 
-    case 's':
-      snr0 = atof(optarg);
-      break;
-
-    case 'w':
-      snr_int = atof(optarg);
-      break;
-
-
-    case 'N':
-      n_ch_rlz= atof(optarg);
-      break;
-
-    case 'p':
-      extended_prefix_flag=1;
-      break;
-
     case 'g':
-      memcpy(channel_model_input,optarg,10);
-
-      switch((char)*optarg) {
-      case 'A':
-        channel_model=SCM_A;
-        break;
-
-      case 'B':
-        channel_model=SCM_B;
-        break;
-
-      case 'C':
-        channel_model=SCM_C;
-        break;
-
-      case 'D':
-        channel_model=SCM_D;
-        break;
-
-      case 'E':
-        channel_model=EPA;
-        break;
-
-      case 'F':
-        channel_model=EVA;
-        break;
-
-      case 'G':
-        channel_model=ETU;
-        break;
-
-      case 'H':
-        channel_model=Rayleigh8;
-        break;
-
-      case 'I':
-        channel_model=Rayleigh1;
-        break;
-
-      case 'J':
-        channel_model=Rayleigh1_corr;
-        break;
-
-      case 'K':
-        channel_model=Rayleigh1_anticorr;
-        break;
-
-      case 'L':
-        channel_model=Rice8;
-        break;
-
-      case 'M':
-        channel_model=Rice1;
-        break;
+    strncpy(channel_model_input,optarg,9);
+    struct tmp {
+      char opt;
+      int m;
+      int M;
+    }
+    tmp[]= {
+      {'A',SCM_A,2},
+          {'B',SCM_B,3},
+          {'C',SCM_C,4},
+          {'D',SCM_D,5},
+          {'E',EPA,6},
+          {'F',EVA,6},
+          {'G',ETU,8},
+          {'H',Rayleigh8,9},
+          {'I',Rayleigh1,10},
+          {'J',Rayleigh1_corr,11},
+          {'K',Rayleigh1_anticorr,12},
+          {'L',Rice8,13},
+          {'M',Rice1,14},
+          {'N',AWGN,1},
+          {0,0,0}
+        };
+        struct tmp *ptr;
+
+        for (ptr=tmp; ptr->opt!=0; ptr++)
+          if ( ptr->opt == optarg[0] ) {
+            channel_model=ptr->m;
+            break;
+          }
 
-      case 'N':
-        channel_model=AWGN;
+        AssertFatal(ptr->opt != 0, "Unsupported channel model: %s !\n", optarg );
         break;
-      default:
-        printf("Unsupported channel model!\n");
-        exit(-1);
-      }
-
-      break;
-    case 'R':
-      num_rounds=atoi(optarg);
-      break;
-
-    case 'S':
-      subframe=atoi(optarg);
-      break;
-
-    case 'T':
-      n_rnti=atoi(optarg);
-      break;
 
     case 'u':
       dual_stream_UE=1;
@@ -945,10 +904,6 @@ int main(int argc, char **argv)
 
       break;
 
-    case 'P':
-      print_perf=1;
-      break;
-
     case 'q':
       n_tx_port=atoi(optarg);
 
@@ -999,15 +954,6 @@ int main(int argc, char **argv)
       }
 
       break;
-      break;
-
-    case 'X':
-      xforms=1;
-      break;
-
-    case 'Y':
-      perfect_ce=1;
-      break;
 
     case 'z':
       n_rx=atoi(optarg);
@@ -1019,51 +965,23 @@ int main(int argc, char **argv)
 
       break;
 
-    case 'Z':
-      dump_table=1;
-      break;
-
-    case 'L':
-      loglvl = atoi(optarg);
-      break;
-
-    case 'h':
     default:
-      printf("%s -h(elp) -a(wgn on) -d(ci decoding on) -p(extended prefix on) -m mcs1 -M mcs2 -n n_frames -s snr0 -x transmission mode (1,2,5,6,7) -y TXant -z RXant -I trch_file\n",argv[0]);
-      printf("-h This message\n");
-      printf("-a Use AWGN channel and not multipath\n");
-      printf("-c Number of PDCCH symbols\n");
-      printf("-m MCS1 for TB 1\n");
-      printf("-M MCS2 for TB 2\n");
-      printf("-d Transmit the DCI and compute its error statistics\n");
-      printf("-p Use extended prefix mode\n");
-      printf("-n Number of frames to simulate\n");
-      printf("-o Sample offset for receiver\n");
-      printf("-s Starting SNR, runs from SNR to SNR+%.1fdB in steps of %.1fdB. If n_frames is 1 then just SNR is simulated and MATLAB/OCTAVE output is generated\n", snr_int, snr_step);
-      printf("-f step size of SNR, default value is 1.\n");
-      printf("-C cell id\n");
-      printf("-S subframe\n");
-      printf("-D use TDD mode\n");
-      printf("-b TDD config\n");
-      printf("-B bandwidth configuration (in number of ressource blocks): 6, 25, 50, 100\n");
-      printf("-r ressource block allocation (see  section 7.1.6.3 in 36.213\n");
-      printf("-g [A:M] Use 3GPP 25.814 SCM-A/B/C/D('A','B','C','D') or 36-101 EPA('E'), EVA ('F'),ETU('G') models (ignores delay spread and Ricean factor), Rayghleigh8 ('H'), Rayleigh1('I'), Rayleigh1_corr('J'), Rayleigh1_anticorr ('K'), Rice8('L'), Rice1('M')\n");
-      printf("-F forgetting factor (0 new channel every trial, 1 channel constant\n");
-      printf("-x Transmission mode (1,2,6,7 for the moment)\n");
-      printf("-q Number of TX antennas ports used in eNB\n");
-      printf("-y Number of TX antennas used in eNB\n");
-      printf("-z Number of RX antennas used in UE\n");
-      printf("-t MCS of interfering UE\n");
-      printf("-R Number of HARQ rounds (fixed)\n");
-      printf("-A Turns on calibration mode for abstraction.\n");
-      printf("-N Determines the number of Channel Realizations in Abstraction mode. Default value is 1. \n");
-      printf("-O Set the percenatge of effective rate to testbench the modem performance (typically 30 and 70, range 1-100) \n");
-      printf("-I Input filename for TrCH data (binary)\n");
-      printf("-u Enables the Interference Aware Receiver for TM5 (default is normal receiver)\n");
+      printf("Wrong option: %s\n",long_options[option_index].name);
       exit(1);
       break;
     }
   }
+
+  if ( res != -1 ) {
+    printf("A wrong option has been found\n");
+    exit(1);
+  }
+
+  if (help || verbose )
+     display_options_values(options, true);
+  if (help)
+    exit(0);
+  
   set_parallel_conf("PARALLEL_RU_L1_TRX_SPLIT");
   set_worker_conf("WORKER_ENABLE");
 
@@ -1073,8 +991,10 @@ int main(int argc, char **argv)
   AssertFatal(load_configmodule(argc,argv) != NULL,
 	      "cannot load configuration module, exiting\n");
   logInit();
+  set_glog_onlinelog(true);
   // enable these lines if you need debug info
   set_glog(loglvl);
+  SET_LOG_DEBUG(UE_TIMING);
   // moreover you need to init itti with the following line
   // however itti will catch all signals, so ctrl-c won't work anymore
   // alternatively you can disable ITTI completely in CMakeLists.txt
@@ -1522,9 +1442,17 @@ int main(int argc, char **argv)
       reset_meas(&eNB->dlsch_interleaving_stats);
       reset_meas(&eNB->dlsch_rate_matching_stats);
       reset_meas(&eNB->dlsch_turbo_encoding_stats);
-
-      reset_meas(&UE->phy_proc_rx[UE->current_thread_id[subframe]]); // total UE rx
+      for (int i=0; i<RX_NB_TH; i++) {
+	reset_meas(&UE->phy_proc_rx[i]); // total UE rx
+	reset_meas(&UE->ue_front_end_stat[i]);
+        reset_meas(&UE->pdsch_procedures_stat[i]);
+	reset_meas(&UE->dlsch_procedures_stat[i]);
+	reset_meas(&UE->dlsch_decoding_stats[i]);
+	reset_meas(&UE->dlsch_llr_stats_parallelization[i][0]);
+	reset_meas(&UE->dlsch_llr_stats_parallelization[i][1]);
+      }
       reset_meas(&UE->ofdm_demod_stats);
+      reset_meas(&UE->crnti_procedures_stats);
       reset_meas(&UE->dlsch_channel_estimation_stats);
       reset_meas(&UE->dlsch_freq_offset_estimation_stats);
       reset_meas(&UE->rx_dft_stats);
@@ -1541,25 +1469,21 @@ int main(int argc, char **argv)
       reset_meas(&UE->dlsch_tc_intl1_stats);
       reset_meas(&UE->dlsch_tc_intl2_stats);
       // initialization
-      struct list time_vector_tx;
-      initialize(&time_vector_tx);
-      struct list time_vector_tx_ifft;
-      initialize(&time_vector_tx_ifft);
-      struct list time_vector_tx_mod;
-      initialize(&time_vector_tx_mod);
-      struct list time_vector_tx_enc;
-      initialize(&time_vector_tx_enc);
-
-      struct list time_vector_rx;
-      initialize(&time_vector_rx);
-      struct list time_vector_rx_fft;
-      initialize(&time_vector_rx_fft);
-      struct list time_vector_rx_demod;
-      initialize(&time_vector_rx_demod);
-      struct list time_vector_rx_dec;
-      initialize(&time_vector_rx_dec);
-
-
+            // initialization
+      varArray_t *table_tx=initVarArray(1000,sizeof(double));
+      varArray_t *table_tx_ifft=initVarArray(1000,sizeof(double));
+      varArray_t *table_tx_mod=initVarArray(1000,sizeof(double));
+      varArray_t *table_tx_enc=initVarArray(1000,sizeof(double));
+      varArray_t *table_rx=initVarArray(1000,sizeof(double));
+      time_stats_t phy_proc_rx_tot;
+      time_stats_t pdsch_procedures_tot;
+      time_stats_t dlsch_procedures_tot;
+      time_stats_t dlsch_decoding_tot;
+      time_stats_t dlsch_llr_tot;
+      time_stats_t ue_front_end_tot;
+      varArray_t *table_rx_fft=initVarArray(1000,sizeof(double));
+      varArray_t *table_rx_demod=initVarArray(1000,sizeof(double));
+      varArray_t *table_rx_dec=initVarArray(1000,sizeof(double));
 
       for (trials = 0; trials<n_frames; trials++) {
 	//printf("Trial %d\n",trials);
@@ -2004,120 +1928,53 @@ int main(int argc, char **argv)
         /* calculate the total processing time for each packet,
          * get the max, min, and number of packets that exceed t>2000us
          */
-        double t_tx = (double)eNB->phy_proc_tx.p_time/cpu_freq_GHz/1000.0;
-        double t_tx_ifft = (double)eNB->ofdm_mod_stats.p_time/cpu_freq_GHz/1000.0;
-        double t_tx_mod = (double)eNB->dlsch_modulation_stats.p_time/cpu_freq_GHz/1000.0;
-        double t_tx_enc = (double)eNB->dlsch_encoding_stats.p_time/cpu_freq_GHz/1000.0;
-
-
-        double t_rx = (double)UE->phy_proc_rx[UE->current_thread_id[subframe]].p_time/cpu_freq_GHz/1000.0;
-        double t_rx_fft = (double)UE->ofdm_demod_stats.p_time/cpu_freq_GHz/1000.0;
-        double t_rx_demod = (double)UE->dlsch_rx_pdcch_stats.p_time/cpu_freq_GHz/1000.0;
-        double t_rx_dec = (double)UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].p_time/cpu_freq_GHz/1000.0;
-
-        if (t_tx > t_tx_max)
-          t_tx_max = t_tx;
-
-        if (t_tx < t_tx_min)
-          t_tx_min = t_tx;
-
-        if (t_rx > t_rx_max)
-          t_rx_max = t_rx;
-
-        if (t_rx < t_rx_min)
-          t_rx_min = t_rx;
-
-        if (t_tx > 2000)
+	double t_tx = inMicroS(eNB->phy_proc_tx.p_time);
+        double t_tx_ifft = inMicroS(eNB->ofdm_mod_stats.p_time);
+        double t_rx = inMicroS(UE->phy_proc_rx[UE->current_thread_id[subframe]].p_time);
+	sumUpStats(&phy_proc_rx_tot, UE->phy_proc_rx, UE->current_thread_id[subframe]);
+	sumUpStats(&ue_front_end_tot, UE->ue_front_end_stat, UE->current_thread_id[subframe]);
+	sumUpStats(&pdsch_procedures_tot, UE->pdsch_procedures_stat, UE->current_thread_id[subframe]);	
+	sumUpStats(&dlsch_procedures_tot, UE->dlsch_procedures_stat, UE->current_thread_id[subframe]);
+	sumUpStats(&dlsch_decoding_tot, UE->dlsch_decoding_stats, UE->current_thread_id[subframe]);
+	sumUpStatsSlot(&dlsch_llr_tot, UE->dlsch_llr_stats_parallelization, UE->current_thread_id[subframe]);
+
+
+	double t_rx_fft = inMicroS(UE->ofdm_demod_stats.p_time);
+        double t_rx_demod = inMicroS(UE->dlsch_rx_pdcch_stats.p_time);
+        double t_rx_dec = inMicroS(UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].p_time);
+
+        if (t_tx > 2000 )// 2ms is too much time for a subframe
           n_tx_dropped++;
-
-        if (t_rx > 2000)
+	
+        if (t_rx > 2000 )
           n_rx_dropped++;
-
-        push_front(&time_vector_tx, t_tx);
-        push_front(&time_vector_tx_ifft, t_tx_ifft);
-        push_front(&time_vector_tx_mod, t_tx_mod);
-        push_front(&time_vector_tx_enc, t_tx_enc);
-
-        push_front(&time_vector_rx, t_rx);
-        push_front(&time_vector_rx_fft, t_rx_fft);
-        push_front(&time_vector_rx_demod, t_rx_demod);
-        push_front(&time_vector_rx_dec, t_rx_dec);
-
+	
+	appendVarArray(table_tx, &t_tx);
+        appendVarArray(table_tx_ifft, &t_tx_ifft);
+        appendVarArray(table_rx, &t_rx );
+        appendVarArray(table_rx_fft, &t_rx_fft );
+        appendVarArray(table_rx_demod, &t_rx_demod );
+        appendVarArray(table_rx_dec, &t_rx_dec );
 
       }   //trials
 
       // round_trials[0]: number of code word : goodput the protocol
-      double table_tx[time_vector_tx.size];
-      totable(table_tx, &time_vector_tx);
-      double table_tx_ifft[time_vector_tx_ifft.size];
-      totable(table_tx_ifft, &time_vector_tx_ifft);
-      double table_tx_mod[time_vector_tx_mod.size];
-      totable(table_tx_mod, &time_vector_tx_mod);
-      double table_tx_enc[time_vector_tx_enc.size];
-      totable(table_tx_enc, &time_vector_tx_enc);
-
-      double table_rx[time_vector_rx.size];
-      totable(table_rx, &time_vector_rx);
-      double table_rx_fft[time_vector_rx_fft.size];
-      totable(table_rx_fft, &time_vector_rx_fft);
-      double table_rx_demod[time_vector_rx_demod.size];
-      totable(table_rx_demod, &time_vector_rx_demod);
-      double table_rx_dec[time_vector_rx_dec.size];
-      totable(table_rx_dec, &time_vector_rx_dec);
-
-
       // sort table
-      qsort (table_tx, time_vector_tx.size, sizeof(double), &compare);
-      qsort (table_rx, time_vector_rx.size, sizeof(double), &compare);
+      qsort (dataArray(table_tx), table_tx->size, table_tx->atomSize, &cmpdouble);
+      qsort (dataArray(table_tx_ifft), table_tx_ifft->size, table_tx_ifft->atomSize, &cmpdouble);
+      qsort (dataArray(table_tx_mod), table_tx_mod->size, table_tx_mod->atomSize, &cmpdouble);
+      qsort (dataArray(table_tx_enc), table_tx_enc->size, table_tx_enc->atomSize, &cmpdouble);
+      qsort (dataArray(table_rx), table_rx->size, table_rx->atomSize, &cmpdouble);
+      qsort (dataArray(table_rx_fft), table_rx_fft->size, table_rx_fft->atomSize, &cmpdouble);
+      qsort (dataArray(table_rx_demod), table_rx_demod->size, table_rx_demod->atomSize, &cmpdouble);
+      qsort (dataArray(table_rx_dec), table_rx_dec->size, table_rx_dec->atomSize, &cmpdouble);
 
       if (dump_table == 1 ) {
         set_component_filelog(SIM);  // file located in /tmp/usim.txt
-        LOG_UDUMPMSG(SIM,table_tx,time_vector_tx.size,LOG_DUMP_DOUBLE,"The transmitter raw data: \n");
-        LOG_UDUMPMSG(SIM,table_rx,time_vector_rx.size,LOG_DUMP_DOUBLE,"Thereceiver raw data: \n");
+        LOG_UDUMPMSG(SIM,table_tx,table_tx->size,LOG_DUMP_DOUBLE,"The transmitter raw data: \n");
+        LOG_UDUMPMSG(SIM,table_rx,table_rx->size,LOG_DUMP_DOUBLE,"Thereceiver raw data: \n");
       }
 
-      double tx_median = table_tx[time_vector_tx.size/2];
-      double tx_q1 = table_tx[time_vector_tx.size/4];
-      double tx_q3 = table_tx[3*time_vector_tx.size/4];
-
-      double tx_ifft_median = table_tx_ifft[time_vector_tx_ifft.size/2];
-      double tx_ifft_q1 = table_tx_ifft[time_vector_tx_ifft.size/4];
-      double tx_ifft_q3 = table_tx_ifft[3*time_vector_tx_ifft.size/4];
-
-      double tx_mod_median = table_tx_mod[time_vector_tx_mod.size/2];
-      double tx_mod_q1 = table_tx_mod[time_vector_tx_mod.size/4];
-      double tx_mod_q3 = table_tx_mod[3*time_vector_tx_mod.size/4];
-
-      double tx_enc_median = table_tx_enc[time_vector_tx_enc.size/2];
-      double tx_enc_q1 = table_tx_enc[time_vector_tx_enc.size/4];
-      double tx_enc_q3 = table_tx_enc[3*time_vector_tx_enc.size/4];
-
-      double rx_median = table_rx[time_vector_rx.size/2];
-      double rx_q1 = table_rx[time_vector_rx.size/4];
-      double rx_q3 = table_rx[3*time_vector_rx.size/4];
-
-      double rx_fft_median = table_rx_fft[time_vector_rx_fft.size/2];
-      double rx_fft_q1 = table_rx_fft[time_vector_rx_fft.size/4];
-      double rx_fft_q3 = table_rx_fft[3*time_vector_rx_fft.size/4];
-
-      double rx_demod_median = table_rx_demod[time_vector_rx_demod.size/2];
-      double rx_demod_q1 = table_rx_demod[time_vector_rx_demod.size/4];
-      double rx_demod_q3 = table_rx_demod[3*time_vector_rx_demod.size/4];
-
-      double rx_dec_median = table_rx_dec[time_vector_rx_dec.size/2];
-      double rx_dec_q1 = table_rx_dec[time_vector_rx_dec.size/4];
-      double rx_dec_q3 = table_rx_dec[3*time_vector_rx_dec.size/4];
-
-      double std_phy_proc_tx=0;
-      double std_phy_proc_tx_ifft=0;
-      double std_phy_proc_tx_mod=0;
-      double std_phy_proc_tx_enc=0;
-
-      double std_phy_proc_rx=0;
-      double std_phy_proc_rx_fft=0;
-      double std_phy_proc_rx_demod=0;
-      double std_phy_proc_rx_dec=0;
-
       effective_rate = 1.0-((double)(errs[0]+errs[1]+errs[2]+errs[3])/((double)round_trials[0] + round_trials[1] + round_trials[2] + round_trials[3]));
 
       printf("\n**********************SNR = %f dB (tx_lev %f)**************************\n",
@@ -2149,108 +2006,49 @@ int main(int argc, char **argv)
              (double)eNB->dlsch[0][0]->harq_processes[0]->TBS,
              (1.0*(round_trials[0]-errs[0])+2.0*(round_trials[1]-errs[1])+3.0*(round_trials[2]-errs[2])+4.0*(round_trials[3]-errs[3]))/((double)round_trials[0]));
 
+      double timeBase=1/(1000*cpu_freq_GHz);
       if (print_perf==1) {
-        printf("eNB TX function statistics (per 1ms subframe)\n\n");
-        std_phy_proc_tx = sqrt((double)eNB->phy_proc_tx.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                               2)/eNB->phy_proc_tx.trials - pow((double)eNB->phy_proc_tx.diff/eNB->phy_proc_tx.trials/cpu_freq_GHz/1000,2));
-        std_phy_proc_tx_ifft = sqrt((double)eNB->ofdm_mod_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                    2)/eNB->ofdm_mod_stats.trials - pow((double)eNB->ofdm_mod_stats.diff/eNB->ofdm_mod_stats.trials/cpu_freq_GHz/1000,2));
-        printf("OFDM_mod time                     :%f us (%d trials)\n",(double)eNB->ofdm_mod_stats.diff/eNB->ofdm_mod_stats.trials/cpu_freq_GHz/1000.0,eNB->ofdm_mod_stats.trials);
-        printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_tx_ifft, tx_ifft_median, tx_ifft_q1, tx_ifft_q3);
-        printf("Total PHY proc tx                 :%f us (%d trials)\n",(double)eNB->phy_proc_tx.diff/eNB->phy_proc_tx.trials/cpu_freq_GHz/1000.0,eNB->phy_proc_tx.trials);
-        printf("|__ Statistcs                           std: %fus max: %fus min: %fus median %fus q1 %fus q3 %fus n_dropped: %d packet \n",std_phy_proc_tx, t_tx_max, t_tx_min, tx_median, tx_q1, tx_q3,
-               n_tx_dropped);
-
-        std_phy_proc_tx_mod = sqrt((double)eNB->dlsch_modulation_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                   2)/eNB->dlsch_modulation_stats.trials - pow((double)eNB->dlsch_modulation_stats.diff/eNB->dlsch_modulation_stats.trials/cpu_freq_GHz/1000,2));
-        printf("DLSCH modulation time             :%f us (%d trials)\n",(double)eNB->dlsch_modulation_stats.diff/eNB->dlsch_modulation_stats.trials/cpu_freq_GHz/1000.0,
-               eNB->dlsch_modulation_stats.trials);
-        printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_tx_mod, tx_mod_median, tx_mod_q1, tx_mod_q3);
-        printf("DLSCH scrambling time             :%f us (%d trials)\n",(double)eNB->dlsch_scrambling_stats.diff/eNB->dlsch_scrambling_stats.trials/cpu_freq_GHz/1000.0,
-               eNB->dlsch_scrambling_stats.trials);
-        std_phy_proc_tx_enc = sqrt((double)eNB->dlsch_encoding_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                   2)/eNB->dlsch_encoding_stats.trials - pow((double)eNB->dlsch_encoding_stats.diff/eNB->dlsch_encoding_stats.trials/cpu_freq_GHz/1000,2));
-        printf("DLSCH encoding time               :%f us (%d trials)\n",(double)eNB->dlsch_encoding_stats.diff/eNB->dlsch_encoding_stats.trials/cpu_freq_GHz/1000.0,
-               eNB->dlsch_modulation_stats.trials);
-        printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_tx_enc, tx_enc_median, tx_enc_q1, tx_enc_q3);
-        printf("|__ DLSCH turbo encoding time         :%f us (%d trials)\n",
-               ((double)eNB->dlsch_turbo_encoding_stats.trials/eNB->dlsch_encoding_stats.trials)*(double)
-               eNB->dlsch_turbo_encoding_stats.diff/eNB->dlsch_turbo_encoding_stats.trials/cpu_freq_GHz/1000.0,eNB->dlsch_turbo_encoding_stats.trials);
-        printf("|__ DLSCH rate-matching time          :%f us (%d trials)\n",
-               ((double)eNB->dlsch_rate_matching_stats.trials/eNB->dlsch_encoding_stats.trials)*(double)
-               eNB->dlsch_rate_matching_stats.diff/eNB->dlsch_rate_matching_stats.trials/cpu_freq_GHz/1000.0,eNB->dlsch_rate_matching_stats.trials);
-        printf("|__ DLSCH sub-block interleaving time :%f us (%d trials)\n",
-               ((double)eNB->dlsch_interleaving_stats.trials/eNB->dlsch_encoding_stats.trials)*(double)
-               eNB->dlsch_interleaving_stats.diff/eNB->dlsch_interleaving_stats.trials/cpu_freq_GHz/1000.0,eNB->dlsch_interleaving_stats.trials);
-
-        printf("\n\nUE RX function statistics (per 1ms subframe)\n\n");
-        std_phy_proc_rx = sqrt((double)UE->phy_proc_rx[UE->current_thread_id[subframe]].diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                               2)/UE->phy_proc_rx[UE->current_thread_id[subframe]].trials - pow((double)UE->phy_proc_rx[UE->current_thread_id[subframe]].diff/UE->phy_proc_rx[UE->current_thread_id[subframe]].trials/cpu_freq_GHz/1000,2));
-        printf("Total PHY proc rx                                   :%f us (%d trials)\n",(double)UE->phy_proc_rx[UE->current_thread_id[subframe]].diff/UE->phy_proc_rx[UE->current_thread_id[subframe]].trials/cpu_freq_GHz/1000.0,
-               UE->phy_proc_rx[UE->current_thread_id[subframe]].trials*2/3);
-        printf("|__Statistcs                                            std: %fus max: %fus min: %fus median %fus q1 %fus q3 %fus n_dropped: %d packet \n", std_phy_proc_rx, t_rx_max, t_rx_min, rx_median,
-               rx_q1, rx_q3, n_rx_dropped);
-        std_phy_proc_rx_fft = sqrt((double)UE->ofdm_demod_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                   2)/UE->ofdm_demod_stats.trials - pow((double)UE->ofdm_demod_stats.diff/UE->ofdm_demod_stats.trials/cpu_freq_GHz/1000,2));
-        printf("DLSCH OFDM demodulation and channel_estimation time :%f us (%d trials)\n",(nsymb)*(double)UE->ofdm_demod_stats.diff/UE->ofdm_demod_stats.trials/cpu_freq_GHz/1000.0,
-               UE->ofdm_demod_stats.trials*2/3);
-        printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_fft, rx_fft_median, rx_fft_q1, rx_fft_q3);
-        printf("|__ DLSCH rx dft                                        :%f us (%d trials)\n",
-               (nsymb*UE->frame_parms.nb_antennas_rx)*(double)UE->rx_dft_stats.diff/UE->rx_dft_stats.trials/cpu_freq_GHz/1000.0,UE->rx_dft_stats.trials*2/3);
-        printf("|__ DLSCH channel estimation time                       :%f us (%d trials)\n",
-               (4.0)*(double)UE->dlsch_channel_estimation_stats.diff/UE->dlsch_channel_estimation_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_channel_estimation_stats.trials*2/3);
-        printf("|__ DLSCH frequency offset estimation time              :%f us (%d trials)\n",
-               (4.0)*(double)UE->dlsch_freq_offset_estimation_stats.diff/UE->dlsch_freq_offset_estimation_stats.trials/cpu_freq_GHz/1000.0,
-               UE->dlsch_freq_offset_estimation_stats.trials*2/3);
-        printf("DLSCH rx pdcch                                       :%f us (%d trials)\n",(double)UE->dlsch_rx_pdcch_stats.diff/UE->dlsch_rx_pdcch_stats.trials/cpu_freq_GHz/1000.0,
-               UE->dlsch_rx_pdcch_stats.trials);
-        std_phy_proc_rx_demod = sqrt((double)UE->dlsch_llr_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                     2)/UE->dlsch_llr_stats.trials - pow((double)UE->dlsch_llr_stats.diff/UE->dlsch_llr_stats.trials/cpu_freq_GHz/1000,2));
-        printf("DLSCH Channel Compensation and LLR generation time  :%f us (%d trials)\n",(14-num_pdcch_symbols)*(double)UE->dlsch_llr_stats.diff/UE->dlsch_llr_stats.trials/cpu_freq_GHz/1000.0,
-               UE->dlsch_llr_stats.trials/3);
-        printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_demod, rx_demod_median, rx_demod_q1, rx_demod_q3);
-        printf("DLSCH unscrambling time                             :%f us (%d trials)\n",(double)UE->dlsch_unscrambling_stats.diff/UE->dlsch_unscrambling_stats.trials/cpu_freq_GHz/1000.0,
-               UE->dlsch_unscrambling_stats.trials);
-        std_phy_proc_rx_dec = sqrt((double)UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                   2)/UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].trials - pow((double)UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].diff/UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].trials/cpu_freq_GHz/1000,2));
-        printf("DLSCH Decoding time (%02.2f Mbit/s, avg iter %1.2f)    :%f us (%d trials, max %f)\n",
-               eNB->dlsch[0][0]->harq_processes[0]->TBS/1000.0,(double)avg_iter/iter_trials,
-               (double)UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].diff/UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].trials/cpu_freq_GHz/1000.0,UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].trials,
-               (double)UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].max/cpu_freq_GHz/1000.0);
-        printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_dec, rx_dec_median, rx_dec_q1, rx_dec_q3);
-        printf("|__ DLSCH Rate Unmatching                               :%f us (%d trials)\n",
-               (double)UE->dlsch_rate_unmatching_stats.diff/UE->dlsch_rate_unmatching_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_rate_unmatching_stats.trials);
-        printf("|__ DLSCH Turbo Decoding(%d bits)                       :%f us (%d trials)\n",
-               UE->dlsch[UE->current_thread_id[subframe]][0][0]->harq_processes[0]->Cminus ? UE->dlsch[UE->current_thread_id[subframe]][0][0]->harq_processes[0]->Kminus : UE->dlsch[UE->current_thread_id[subframe]][0][0]->harq_processes[0]->Kplus,
-               (double)UE->dlsch_turbo_decoding_stats.diff/UE->dlsch_turbo_decoding_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_turbo_decoding_stats.trials);
-        printf("    |__ init                                            %f us (cycles/iter %f, %d trials)\n",
-               (double)UE->dlsch_tc_init_stats.diff/UE->dlsch_tc_init_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_init_stats.diff/UE->dlsch_tc_init_stats.trials/((double)avg_iter/iter_trials),
-               UE->dlsch_tc_init_stats.trials);
-        printf("    |__ alpha                                           %f us (cycles/iter %f, %d trials)\n",
-               (double)UE->dlsch_tc_alpha_stats.diff/UE->dlsch_tc_alpha_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_alpha_stats.diff/UE->dlsch_tc_alpha_stats.trials*2,
-               UE->dlsch_tc_alpha_stats.trials);
-        printf("    |__ beta                                            %f us (cycles/iter %f,%d trials)\n",
-               (double)UE->dlsch_tc_beta_stats.diff/UE->dlsch_tc_beta_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_beta_stats.diff/UE->dlsch_tc_beta_stats.trials*2,
-               UE->dlsch_tc_beta_stats.trials);
-        printf("    |__ gamma                                           %f us (cycles/iter %f,%d trials)\n",
-               (double)UE->dlsch_tc_gamma_stats.diff/UE->dlsch_tc_gamma_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_gamma_stats.diff/UE->dlsch_tc_gamma_stats.trials*2,
-               UE->dlsch_tc_gamma_stats.trials);
-        printf("    |__ ext                                             %f us (cycles/iter %f,%d trials)\n",
-               (double)UE->dlsch_tc_ext_stats.diff/UE->dlsch_tc_ext_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_ext_stats.diff/UE->dlsch_tc_ext_stats.trials*2,
-               UE->dlsch_tc_ext_stats.trials);
-        printf("    |__ intl1                                           %f us (cycles/iter %f,%d trials)\n",
-               (double)UE->dlsch_tc_intl1_stats.diff/UE->dlsch_tc_intl1_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_intl1_stats.diff/UE->dlsch_tc_intl1_stats.trials,
-               UE->dlsch_tc_intl1_stats.trials);
-        printf("    |__ intl2+HD+CRC                                    %f us (cycles/iter %f,%d trials)\n",
-               (double)UE->dlsch_tc_intl2_stats.diff/UE->dlsch_tc_intl2_stats.trials/cpu_freq_GHz/1000.0,
-               (double)UE->dlsch_tc_intl2_stats.diff/UE->dlsch_tc_intl2_stats.trials,
-               UE->dlsch_tc_intl2_stats.trials);
+        printf("\neNB TX function statistics (per 1ms subframe)\n");
+	printDistribution(&eNB->phy_proc_tx,table_tx,"PHY proc tx");
+	printStatIndent(&eNB->dlsch_common_and_dci,"DL common channels and dci time");
+	printStatIndent(&eNB->dlsch_encoding_stats,"DLSCH encoding time");
+	printStatIndent2(&eNB->dlsch_rate_matching_stats,"DLSCH rate matching time",eNB->dlsch_rate_matching_stats.trials);
+	printStatIndent2(&eNB->dlsch_turbo_encoding_stats,"DLSCH turbo encoding time", eNB->dlsch_turbo_encoding_stats.trials);
+	printStatIndent2(&eNB->dlsch_interleaving_stats,"DLSCH interleaving time", eNB->dlsch_interleaving_stats.trials);
+	printStatIndent(&eNB->dlsch_scrambling_stats,  "DLSCH scrambling time");
+	printStatIndent(&eNB->dlsch_modulation_stats, "DLSCH modulation time");
+	printDistribution(&eNB->ofdm_mod_stats,table_tx_ifft,"OFDM_mod (idft) time");
+
+        printf("\nUE RX function statistics (per 1ms subframe)\n");
+	printDistribution(&phy_proc_rx_tot, table_rx,"Total PHY proc rx");
+	printStatIndent(&ue_front_end_tot,"Front end processing");
+	printStatIndent(&dlsch_llr_tot,"rx_pdsch processing");
+	printStatIndent2(&pdsch_procedures_tot,"pdsch processing", pdsch_procedures_tot.trials);
+	printStatIndent2(&dlsch_procedures_tot,"dlsch processing", dlsch_procedures_tot.trials);
+	printStatIndent2(&UE->crnti_procedures_stats,"C-RNTI processing", UE->crnti_procedures_stats.trials);
+	printStatIndent(&UE->ofdm_demod_stats,"ofdm demodulation");
+	printStatIndent(&UE->dlsch_channel_estimation_stats,"DLSCH channel estimation time");
+	printStatIndent(&UE->dlsch_freq_offset_estimation_stats,"DLSCH frequency offset estimation time");
+	printStatIndent(&dlsch_decoding_tot, "DLSCH Decoding time ");
+	printStatIndent(&UE->dlsch_unscrambling_stats,"DLSCH unscrambling time");
+        printStatIndent(&UE->dlsch_rate_unmatching_stats,"DLSCH Rate Unmatching");
+	printf("|__ DLSCH Turbo Decoding(%d bits), avg iterations: %.1f       %.2f us (%d cycles, %d trials)\n",
+	       UE->dlsch[UE->current_thread_id[subframe]][0][0]->harq_processes[0]->Cminus ?
+	       UE->dlsch[UE->current_thread_id[subframe]][0][0]->harq_processes[0]->Kminus :
+	       UE->dlsch[UE->current_thread_id[subframe]][0][0]->harq_processes[0]->Kplus,
+
+               UE->dlsch_tc_intl1_stats.trials/(double)UE->dlsch_tc_init_stats.trials,
+               (double)UE->dlsch_turbo_decoding_stats.diff/UE->dlsch_turbo_decoding_stats.trials*timeBase,
+               (int)((double)UE->dlsch_turbo_decoding_stats.diff/UE->dlsch_turbo_decoding_stats.trials),
+               UE->dlsch_turbo_decoding_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_init_stats,"init", UE->dlsch_tc_init_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_alpha_stats,"alpha", UE->dlsch_tc_init_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_beta_stats,"beta", UE->dlsch_tc_init_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_gamma_stats,"gamma", UE->dlsch_tc_init_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_ext_stats,"ext", UE->dlsch_tc_init_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_intl1_stats,"turbo internal interleaver", UE->dlsch_tc_init_stats.trials);
+        printStatIndent2(&UE->dlsch_tc_intl2_stats,"intl2+HardDecode+CRC", UE->dlsch_tc_init_stats.trials);
+	
       }
 
       if ((transmission_mode != 3) && (transmission_mode != 4)) {
@@ -2399,7 +2197,7 @@ int main(int argc, char **argv)
                 eNB->dlsch_modulation_stats.trials,
                 eNB->dlsch_scrambling_stats.trials,
                 eNB->dlsch_encoding_stats.trials,
-                UE->phy_proc_rx[UE->current_thread_id[subframe]].trials,
+                phy_proc_rx_tot.trials,
                 UE->ofdm_demod_stats.trials,
                 UE->dlsch_rx_pdcch_stats.trials,
                 UE->dlsch_llr_stats.trials,
@@ -2412,7 +2210,7 @@ int main(int argc, char **argv)
                 get_time_meas_us(&eNB->dlsch_modulation_stats),
                 get_time_meas_us(&eNB->dlsch_scrambling_stats),
                 get_time_meas_us(&eNB->dlsch_encoding_stats),
-                get_time_meas_us(&UE->phy_proc_rx[UE->current_thread_id[subframe]]),
+                get_time_meas_us(&phy_proc_rx_tot),
                 nsymb*get_time_meas_us(&UE->ofdm_demod_stats),
                 get_time_meas_us(&UE->dlsch_rx_pdcch_stats),
                 3*get_time_meas_us(&UE->dlsch_llr_stats),
@@ -2420,45 +2218,36 @@ int main(int argc, char **argv)
                 get_time_meas_us(&UE->dlsch_decoding_stats[UE->current_thread_id[subframe]])
                );
         //fprintf(time_meas_fd,"eNB_PROC_TX_STD;eNB_PROC_TX_MAX;eNB_PROC_TX_MIN;eNB_PROC_TX_MED;eNB_PROC_TX_Q1;eNB_PROC_TX_Q3;eNB_PROC_TX_DROPPED;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%d;", std_phy_proc_tx, t_tx_max, t_tx_min, tx_median, tx_q1, tx_q3, n_tx_dropped);
-
+        fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%d;",squareRoot(&UE->phy_proc_tx), t_tx_max, t_tx_min, median(table_tx), q1(table_tx), q3(table_tx), n_tx_dropped);
         //fprintf(time_meas_fd,"IFFT;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;", std_phy_proc_tx_ifft, tx_ifft_median, tx_ifft_q1, tx_ifft_q3);
-
+        fprintf(time_meas_fd,"%f;%f;%f;%f;",
+		squareRoot(&eNB->ofdm_mod_stats),
+                median(table_tx_ifft),q1(table_tx_ifft),q3(table_tx_ifft));
         //fprintf(time_meas_fd,"MOD;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;", std_phy_proc_tx_mod, tx_mod_median, tx_mod_q1, tx_mod_q3);
-
+        fprintf(time_meas_fd,"%f;%f;%f;%f;",
+		squareRoot(&eNB->dlsch_modulation_stats),
+                median(table_tx_mod), q1(table_tx_mod), q3(table_tx_mod));
         //fprintf(time_meas_fd,"ENC;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;", std_phy_proc_tx_enc, tx_enc_median, tx_enc_q1, tx_enc_q3);
-
-
-        //fprintf(time_meas_fd,"UE_PROC_RX_STD;UE_PROC_RX_MAX;UE_PROC_RX_MIN;UE_PROC_RX_MED;UE_PROC_RX_Q1;UE_PROC_RX_Q3;UE_PROC_RX_DROPPED;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%d;", std_phy_proc_rx, t_rx_max, t_rx_min, rx_median, rx_q1, rx_q3, n_rx_dropped);
-
+        fprintf(time_meas_fd,"%f;%f;%f;%f;",
+		squareRoot(&eNB->dlsch_encoding_stats),
+                median(table_tx_enc),q1(table_tx_enc),q3(table_tx_enc));
+        //fprintf(time_meas_fd,"eNB_PROC_RX_STD;eNB_PROC_RX_MAX;eNB_PROC_RX_MIN;eNB_PROC_RX_MED;eNB_PROC_RX_Q1;eNB_PROC_RX_Q3;eNB_PROC_RX_DROPPED;\n");
+        fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%d;",
+		squareRoot(&phy_proc_rx_tot), t_rx_max, t_rx_min,
+                median(table_rx), q1(table_rx), q3(table_rx), n_rx_dropped);
         //fprintf(time_meas_fd,"FFT;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;", std_phy_proc_rx_fft, rx_fft_median, rx_fft_q1, rx_fft_q3);
-
+        fprintf(time_meas_fd,"%f;%f;%f;%f;",
+		squareRoot(&UE->ofdm_demod_stats),
+                median(table_rx_fft), q1(table_rx_fft), q3(table_rx_fft));
         //fprintf(time_meas_fd,"DEMOD;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f;", std_phy_proc_rx_demod,rx_demod_median, rx_demod_q1, rx_demod_q3);
-
+        fprintf(time_meas_fd,"%f;%f;%f;%f;",
+		squareRoot(&UE->dlsch_demodulation_stats),
+                median(table_rx_demod), q1(table_rx_demod), q3(table_rx_demod));
         //fprintf(time_meas_fd,"DEC;\n");
-        fprintf(time_meas_fd,"%f;%f;%f;%f\n", std_phy_proc_rx_dec, rx_dec_median, rx_dec_q1, rx_dec_q3);
-
-
-        /*
-        fprintf(time_meas_fd,"%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;",
-        eNB->phy_proc_tx.trials,
-        eNB->ofdm_mod_stats.trials,
-        eNB->dlsch_modulation_stats.trials,
-        eNB->dlsch_scrambling_stats.trials,
-        eNB->dlsch_encoding_stats.trials,
-        UE->phy_proc_rx[UE->current_thread_id[subframe]].trials,
-        UE->ofdm_demod_stats.trials,
-        UE->dlsch_rx_pdcch_stats.trials,
-        UE->dlsch_llr_stats.trials,
-        UE->dlsch_unscrambling_stats.trials,
-        UE->dlsch_decoding_stats[UE->current_thread_id[subframe]].trials);
-        */
+        fprintf(time_meas_fd,"%f;%f;%f;%f\n",
+		squareRoot(&UE->dlsch_decoding_stats[subframe]),
+                median(table_rx_dec), q1(table_rx_dec), q3(table_rx_dec));
+
         printf("[passed] effective rate : %f  (%2.1f%%,%f)): log and break \n",rate*effective_rate, 100*effective_rate, rate );
 	test_passed = 1;
         break;
diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c
index 8c09da1daf9e3c77cb54e9535fc27f07b6f944a6..c015063b6051d0ead3be5895d24cc3e8d6f58f0f 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsim.c
+++ b/openair1/SIMULATION/LTE_PHY/ulsim.c
@@ -1,23 +1,23 @@
 /*
-   Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The OpenAirInterface Software Alliance licenses this file to You under
-   the OAI Public License, Version 1.1  (the "License"); you may not use this file
-   except in compliance with the License.
-   You may obtain a copy of the License at
-
-        http://www.openairinterface.org/?page_id=698
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-  -------------------------------------------------------------------------------
-   For more information about the OpenAirInterface (OAI) Software Alliance:
-        contact@openairinterface.org
-*/
+ * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The OpenAirInterface Software Alliance licenses this file to You under
+ * the OAI Public License, Version 1.1  (the "License"); you may not use this file
+ * except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.openairinterface.org/?page_id=698
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *-------------------------------------------------------------------------------
+ * For more information about the OpenAirInterface (OAI) Software Alliance:
+ *      contact@openairinterface.org
+ */
 
 /*! \file ulsim.c
   \brief Top-level UL simulator
@@ -60,32 +60,7 @@
 double cpuf;
 #define inMicroS(a) (((double)(a))/(cpu_freq_GHz*1000.0))
 //#define MCS_COUNT 23//added for PHY abstraction
-static int cmpdouble(const void *p1, const void *p2) {
-  return *(double *)p1 > *(double *)p2;
-}
-
-double median(varArray_t *input) {
-  return *(double *)((uint8_t *)(input+1)+(input->size/2)*input->atomSize);
-}
-
-double q1(varArray_t *input) {
-  return *(double *)((uint8_t *)(input+1)+(input->size/4)*input->atomSize);
-}
-
-double q3(varArray_t *input) {
-  return *(double *)((uint8_t *)(input+1)+(3*input->size/4)*input->atomSize);
-}
-
-void dumpVarArray(varArray_t *input) {
-  double *ptr=dataArray(input);
-  printf("dumping size=%ld\n", input->size);
-
-  for (int i=0; i < input->size; i++)
-    printf("%.1f:", *ptr++);
-
-  printf("\n");
-}
-
+#include <openair1/SIMULATION/LTE_PHY/common_sim.h>
 channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX];
 channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX];
 //Added for PHY abstractionopenair1/PHY/TOOLS/lte_phy_scope.h
@@ -348,48 +323,8 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
   ul_req->tl.tag = NFAPI_UL_CONFIG_REQUEST_BODY_TAG;
 }
 
-void printStatIndent(time_stats_t *ptr, char *txt) {
-  printf("|__ %-50s %.2f us (%d trials)\n",
-         txt,
-         inMicroS(ptr->diff/ptr->trials),
-         ptr->trials);
-}
-
-void printStatIndent2(time_stats_t *ptr, char *txt, int turbo_iter) {
-  double timeBase=1/(1000*cpu_freq_GHz);
-  printf("    |__ %-45s %.2f us (cycles/block %7g, %5d trials)\n",
-         txt,
-         ((double)ptr->diff)/ptr->trials*timeBase,
-         round(((double)ptr->diff)/turbo_iter),
-         ptr->trials);
-}
-
-double squareRoot(time_stats_t *ptr) {
-  double timeBase=1/(1000*cpu_freq_GHz);
-  return sqrt((double)ptr->diff_square*pow(timeBase,2)/ptr->trials -
-              pow((double)ptr->diff/ptr->trials*timeBase,2));
-}
-
-void printDistribution(time_stats_t *ptr, varArray_t *sortedList, char *txt) {
-  double timeBase=1/(1000*cpu_freq_GHz);
-  printf("%-50s             :%.2f us (%d trials)\n",
-         txt,
-         (double)ptr->diff/ptr->trials*timeBase,
-         ptr->trials);
-  printf("|__ Statistics std=%.2f, median=%.2f, q1=%.2f, q3=%.2f µs (on %ld trials)\n",
-         squareRoot(ptr), median(sortedList),q1(sortedList),q3(sortedList), sortedList->size);
-}
-
-void logDistribution(FILE* fd, time_stats_t *ptr, varArray_t *sortedList, int dropped) {
-  fprintf(fd,"%f;%f;%f;%f;%f;%f;%d;",
-	  squareRoot(ptr),
-	  (double)ptr->max, *(double*)dataArray(sortedList),
-	  median(sortedList),q1(sortedList),q3(sortedList),
-	  dropped); 
-}
-
 enum eTypes { eBool, eInt, eFloat, eText };
-static int verbose,disable_bundling=0,cqi_flag=0, extended_prefix_flag=0, test_perf=0, subframe=3, transmission_m=1,n_rx=1;
+static int verbose,help,disable_bundling=0,cqi_flag=0, extended_prefix_flag=0, test_perf=0, subframe=3, transmission_m=1,n_rx=1;
 
 int main(int argc, char **argv) {
   int i,j,aa,u;
@@ -505,13 +440,13 @@ int main(int argc, char **argv) {
   //set_glog(LOG_DEBUG,LOG_MED);
   //hapZEbm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:LF
   static paramdef_t options[] = {
-    { "awgn", "Additive white gaussian noise", PARAMFLAG_BOOL, strptr:NULL, defintval:0, TYPE_INT, 0, NULL, NULL },
+    { "awgn", "Use AWGN channel and not multipath", PARAMFLAG_BOOL, strptr:NULL, defintval:0, TYPE_INT, 0, NULL, NULL },
     { "BnbRBs", "The LTE bandwith in RBs (100 is 20MHz)",0, iptr:&N_RB_DL,  defintval:25, TYPE_INT, 0 },
     { "mcs", "The MCS to use", 0, iptr:&mcs,  defintval:10, TYPE_INT, 0 },
     { "nb_frame", "number of frame in a test",0, iptr:&n_frames,  defintval:1, TYPE_INT, 0 },
     { "snr", "starting snr", 0, dblptr:&snr0,  defdblval:-2.9, TYPE_DOUBLE, 0 },
     { "wsnrInterrupt", "snr int ?", 0, dblptr:&snr_int,  defdblval:30, TYPE_DOUBLE, 0 },
-    { "e_snr_step", "step increasint snr",0, dblptr:&input_snr_step,  defdblval:0.2, TYPE_DOUBLE, 0 },
+    { "e_snr_step", "step increasing snr",0, dblptr:&input_snr_step,  defdblval:0.2, TYPE_DOUBLE, 0 },
     { "rb_dynamic", "number of rb in dynamic allocation",0, iptr:NULL,  defintval:0, TYPE_INT, 0 },
     { "first_rb", "first rb used in dynamic allocation",0, iptr:&first_rb,  defintval:0, TYPE_INT, 0 },
     { "osrs", "enable srs generation",PARAMFLAG_BOOL, iptr:&srs_flag,  defintval:0, TYPE_INT, 0 },
@@ -538,37 +473,12 @@ int main(int argc, char **argv) {
     { "bundling_disable", "bundling disable",PARAMFLAG_BOOL,  iptr:&disable_bundling, defintval:0, TYPE_INT, 0 },
     { "Y",  "n_ch_rlz",0, iptr:&n_ch_rlz,  defintval:1, TYPE_INT, 0 },
     { "X",  "abstx", PARAMFLAG_BOOL,  iptr:&abstx, defintval:0, TYPE_INT, 0 },
-    { "Operf", "test perf mode ?",0, iptr:&test_perf,  defintval:0, TYPE_INT, 0 },
+    { "Operf", "Set the percentage of effective rate to testbench the modem performance (typically 30 and 70, range 1-100)",0, iptr:&test_perf,  defintval:0, TYPE_INT, 0 },
     { "verbose", "display debug text", PARAMFLAG_BOOL,  iptr:&verbose, defintval:0, TYPE_INT, 0 },
+    { "help", "display help and exit", PARAMFLAG_BOOL,  iptr:&help, defintval:0, TYPE_INT, 0 },
     { "", "",0,  iptr:NULL, defintval:0, TYPE_INT, 0 },
   };
-  int l;
-
-  for(l=0; options[l].optname[0]!=0; l++) {};
-
-  struct option *long_options=calloc(sizeof(struct option),l);
-
-  for(int i=0; options[i].optname[0]!=0; i++) {
-    long_options[i].name=options[i].optname;
-    long_options[i].has_arg=options[i].paramflags==PARAMFLAG_BOOL?no_argument:required_argument;
-
-    if ( options[i].voidptr)
-      switch (options[i].type) {
-        case TYPE_INT:
-          *options[i].iptr=options[i].defintval;
-          break;
-
-        case TYPE_DOUBLE:
-          *options[i].dblptr=options[i].defdblval;
-          break;
-
-        default:
-          printf("not parsed type for default value %s\n", options[i].optname );
-          exit(1);
-      }
-
-    continue;
-  };
+  struct option * long_options = parse_oai_options(options); 
 
   int option_index;
 
@@ -579,113 +489,121 @@ int main(int argc, char **argv) {
       if (long_options[option_index].has_arg==no_argument)
         *(bool *)options[option_index].iptr=1;
       else switch (options[option_index].type) {
-          case TYPE_INT:
-            *(int *)options[option_index].iptr=atoi(optarg);
-            break;
-
-          case TYPE_DOUBLE:
-            *(double *)options[option_index].dblptr=atof(optarg);
-            break;
-
-          default:
-            printf("not decoded type.\n");
-            exit(1);
+	case TYPE_INT:
+	  *(int *)options[option_index].iptr=atoi(optarg);
+	  break;
+
+	case TYPE_DOUBLE:
+	  *(double *)options[option_index].dblptr=atof(optarg);
+	  break;
+
+	case TYPE_UINT8:
+	  *(uint8_t *)options[option_index].dblptr=atoi(optarg);
+	  break;
+	  	    
+	case TYPE_UINT16:
+	  *(uint16_t *)options[option_index].dblptr=atoi(optarg);
+	  break;
+	  
+	default:
+	  printf("not decoded type.\n");
+	  exit(1);
         }
 
       continue;
     }
 
     switch (long_options[option_index].name[0]) {
-      case 'T':
-        tdd_config=atoi(optarg);
-        frame_type=TDD;
-        break;
-
-      case 'a':
-        channel_model = AWGN;
-        chMod = 1;
-        break;
+    case 'T':
+      tdd_config=atoi(optarg);
+      frame_type=TDD;
+      break;
 
-      case 'g':
-        strncpy(channel_model_input,optarg,9);
-        struct tmp {
-          char opt;
-          int m;
-          int M;
-        }
-        tmp[]= {
-          {'A',SCM_A,2},
-          {'B',SCM_B,3},
-          {'C',SCM_C,4},
-          {'D',SCM_D,5},
-          {'E',EPA,6},
-          {'G',ETU,8},
-          {'H',Rayleigh8,9},
-          {'I',Rayleigh1,10},
-          {'J',Rayleigh1_corr,11},
-          {'K',Rayleigh1_anticorr,12},
-          {'L',Rice8,13},
-          {'M',Rice1,14},
-          {'N',AWGN,1},
-          {0,0,0}
-        };
-        struct tmp *ptr;
-
-        for (ptr=tmp; ptr->opt!=0; ptr++)
-          if ( ptr->opt == optarg[0] ) {
-            channel_model=ptr->m;
-            chMod=ptr->M;
-            break;
-          }
+    case 'a':
+      channel_model = AWGN;
+      chMod = 1;
+      break;
 
-        AssertFatal(ptr->opt != 0, "Unsupported channel model: %s !\n", optarg );
-        break;
+    case 'g':
+      strncpy(channel_model_input,optarg,9);
+      struct tmp {
+	char opt;
+	int m;
+	int M;
+      }
+      tmp[]= {
+	{'A',SCM_A,2},
+	{'B',SCM_B,3},
+	{'C',SCM_C,4},
+	{'D',SCM_D,5},
+	{'E',EPA,6},
+	{'G',ETU,8},
+	{'H',Rayleigh8,9},
+	{'I',Rayleigh1,10},
+	{'J',Rayleigh1_corr,11},
+	{'K',Rayleigh1_anticorr,12},
+	{'L',Rice8,13},
+	{'M',Rice1,14},
+	{'N',AWGN,1},
+	{0,0,0}
+      };
+      struct tmp *ptr;
+
+      for (ptr=tmp; ptr->opt!=0; ptr++)
+	if ( ptr->opt == optarg[0] ) {
+	  channel_model=ptr->m;
+	  chMod=ptr->M;
+	  break;
+	}
+
+      AssertFatal(ptr->opt != 0, "Unsupported channel model: %s !\n", optarg );
+      break;
 
-      case 'x':
-        transmission_m=atoi(optarg);
-        AssertFatal(transmission_m==1 || transmission_m==2,
-                    "Unsupported transmission mode %d\n",transmission_m);
-        break;
+    case 'x':
+      transmission_m=atoi(optarg);
+      AssertFatal(transmission_m==1 || transmission_m==2,
+		  "Unsupported transmission mode %d\n",transmission_m);
+      break;
 
-      case 'r':
-        nb_rb = atoi(optarg);
-        nb_rb_set = 1;
-        break;
+    case 'r':
+      nb_rb = atoi(optarg);
+      nb_rb_set = 1;
+      break;
 
       //case 'c':
       //  cyclic_shift = atoi(optarg);
       //  break;
 
-      case 'i':
-        input_fdUL = fopen(optarg,"r");
-        printf("Reading in %s (%p)\n",optarg,input_fdUL);
-        AssertFatal(input_fdUL != (FILE *)NULL,"Unknown file %s\n",optarg);
-        break;
+    case 'i':
+      input_fdUL = fopen(optarg,"r");
+      printf("Reading in %s (%p)\n",optarg,input_fdUL);
+      AssertFatal(input_fdUL != (FILE *)NULL,"Unknown file %s\n",optarg);
+      break;
 
-      case 'A':
-        beta_ACK = atoi(optarg);
-        AssertFatal(beta_ACK>15,"beta_ack must be in (0..15)\n");
-        break;
+    case 'A':
+      beta_ACK = atoi(optarg);
+      AssertFatal(beta_ACK>15,"beta_ack must be in (0..15)\n");
+      break;
 
-      case 'C':
-        beta_CQI = atoi(optarg);
-        AssertFatal((beta_CQI>15)||(beta_CQI<2),"beta_cqi must be in (2..15)\n");
-        break;
+    case 'C':
+      beta_CQI = atoi(optarg);
+      AssertFatal((beta_CQI>15)||(beta_CQI<2),"beta_cqi must be in (2..15)\n");
+      break;
 
-      case 'R':
-        beta_RI = atoi(optarg);
-        AssertFatal((beta_RI>15)||(beta_RI<2),"beta_ri must be in (0..13)\n");
-        break;
+    case 'R':
+      beta_RI = atoi(optarg);
+      AssertFatal((beta_RI>15)||(beta_RI<2),"beta_ri must be in (0..13)\n");
+      break;
 
-      case 'P':
-        dump_perf=1;
-        opp_enabled=1;
-        break;
+    case 'P':
+      dump_perf=1;
+      opp_enabled=1;
+      break;
 
-      default:
-        printf("Wrong option\n");
-        exit(1);
-        break;
+    default:
+      printf("Wrong option: %s\n",long_options[option_index].name);
+      exit(1);
+      break;
     }
   }
 
@@ -694,34 +612,12 @@ int main(int argc, char **argv) {
     exit(1);
   }
 
-  paramdef_t *ptr=options ;
-
-  for( ptr=options; ptr->optname[0]!=0; ptr++) {
-    char varText[256]="need specific display";
 
-    if (ptr->voidptr != NULL) {
-      if ( (ptr->paramflags & PARAMFLAG_BOOL) )
-        strcpy(varText, *(bool *)ptr->iptr ? "True": "False" );
-      else  switch (ptr->type) {
-          case TYPE_INT:
-            sprintf(varText,"%d",*ptr->iptr);
-            break;
-
-          case TYPE_DOUBLE:
-            sprintf(varText,"%.2f",*ptr->dblptr);
-            break;
-
-          default:
-            printf("not decoded type\n");
-            exit(1);
-        }
-    }
-
-    printf("Option: %20s set to %s\n",ptr->optname, varText);
-
-    if (verbose)
-      printf("%s\n",ptr->helpstr);
-  }
+  if (help || verbose )
+     display_options_values(options, true);
+  if (help)
+    exit(0);
+  
   set_parallel_conf("PARALLEL_RU_L1_TRX_SPLIT");
   set_worker_conf("WORKER_ENABLE");
   RC.nb_L1_inst = 1;
diff --git a/openair2/COMMON/gtpv1_u_messages_types.h b/openair2/COMMON/gtpv1_u_messages_types.h
index 0118a78f6d9f43652414f7c298351c14018d1d96..c398b55e3ef2fc40d2bb21946c0d9fb68ff2751b 100644
--- a/openair2/COMMON/gtpv1_u_messages_types.h
+++ b/openair2/COMMON/gtpv1_u_messages_types.h
@@ -22,10 +22,10 @@
 #ifndef GTPV1_U_MESSAGES_TYPES_H_
 #define GTPV1_U_MESSAGES_TYPES_H_
 
-#include "asn_constant.h"
+#include "LTE_asn_constant.h"
 
 
-#define GTPV1U_MAX_BEARERS_PER_UE max_val_DRB_Identity
+#define GTPV1U_MAX_BEARERS_PER_UE max_val_LTE_DRB_Identity
 
 #define GTPV1U_ENB_UPDATE_TUNNEL_REQ(mSGpTR)  (mSGpTR)->ittiMsg.Gtpv1uUpdateTunnelReq
 #define GTPV1U_ENB_UPDATE_TUNNEL_RESP(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uUpdateTunnelResp
diff --git a/openair2/COMMON/mac_rrc_primitives.h b/openair2/COMMON/mac_rrc_primitives.h
index d902de15d9f2b51bbeb2db9e028dfa5324f239b8..014122023530eabb6eca70c9c1f2f3b405fc83b8 100644
--- a/openair2/COMMON/mac_rrc_primitives.h
+++ b/openair2/COMMON/mac_rrc_primitives.h
@@ -30,13 +30,13 @@
 #include "COMMON/platform_types.h"
 #include "COMMON/platform_constants.h"
 
-#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#include "MeasGapConfig.h"
-#include "TDD-Config.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "MBSFN-AreaInfoList-r9.h"
-#include "MBSFN-SubframeConfigList.h"
+#include "LTE_RadioResourceConfigCommonSIB.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#include "LTE_MeasGapConfig.h"
+#include "LTE_TDD-Config.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_MBSFN-AreaInfoList-r9.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
 #endif
 //#include "rrm_config_structs.h"
 //#include "platform_types.h"
@@ -347,25 +347,25 @@ typedef struct {
   void (*pdcp_data_req)(module_id_t, rb_id_t, sdu_size_t, char*);
   signed int (*rrc_rlc_config_req)(unsigned int, unsigned int, unsigned int, unsigned int, rlc_info_t );
   int (*rrc_mac_config_req)(uint8_t Mod_id,uint8_t eNB_flag,uint8_t UE_id,uint8_t eNB_index,
-                            RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
-                            struct PhysicalConfigDedicated *physicalConfigDedicated,
-                            MAC_MainConfig_t *mac_MainConfig,
+                            LTE_RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
+                            struct LTE_PhysicalConfigDedicated *physicalConfigDedicated,
+                            LTE_MAC_MainConfig_t *mac_MainConfig,
                             long logicalChannelIdentity,
-                            LogicalChannelConfig_t *logicalChannelConfig,
-                            MeasGapConfig_t *measGapConfig,
-                            TDD_Config_t *tdd_Config,
+                            LTE_LogicalChannelConfig_t *logicalChannelConfig,
+                            LTE_MeasGapConfig_t *measGapConfig,
+                            LTE_TDD_Config_t *tdd_Config,
                             uint8_t *SIwindowsize,
                             uint16_t *SIperiod
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
                             ,
                             MBMS_flag_t MBMS_Flag,
-                            struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList,
-                            MBSFN_AreaInfoList_r9_t *mbsfn_AreaInfoList,
-                            struct PMCH_InfoList_r9 *pmch_InfoList
+                            struct LTE_MBSFN_SubframeConfigList *mbsfn_SubframeConfigList,
+                            LTE_MBSFN_AreaInfoList_r9_t *mbsfn_AreaInfoList,
+                            struct LTE_PMCH_InfoList_r9 *pmch_InfoList
 #endif
                            );
   unsigned int (*mac_rlc_data_req)(module_id_t, unsigned int, const unsigned int,char*
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                   ,uint32_t
                                   ,uint32_t
 #endif
@@ -373,7 +373,7 @@ typedef struct {
   void (*mac_rlc_data_ind)(module_id_t, logical_chan_id_t, char*, tb_size_t, num_tb_t, crc_t* );
   mac_rlc_status_resp_t (*mac_rlc_status_ind)     (module_id_t enb_mod_idP, module_id_t ue_mod_idP, frame_t frameP, sub_frame_t subframeP, eNB_flag_t eNB_flagP, MBMS_flag_t MBMS_flagP,
       logical_chan_id_t channel_idP, tb_size_t tb_sizeP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       ,uint32_t sourceL2Id
       ,uint32_t destinationL2Id
 #endif
diff --git a/openair2/COMMON/platform_constants.h b/openair2/COMMON/platform_constants.h
index 9aa912a01eda2a49dcf08d21285a56f996d41d80..b00e08588af444c807fd0edb346634f6e9209984 100644
--- a/openair2/COMMON/platform_constants.h
+++ b/openair2/COMMON/platform_constants.h
@@ -29,7 +29,7 @@
  ***************************************************************************/
 
 #ifdef CMAKER
-#include "asn_constant.h"
+#include "LTE_asn_constant.h"
 #else
 #include "RRC/LTE/MESSAGES/asn1_constants.h"
 #endif
@@ -87,19 +87,19 @@
 #define MAX_MANAGED_ENB_PER_MOBILE  2
 
 ///NB-IOT
-#define NB_RB_MAX_NB_IOT  (maxDRB_NB_r13 + 3) //MP: NB_IoT --> 2(DRB)+3(SRBs - 2 is not used) = 5
+#define NB_RB_MAX_NB_IOT  (LTE_maxDRB_NB_r13 + 3) //MP: NB_IoT --> 2(DRB)+3(SRBs - 2 is not used) = 5
 
 
 #define DEFAULT_RAB_ID 1
 
-#define NB_RB_MAX      (maxDRB + 3) /* was 11, now 14, maxDRB comes from asn1_constants.h, + 3 because of 3 SRB, one invisible id 0, then id 1 and 2 */
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount)
+#define NB_RB_MAX      (LTE_maxDRB + 3) /* was 11, now 14, maxDRB comes from asn1_constants.h, + 3 because of 3 SRB, one invisible id 0, then id 1 and 2 */
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#define NB_RB_MBMS_MAX (LTE_maxSessionPerPMCH*LTE_maxServiceCount)
 #else
 // Do not allocate unused memory
 #define NB_RB_MBMS_MAX 1
 #endif
-#define NB_RAB_MAX     maxDRB       /* was 8, now 11 */
+#define NB_RAB_MAX     LTE_maxDRB       /* was 8, now 11 */
 #define RAB_SHIFT1     9
 #define RAB_SHIFT2     3
 #define RAB_OFFSET     0x0007
diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h
index 12a06f7c659838334b8ff87f175840810f16c0ef..aeacd09fdee771c23e090cd09b4a776cc3edeaf0 100644
--- a/openair2/COMMON/rrc_messages_types.h
+++ b/openair2/COMMON/rrc_messages_types.h
@@ -33,26 +33,26 @@
 #include "rrc_types.h"
 #include "s1ap_messages_types.h"
 #ifdef CMAKER
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 #else
-#include "RRC/LTE/MESSAGES/SystemInformationBlockType2.h"
+#include "RRC/LTE/MESSAGES/LTE_SystemInformationBlockType2.h"
 #endif
-#include "SL-OffsetIndicator-r12.h"
-#include "SubframeBitmapSL-r12.h"
-#include "SL-CP-Len-r12.h"
-#include "SL-PeriodComm-r12.h"
-#include "SL-DiscResourcePool-r12.h"
+#include "LTE_SL-OffsetIndicator-r12.h"
+#include "LTE_SubframeBitmapSL-r12.h"
+#include "LTE_SL-CP-Len-r12.h"
+#include "LTE_SL-PeriodComm-r12.h"
+#include "LTE_SL-DiscResourcePool-r12.h"
 
 
 //-------------------------------------------------------------------------------------------//
 // Messages for RRC logging
 #if defined(DISABLE_ITTI_XER_PRINT)
-#include "BCCH-DL-SCH-Message.h"
-#include "DL-CCCH-Message.h"
-#include "DL-DCCH-Message.h"
-#include "UE-EUTRA-Capability.h"
-#include "UL-CCCH-Message.h"
-#include "UL-DCCH-Message.h"
+#include "LTE_BCCH-DL-SCH-Message.h"
+#include "LTE_DL-CCCH-Message.h"
+#include "LTE_DL-DCCH-Message.h"
+#include "LTE_UE-EUTRA-Capability.h"
+#include "LTE_UL-CCCH-Message.h"
+#include "LTE_UL-DCCH-Message.h"
 
 typedef BCCH_DL_SCH_Message_t   RrcDlBcchMessage;
 typedef DL_CCCH_Message_t       RrcDlCcchMessage;
@@ -124,7 +124,7 @@ typedef struct RrcConfigurationReq_s {
   long                    pucch_delta_shift[MAX_NUM_CCs];
   long                    pucch_nRB_CQI[MAX_NUM_CCs];
   long                    pucch_nCS_AN[MAX_NUM_CCs];
-//#if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
+//#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
   long                    pucch_n1_AN[MAX_NUM_CCs];
 //#endif
   long                    pdsch_referenceSignalPower[MAX_NUM_CCs];
@@ -149,16 +149,16 @@ typedef struct RrcConfigurationReq_s {
   long                    pucch_p0_Nominal[MAX_NUM_CCs];
   long                    msg3_delta_Preamble[MAX_NUM_CCs];
   long                    ul_CyclicPrefixLength[MAX_NUM_CCs];
-  e_DeltaFList_PUCCH__deltaF_PUCCH_Format1                    pucch_deltaF_Format1[MAX_NUM_CCs];
-  e_DeltaFList_PUCCH__deltaF_PUCCH_Format1b                   pucch_deltaF_Format1b[MAX_NUM_CCs];
-  e_DeltaFList_PUCCH__deltaF_PUCCH_Format2                    pucch_deltaF_Format2[MAX_NUM_CCs];
-  e_DeltaFList_PUCCH__deltaF_PUCCH_Format2a                   pucch_deltaF_Format2a[MAX_NUM_CCs];
-  e_DeltaFList_PUCCH__deltaF_PUCCH_Format2b                   pucch_deltaF_Format2b[MAX_NUM_CCs];
+  e_LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1                pucch_deltaF_Format1[MAX_NUM_CCs];
+  e_LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b               pucch_deltaF_Format1b[MAX_NUM_CCs];
+  e_LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2                pucch_deltaF_Format2[MAX_NUM_CCs];
+  e_LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a               pucch_deltaF_Format2a[MAX_NUM_CCs];
+  e_LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b               pucch_deltaF_Format2b[MAX_NUM_CCs];
   long                    rach_numberOfRA_Preambles[MAX_NUM_CCs];
   BOOLEAN_t               rach_preamblesGroupAConfig[MAX_NUM_CCs];
   long                    rach_sizeOfRA_PreamblesGroupA[MAX_NUM_CCs];
   long                    rach_messageSizeGroupA[MAX_NUM_CCs];
-  e_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB                    rach_messagePowerOffsetGroupB[MAX_NUM_CCs];
+  e_LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB                rach_messagePowerOffsetGroupB[MAX_NUM_CCs];
   long                    rach_powerRampingStep[MAX_NUM_CCs];
   long                    rach_preambleInitialReceivedTargetPower[MAX_NUM_CCs];
   long                    rach_preambleTransMax[MAX_NUM_CCs];
@@ -179,45 +179,45 @@ typedef struct RrcConfigurationReq_s {
 
   //TTN - for D2D
   //SIB18
-  e_SL_CP_Len_r12                rxPool_sc_CP_Len[MAX_NUM_CCs];
-  e_SL_PeriodComm_r12            rxPool_sc_Period[MAX_NUM_CCs];
-  e_SL_CP_Len_r12                rxPool_data_CP_Len[MAX_NUM_CCs];
+  e_LTE_SL_CP_Len_r12            rxPool_sc_CP_Len[MAX_NUM_CCs];
+  e_LTE_SL_PeriodComm_r12        rxPool_sc_Period[MAX_NUM_CCs];
+  e_LTE_SL_CP_Len_r12            rxPool_data_CP_Len[MAX_NUM_CCs];
   long                           rxPool_ResourceConfig_prb_Num[MAX_NUM_CCs];
   long                           rxPool_ResourceConfig_prb_Start[MAX_NUM_CCs];
   long                           rxPool_ResourceConfig_prb_End[MAX_NUM_CCs];
-  SL_OffsetIndicator_r12_PR      rxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
+  LTE_SL_OffsetIndicator_r12_PR  rxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
   long                           rxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
-  SubframeBitmapSL_r12_PR        rxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
+  LTE_SubframeBitmapSL_r12_PR    rxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
   char*                          rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
   long                           rxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
   long                           rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];
 
   //SIB19
   //for discRxPool
-  SL_CP_Len_r12_t                discRxPool_cp_Len[MAX_NUM_CCs];
-  e_SL_DiscResourcePool_r12__discPeriod_r12                   discRxPool_discPeriod[MAX_NUM_CCs];
+  LTE_SL_CP_Len_r12_t            discRxPool_cp_Len[MAX_NUM_CCs];
+  e_LTE_SL_DiscResourcePool_r12__discPeriod_r12               discRxPool_discPeriod[MAX_NUM_CCs];
   long                           discRxPool_numRetx[MAX_NUM_CCs];
   long                           discRxPool_numRepetition[MAX_NUM_CCs];
   long                           discRxPool_ResourceConfig_prb_Num[MAX_NUM_CCs];
   long                           discRxPool_ResourceConfig_prb_Start[MAX_NUM_CCs];
   long                           discRxPool_ResourceConfig_prb_End[MAX_NUM_CCs];
-  SL_OffsetIndicator_r12_PR      discRxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
+  LTE_SL_OffsetIndicator_r12_PR  discRxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
   long                           discRxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
-  SubframeBitmapSL_r12_PR        discRxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
+  LTE_SubframeBitmapSL_r12_PR    discRxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
   char*                          discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
   long                           discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
   long                           discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];
   //for discRxPoolPS
-  SL_CP_Len_r12_t                discRxPoolPS_cp_Len[MAX_NUM_CCs];
-  e_SL_DiscResourcePool_r12__discPeriod_r12                   discRxPoolPS_discPeriod[MAX_NUM_CCs];
+  LTE_SL_CP_Len_r12_t            discRxPoolPS_cp_Len[MAX_NUM_CCs];
+  e_LTE_SL_DiscResourcePool_r12__discPeriod_r12                   discRxPoolPS_discPeriod[MAX_NUM_CCs];
   long                           discRxPoolPS_numRetx[MAX_NUM_CCs];
   long                           discRxPoolPS_numRepetition[MAX_NUM_CCs];
   long                           discRxPoolPS_ResourceConfig_prb_Num[MAX_NUM_CCs];
   long                           discRxPoolPS_ResourceConfig_prb_Start[MAX_NUM_CCs];
   long                           discRxPoolPS_ResourceConfig_prb_End[MAX_NUM_CCs];
-  SL_OffsetIndicator_r12_PR      discRxPoolPS_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
+  LTE_SL_OffsetIndicator_r12_PR  discRxPoolPS_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
   long                           discRxPoolPS_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
-  SubframeBitmapSL_r12_PR        discRxPoolPS_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
+  LTE_SubframeBitmapSL_r12_PR    discRxPoolPS_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
   char*                          discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
   long                           discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
   long                           discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];
diff --git a/openair2/COMMON/x2ap_messages_types.h b/openair2/COMMON/x2ap_messages_types.h
index c74a826ff84685c88ea9a36b6226ccbf58eee166..9b744ded6b5641b13ca03ccd52e27c9a9d30584a 100644
--- a/openair2/COMMON/x2ap_messages_types.h
+++ b/openair2/COMMON/x2ap_messages_types.h
@@ -22,7 +22,7 @@
 #ifndef X2AP_MESSAGES_TYPES_H_
 #define X2AP_MESSAGES_TYPES_H_
 
-#include "PhysCellId.h"
+#include "LTE_PhysCellId.h"
 
 //-------------------------------------------------------------------------------------------//
 // Defines to access message fields.
@@ -122,7 +122,7 @@ typedef struct x2ap_lastvisitedcell_info_s {
   uint16_t mcc;
   uint16_t mnc;
   uint8_t  mnc_len;
-  PhysCellId_t target_physCellId;
+  LTE_PhysCellId_t target_physCellId;
   cell_type_t cell_type;
   uint64_t time_UE_StayedInCell;
 }x2ap_lastvisitedcell_info_t;
@@ -134,7 +134,7 @@ typedef struct x2ap_handover_req_s {
 
   unsigned  old_eNB_ue_s1ap_id:24;
 
-  PhysCellId_t target_physCellId;
+  LTE_PhysCellId_t target_physCellId;
 
   x2ap_gummei_t ue_gummei;
 
diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
index b79ad8841715dfcfb227f52ba9f58b9c8c30725f..7d7f48a61008608100d074492b9bf738c7ee4f5e 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
@@ -262,7 +262,7 @@ int flexran_agent_destroy_ue_state_change(Protocol__FlexranMessage *msg) {
 }
 
 /* this is called by RRC as a part of rrc xface  . The controller previously requested  this*/ 
-void flexran_trigger_rrc_measurements (mid_t mod_id, MeasResults_t*  measResults) {
+void flexran_trigger_rrc_measurements (mid_t mod_id, LTE_MeasResults_t*  measResults) {
 
   //int i;
   // int                   priority = 0; // Warning Preventing
diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h
index 780976893e575f32c22edcf8066191e47d981ed3..b6cb674ce985085efb617a178548eac1c1a23d9d 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h
+++ b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h
@@ -55,7 +55,7 @@ int flexran_agent_destroy_ue_state_change(Protocol__FlexranMessage *msg);
 // void flexran_agent_send_update_rrc_stats(mid_t mod_id);
 
 /* this is called by RRC as a part of rrc xface  . The controller previously requested  this*/ 
-void flexran_trigger_rrc_measurements (mid_t mod_id, MeasResults_t *);
+void flexran_trigger_rrc_measurements (mid_t mod_id, LTE_MeasResults_t *);
 
 /* Statistics reply protocol message constructor and destructor */
 int flexran_agent_rrc_stats_reply(mid_t mod_id, const report_config_t *report_config, Protocol__FlexUeStatsReport **ue_report, Protocol__FlexCellStatsReport **cell_report);
diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h
index 8c336abef1a54e3acf3e2f571251d697a595a373..5f6432732f486e1842068fa5b33e76e8a548f26c 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h
+++ b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h
@@ -34,7 +34,7 @@
 #include "flexran_agent_defs.h"
 #include "flexran.pb-c.h"
 #include "header.pb-c.h"
-#include "MeasResults.h"
+#include "LTE_MeasResults.h"
 
 #define RINGBUFFER_SIZE 100
 
@@ -62,7 +62,7 @@ typedef struct {
   void (*flexran_agent_notify_ue_state_change)(mid_t mod_id, uint32_t rnti,
                  uint8_t state_change);
 
-  void (*flexran_trigger_rrc_measurements)(mid_t mod_id, MeasResults_t*  measResults);
+  void (*flexran_trigger_rrc_measurements)(mid_t mod_id, LTE_MeasResults_t*  measResults);
   
 } AGENT_RRC_xface;
 
diff --git a/openair2/ENB_APP/RRC_config_tools.c b/openair2/ENB_APP/RRC_config_tools.c
index c7c75c13d4314c2969ce8d11e6fe5da28fe0cd8e..e778439d3d2420c887bd6605891bb62c06ff78aa 100644
--- a/openair2/ENB_APP/RRC_config_tools.c
+++ b/openair2/ENB_APP/RRC_config_tools.c
@@ -40,11 +40,11 @@
 #   include "sctp_eNB_task.h"
 # endif
 #endif
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 #include "common/config/config_userapi.h"
 #include "RRC_config_tools.h"
-#include "DL-GapConfig-NB-r13.h"
-#include "NPRACH-Parameters-NB-r13.h"
+#include "LTE_DL-GapConfig-NB-r13.h"
+#include "LTE_NPRACH-Parameters-NB-r13.h"
 
 static const eutra_band_t eutra_bands[] = {
   { 1, 1920    * MHz, 1980    * MHz, 2110    * MHz, 2170    * MHz, FDD},
diff --git a/openair2/ENB_APP/RRC_paramsvalues.h b/openair2/ENB_APP/RRC_paramsvalues.h
index 06fee0e172515ed105adb6dc54fa5d808af07491..cfab58b451f1677848289309162fc47728c8100e 100644
--- a/openair2/ENB_APP/RRC_paramsvalues.h
+++ b/openair2/ENB_APP/RRC_paramsvalues.h
@@ -68,27 +68,27 @@
 #define NRBDL_OKVALUES                                          {6,15,25,50,75,100}
 
 #define UETIMER_T300_OKVALUES                                   {100,200,300,400,600,1000,1500,2000}
-#define UETT300(A)                                              UE_TimersAndConstants__t300_ ## A
+#define UETT300(A)                                              LTE_UE_TimersAndConstants__t300_ ## A
 #define UETIMER_T300_MODVALUES                                  { UETT300(ms100), UETT300(ms200),UETT300(ms300),UETT300(ms400),UETT300(ms600),UETT300(ms1000),UETT300(ms1500),UETT300(ms2000)}           		
 
 #define UETIMER_T301_OKVALUES                                   {100,200,300,400,600,1000,1500,2000}
-#define UETT301(A)                                              UE_TimersAndConstants__t301_ ## A
+#define UETT301(A)                                              LTE_UE_TimersAndConstants__t301_ ## A
 #define UETIMER_T301_MODVALUES                                  { UETT301(ms100), UETT301(ms200),UETT301(ms300),UETT301(ms400),UETT301(ms600),UETT301(ms1000),UETT301(ms1500),UETT301(ms2000)}
 
 #define UETIMER_T310_OKVALUES                                   {0,50,100,200,500,1000,2000}
-#define UETT310(A)                                              UE_TimersAndConstants__t310_ ## A
+#define UETT310(A)                                              LTE_UE_TimersAndConstants__t310_ ## A
 #define UETIMER_T310_MODVALUES                                  { UETT310(ms0), UETT310(ms50),UETT310(ms100),UETT310(ms200),UETT310(ms500),UETT310(ms1000),UETT310(ms2000)}
 
 #define UETIMER_T311_OKVALUES                                   {1000,3110,5000,10000,15000,20000,31100}
-#define UETT311(A)                                              UE_TimersAndConstants__t311_ ## A
+#define UETT311(A)                                              LTE_UE_TimersAndConstants__t311_ ## A
 #define UETIMER_T311_MODVALUES                                  { UETT311(ms1000), UETT311(ms3000),UETT311(ms5000),UETT311(ms10000),UETT311(ms15000),UETT311(ms20000),UETT311(ms30000)}
 
 #define UETIMER_N310_OKVALUES                                   {1,2,3,4,6,8,10,20}
-#define UETN310(A)                                              UE_TimersAndConstants__n310_ ## A
+#define UETN310(A)                                              LTE_UE_TimersAndConstants__n310_ ## A
 #define UETIMER_N310_MODVALUES                                  { UETN310(n1), UETN310(n2),UETN310(n3),UETN310(n4),UETN310(n6),UETN310(n8),UETN310(n10),UETN310(n20)}
 
 #define UETIMER_N311_OKVALUES                                   {1,2,3,4,5,6,8,10}
-#define UETN311(A)                                              UE_TimersAndConstants__n311_ ## A
+#define UETN311(A)                                              LTE_UE_TimersAndConstants__n311_ ## A
 #define UETIMER_N311_MODVALUES                                  { UETN311(n1), UETN311(n2),UETN311(n3),UETN311(n4),UETN311(n5),UETN311(n6),UETN311(n8),UETN311(n10)}
 
 #endif
diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index 036a4cdd91a8c9cd9454e1718bf9e68d9f014752..d9dedc8e170b3f5860137ce0b081bb7f49481915 100644
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -45,7 +45,7 @@
 #endif
 #endif
 #include "sctp_default_values.h"
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 #include "LAYER2/MAC/mac_extern.h"
 #include "LAYER2/MAC/mac_proto.h"
 #include "PHY/phy_extern.h"
@@ -409,7 +409,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
   int32_t     pucch_delta_shift             = 0;
   int32_t     pucch_nRB_CQI                 = 0;
   int32_t     pucch_nCS_AN                  = 0;
-  //#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  //#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   int32_t     pucch_n1_AN                   = 0;
   //#endif
   int32_t     pdsch_referenceSignalPower    = 0;
@@ -568,7 +568,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
     // search if in active list
 
     for (k=0; k <num_enbs ; k++) {
-      if (strcmp(ENBSParams[ENB_ACTIVE_ENBS_IDX].strlistptr[k], *(ENBParamList.paramarray[i][ENB_ENB_NAME_IDX].strptr) )== 0) {
+      if (strcmp(ENBSParams[ENB_ACTIVE_ENBS_IDX].strlistptr[k], *(ENBParamList.paramarray[i][ENB_ENB_NAME_IDX].strptr)) == 0) {
         char enbpath[MAX_OPTNAME_SIZE + 8];
         sprintf(enbpath,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k);
         paramdef_t PLMNParams[] = PLMNPARAMS_DESC;
@@ -622,13 +622,13 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             //printf("Component carrier %d\n",component_carrier);
             nb_cc++;
             RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config;
-            AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6,
+            AssertFatal (tdd_config <= LTE_TDD_Config__subframeAssignment_sa6,
                          "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!",
-                         RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6);
+                         RC.config_file_name, i, tdd_config, LTE_TDD_Config__subframeAssignment_sa6);
             RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s;
-            AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8,
+            AssertFatal (tdd_config_s <= LTE_TDD_Config__specialSubframePatterns_ssp8,
                          "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!",
-                         RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8);
+                         RC.config_file_name, i, tdd_config_s, LTE_TDD_Config__specialSubframePatterns_ssp8);
 
             if (!prefix_type)
               AssertFatal (0,
@@ -644,7 +644,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            RC.config_file_name, i, prefix_type);
             }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
             if (!pbch_repetition)
               AssertFatal (0,
@@ -691,13 +691,13 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             }
 
             RRC_CONFIGURATION_REQ (msg_p).tdd_config[j] = tdd_config;
-            AssertFatal (tdd_config <= TDD_Config__subframeAssignment_sa6,
+            AssertFatal (tdd_config <= LTE_TDD_Config__subframeAssignment_sa6,
                          "Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!",
-                         RC.config_file_name, i, tdd_config, TDD_Config__subframeAssignment_sa6);
+                         RC.config_file_name, i, tdd_config, LTE_TDD_Config__subframeAssignment_sa6);
             RRC_CONFIGURATION_REQ (msg_p).tdd_config_s[j] = tdd_config_s;
-            AssertFatal (tdd_config_s <= TDD_Config__specialSubframePatterns_ssp8,
+            AssertFatal (tdd_config_s <= LTE_TDD_Config__specialSubframePatterns_ssp8,
                          "Failed to parse eNB configuration file %s, enb %d illegal tdd_config_s %d (should be 0-%d)!",
-                         RC.config_file_name, i, tdd_config_s, TDD_Config__specialSubframePatterns_ssp8);
+                         RC.config_file_name, i, tdd_config_s, LTE_TDD_Config__specialSubframePatterns_ssp8);
 
             if (!prefix_type)
               AssertFatal (0,
@@ -795,7 +795,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n",
                            RC.config_file_name, i, pucch_nCS_AN);
 
-            //#if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
+            //#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
             RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[j] = pucch_n1_AN;
 
             if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047))
@@ -830,9 +830,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n",
                            RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE);
             else if (strcmp(pusch_hoppingMode,"interSubFrame")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = LTE_PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame;
             }  else if (strcmp(pusch_hoppingMode,"intraAndInterSubFrame")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_hoppingMode[j] = LTE_PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n",
@@ -899,22 +899,22 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            RC.config_file_name, i, pusch_nDMRS1);
 
             if (strcmp(phich_duration,"NORMAL")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_normal;
+              RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = LTE_PHICH_Config__phich_Duration_normal;
             } else if (strcmp(phich_duration,"EXTENDED")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = PHICH_Config__phich_Duration_extended;
+              RRC_CONFIGURATION_REQ (msg_p).phich_duration[j] = LTE_PHICH_Config__phich_Duration_extended;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n",
                            RC.config_file_name, i, phich_duration);
 
             if (strcmp(phich_resource,"ONESIXTH")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_oneSixth ;
+              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = LTE_PHICH_Config__phich_Resource_oneSixth ;
             } else if (strcmp(phich_resource,"HALF")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_half;
+              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = LTE_PHICH_Config__phich_Resource_half;
             } else if (strcmp(phich_resource,"ONE")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_one;
+              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = LTE_PHICH_Config__phich_Resource_one;
             } else if (strcmp(phich_resource,"TWO")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = PHICH_Config__phich_Resource_two;
+              RRC_CONFIGURATION_REQ (msg_p).phich_resource[j] = LTE_PHICH_Config__phich_Resource_two;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n",
@@ -973,45 +973,45 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n",
                            RC.config_file_name, i, pusch_p0_Nominal);
 
-#if (RRC_VERSION <= MAKE_VERSION(12, 0, 0))
+#if (LTE_RRC_VERSION <= MAKE_VERSION(12, 0, 0))
 
             if (strcmp(pusch_alpha,"AL0")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al0;
             } else if (strcmp(pusch_alpha,"AL04")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al04;
             } else if (strcmp(pusch_alpha,"AL05")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al05;
             } else if (strcmp(pusch_alpha,"AL06")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al06;
             } else if (strcmp(pusch_alpha,"AL07")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al07;
             } else if (strcmp(pusch_alpha,"AL08")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al08;
             } else if (strcmp(pusch_alpha,"AL09")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al09;
             } else if (strcmp(pusch_alpha,"AL1")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_UplinkPowerControlCommon__alpha_al1;
             }
 
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(12, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(12, 0, 0))
 
             if (strcmp(pusch_alpha,"AL0")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al0;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al0;
             } else if (strcmp(pusch_alpha,"AL04")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al04;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al04;
             } else if (strcmp(pusch_alpha,"AL05")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al05;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al05;
             } else if (strcmp(pusch_alpha,"AL06")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al06;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al06;
             } else if (strcmp(pusch_alpha,"AL07")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al07;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al07;
             } else if (strcmp(pusch_alpha,"AL08")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al08;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al08;
             } else if (strcmp(pusch_alpha,"AL09")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al09;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al09;
             } else if (strcmp(pusch_alpha,"AL1")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = Alpha_r12_al1;
+              RRC_CONFIGURATION_REQ (msg_p).pusch_alpha[j] = LTE_Alpha_r12_al1;
             }
 
 #endif
@@ -1035,57 +1035,57 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            RC.config_file_name, i, msg3_delta_Preamble);
 
             if (strcmp(pucch_deltaF_Format1,"deltaF_2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2;
             } else if (strcmp(pucch_deltaF_Format1,"deltaF0")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0;
             } else if (strcmp(pucch_deltaF_Format1,"deltaF2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n",
                            RC.config_file_name, i, pucch_deltaF_Format1);
 
             if (strcmp(pucch_deltaF_Format1b,"deltaF1")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1;
             } else if (strcmp(pucch_deltaF_Format1b,"deltaF3")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3;
             } else if (strcmp(pucch_deltaF_Format1b,"deltaF5")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format1b[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n",
                            RC.config_file_name, i, pucch_deltaF_Format1b);
 
             if (strcmp(pucch_deltaF_Format2,"deltaF_2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2;
             } else if (strcmp(pucch_deltaF_Format2,"deltaF0")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0;
             } else if (strcmp(pucch_deltaF_Format2,"deltaF1")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1;
             } else if (strcmp(pucch_deltaF_Format2,"deltaF2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n",
                            RC.config_file_name, i, pucch_deltaF_Format2);
 
             if (strcmp(pucch_deltaF_Format2a,"deltaF_2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2;
             } else if (strcmp(pucch_deltaF_Format2a,"deltaF0")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0;
             } else if (strcmp(pucch_deltaF_Format2a,"deltaF2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2a[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n",
                            RC.config_file_name, i, pucch_deltaF_Format2a);
 
             if (strcmp(pucch_deltaF_Format2b,"deltaF_2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2;
             } else if (strcmp(pucch_deltaF_Format2b,"deltaF0")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0;
             } else if (strcmp(pucch_deltaF_Format2b,"deltaF2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2;
+              RRC_CONFIGURATION_REQ (msg_p).pucch_deltaF_Format2b[j] = LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n",
@@ -1109,19 +1109,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
               switch (rach_messageSizeGroupA) {
                 case 56:
-                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56;
+                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56;
                   break;
 
                 case 144:
-                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144;
+                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144;
                   break;
 
                 case 208:
-                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208;
+                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208;
                   break;
 
                 case 256:
-                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256;
+                  RRC_CONFIGURATION_REQ (msg_p).rach_messageSizeGroupA[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256;
                   break;
 
                 default:
@@ -1132,21 +1132,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
               }
 
               if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15;
               } else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) {
-                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18;
+                RRC_CONFIGURATION_REQ (msg_p).rach_messagePowerOffsetGroupB[j] = LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18;
               } else
                 AssertFatal (0,
                              "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n",
@@ -1173,95 +1173,95 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            RC.config_file_name, i, rach_powerRampingStep);
 
             switch (rach_preambleTransMax) {
-#if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(14, 0, 0))
 
               case 3:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3;
                 break;
 
               case 4:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4;
                 break;
 
               case 5:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5;
                 break;
 
               case 6:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6;
                 break;
 
               case 7:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7;
                 break;
 
               case 8:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8;
                 break;
 
               case 10:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10;
                 break;
 
               case 20:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20;
                 break;
 
               case 50:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50;
                 break;
 
               case 100:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100;
                 break;
 
               case 200:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200;
                 break;
 #else
 
               case 3:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n3;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n3;
                 break;
 
               case 4:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n4;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n4;
                 break;
 
               case 5:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n5;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n5;
                 break;
 
               case 6:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n6;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n6;
                 break;
 
               case 7:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n7;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n7;
                 break;
 
               case 8:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n8;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n8;
                 break;
 
               case 10:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n10;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n10;
                 break;
 
               case 20:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n20;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n20;
                 break;
 
               case 50:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n50;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n50;
                 break;
 
               case 100:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n100;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n100;
                 break;
 
               case 200:
-                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] =  PreambleTransMax_n200;
+                RRC_CONFIGURATION_REQ (msg_p).rach_preambleTransMax[j] = LTE_PreambleTransMax_n200;
                 break;
 #endif
 
@@ -1295,19 +1295,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
             switch (pcch_defaultPagingCycle) {
               case 32:
-                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf32;
+                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = LTE_PCCH_Config__defaultPagingCycle_rf32;
                 break;
 
               case 64:
-                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf64;
+                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = LTE_PCCH_Config__defaultPagingCycle_rf64;
                 break;
 
               case 128:
-                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf128;
+                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = LTE_PCCH_Config__defaultPagingCycle_rf128;
                 break;
 
               case 256:
-                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = PCCH_Config__defaultPagingCycle_rf256;
+                RRC_CONFIGURATION_REQ (msg_p).pcch_defaultPagingCycle[j] = LTE_PCCH_Config__defaultPagingCycle_rf256;
                 break;
 
               default:
@@ -1318,21 +1318,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             }
 
             if (strcmp(pcch_nB, "fourT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_fourT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_fourT;
             } else if (strcmp(pcch_nB, "twoT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_twoT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_twoT;
             } else if (strcmp(pcch_nB, "oneT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_oneT;
             } else if (strcmp(pcch_nB, "halfT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_halfT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_halfT;
             } else if (strcmp(pcch_nB, "quarterT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_quarterT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_quarterT;
             } else if (strcmp(pcch_nB, "oneEighthT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneEighthT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_oneEighthT;
             } else if (strcmp(pcch_nB, "oneSixteenthT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneSixteenthT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_oneSixteenthT;
             } else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) {
-              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = PCCH_Config__nB_oneThirtySecondT;
+              RRC_CONFIGURATION_REQ (msg_p).pcch_nB[j] = LTE_PCCH_Config__nB_oneThirtySecondT;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n",
@@ -1340,19 +1340,19 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
             switch (bcch_modificationPeriodCoeff) {
               case 2:
-                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n2;
+                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = LTE_BCCH_Config__modificationPeriodCoeff_n2;
                 break;
 
               case 4:
-                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n4;
+                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = LTE_BCCH_Config__modificationPeriodCoeff_n4;
                 break;
 
               case 8:
-                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n8;
+                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = LTE_BCCH_Config__modificationPeriodCoeff_n8;
                 break;
 
               case 16:
-                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = BCCH_Config__modificationPeriodCoeff_n16;
+                RRC_CONFIGURATION_REQ (msg_p).bcch_modificationPeriodCoeff[j] = LTE_BCCH_Config__modificationPeriodCoeff_n16;
                 break;
 
               default:
@@ -1371,31 +1371,31 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
             switch (ue_TransmissionMode) {
               case 1:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm1;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm1;
                 break;
 
               case 2:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm2;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm2;
                 break;
 
               case 3:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm3;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm3;
                 break;
 
               case 4:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm4;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm4;
                 break;
 
               case 5:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm5;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm5;
                 break;
 
               case 6:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm6;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm6;
                 break;
 
               case 7:
-                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = AntennaInfoDedicated__transmissionMode_tm7;
+                RRC_CONFIGURATION_REQ (msg_p).ue_TransmissionMode[j] = LTE_AntennaInfoDedicated__transmissionMode_tm7;
                 break;
 
               default:
@@ -1442,55 +1442,55 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             //TTN - for D2D
             //SIB18
             if (strcmp(rxPool_sc_CP_Len,"normal")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_normal;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = LTE_SL_CP_Len_r12_normal;
             } else if (strcmp(rxPool_sc_CP_Len,"extended")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = SL_CP_Len_r12_extended;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_CP_Len[j] = LTE_SL_CP_Len_r12_extended;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_CP_Len choice: normal,extended!\n",
                            RC.config_file_name, i, rxPool_sc_CP_Len);
 
             if (strcmp(rxPool_sc_Period,"sf40")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf40;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf40;
             } else if (strcmp(rxPool_sc_Period,"sf60")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf60;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf60;
             } else if (strcmp(rxPool_sc_Period,"sf70")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf70;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf70;
             } else if (strcmp(rxPool_sc_Period,"sf80")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf80;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf80;
             } else if (strcmp(rxPool_sc_Period,"sf120")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf120;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf120;
             } else if (strcmp(rxPool_sc_Period,"sf140")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf140;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf140;
             } else if (strcmp(rxPool_sc_Period,"sf160")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf160;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf160;
             } else if (strcmp(rxPool_sc_Period,"sf240")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf240;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf240;
             } else if (strcmp(rxPool_sc_Period,"sf280")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf280;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf280;
             } else if (strcmp(rxPool_sc_Period,"sf320")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_sf320;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_sf320;
             } else if (strcmp(rxPool_sc_Period,"spare6")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare6;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_spare6;
             } else if (strcmp(rxPool_sc_Period,"spare5")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare5;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_spare5;
             } else if (strcmp(rxPool_sc_Period,"spare4")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare4;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_spare4;
             } else if (strcmp(rxPool_sc_Period,"spare3")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare3;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_spare3;
             } else if (strcmp(rxPool_sc_Period,"spare2")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare2;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_spare2;
             } else if (strcmp(rxPool_sc_Period,"spare")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = SL_PeriodComm_r12_spare;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_sc_Period[j] = LTE_SL_PeriodComm_r12_spare;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_sc_Period choice: sf40,sf60,sf70,sf80,sf120,sf140,sf160,sf240,sf280,sf320,spare6,spare5,spare4,spare3,spare2,spare!\n",
                            RC.config_file_name, i, rxPool_sc_Period);
 
             if (strcmp(rxPool_data_CP_Len,"normal")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_normal;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = LTE_SL_CP_Len_r12_normal;
             } else if (strcmp(rxPool_data_CP_Len,"extended")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = SL_CP_Len_r12_extended;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_data_CP_Len[j] = LTE_SL_CP_Len_r12_extended;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_data_CP_Len choice: normal,extended!\n",
@@ -1501,11 +1501,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_prb_End[j] = rxPool_ResourceConfig_prb_End;
 
             if (strcmp(rxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_NOTHING;
             } else if (strcmp(rxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_small_r12;
             } else if (strcmp(rxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_large_r12;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n",
@@ -1514,21 +1514,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_offsetIndicator_choice[j] = rxPool_ResourceConfig_offsetIndicator_choice;
 
             if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_NOTHING;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs4_r12;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs8_r12;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs12_r12;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs16_r12;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs30_r12;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
             } else if (strcmp(rxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12;
+              RRC_CONFIGURATION_REQ (msg_p).rxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs42_r12;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n",
@@ -1540,30 +1540,30 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
             //SIB19 - for discRxPool
             if (strcmp(discRxPool_cp_Len,"normal")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_normal;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = LTE_SL_CP_Len_r12_normal;
             } else if (strcmp(discRxPool_cp_Len,"extended")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = SL_CP_Len_r12_extended;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_cp_Len[j] = LTE_SL_CP_Len_r12_extended;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_cp_Len choice: normal,extended!\n",
                            RC.config_file_name, i, discRxPool_cp_Len);
 
             if (strcmp(discRxPool_discPeriod,"rf32")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf32;
             } else if (strcmp(discRxPool_discPeriod,"rf64")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf64;
             } else if (strcmp(discRxPool_discPeriod,"rf128")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf128;
             } else if (strcmp(discRxPool_discPeriod,"rf256")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf256;
             } else if (strcmp(discRxPool_discPeriod,"rf512")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf512;
             } else if (strcmp(discRxPool_discPeriod,"rf1024")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf1024;
             } else if (strcmp(discRxPool_discPeriod,"rf16")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310;
             } else if (strcmp(discRxPool_discPeriod,"spare")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_spare;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n",
@@ -1576,11 +1576,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_prb_End[j] = discRxPool_ResourceConfig_prb_End;
 
             if (strcmp(discRxPool_ResourceConfig_offsetIndicator_present,"prNothing")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_NOTHING;
             } else if (strcmp(discRxPool_ResourceConfig_offsetIndicator_present,"prSmall")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_small_r12;
             } else if (strcmp(discRxPool_ResourceConfig_offsetIndicator_present,"prLarge")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_large_r12;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n",
@@ -1589,21 +1589,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_offsetIndicator_choice[j] = discRxPool_ResourceConfig_offsetIndicator_choice;
 
             if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prNothing")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_NOTHING;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs4")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs4_r12;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs8")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs8_r12;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs12")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs12_r12;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs16")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs16_r12;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs30")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs30_r12;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs40")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
             } else if (strcmp(discRxPool_ResourceConfig_subframeBitmap_present,"prBs42")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPool_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs42_r12;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPool_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n",
@@ -1615,30 +1615,30 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
             //SIB19 - For discRxPoolPS
             if (strcmp(discRxPoolPS_cp_Len,"normal")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_normal;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = LTE_SL_CP_Len_r12_normal;
             } else if (strcmp(discRxPoolPS_cp_Len,"extended")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = SL_CP_Len_r12_extended;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_cp_Len[j] = LTE_SL_CP_Len_r12_extended;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_cp_Len choice: normal,extended!\n",
                            RC.config_file_name, i, discRxPoolPS_cp_Len);
 
             if (strcmp(discRxPoolPS_discPeriod,"rf32")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf32;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf32;
             } else if (strcmp(discRxPoolPS_discPeriod,"rf64")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf64;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf64;
             } else if (strcmp(discRxPoolPS_discPeriod,"rf128")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf128;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf128;
             } else if (strcmp(discRxPoolPS_discPeriod,"rf256")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf256;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf256;
             } else if (strcmp(discRxPoolPS_discPeriod,"rf512")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf512;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf512;
             } else if (strcmp(discRxPoolPS_discPeriod,"rf1024")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf1024;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf1024;
             } else if (strcmp(discRxPoolPS_discPeriod,"rf16")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_rf16_v1310;
             } else if (strcmp(discRxPoolPS_discPeriod,"spare")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = SL_DiscResourcePool_r12__discPeriod_r12_spare;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_discPeriod[j] = LTE_SL_DiscResourcePool_r12__discPeriod_r12_spare;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_discPeriod choice: rf32,rf64,rf128,rf512,rf1024,rf16,spare!\n",
@@ -1651,11 +1651,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_prb_End[j] = discRxPoolPS_ResourceConfig_prb_End;
 
             if (strcmp(discRxPoolPS_ResourceConfig_offsetIndicator_present,"prNothing")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_NOTHING;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_NOTHING;
             } else if (strcmp(discRxPoolPS_ResourceConfig_offsetIndicator_present,"prSmall")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_small_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_small_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_offsetIndicator_present,"prLarge")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = SL_OffsetIndicator_r12_PR_large_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_present[j] = LTE_SL_OffsetIndicator_r12_PR_large_r12;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_offsetIndicator_present choice: prNothing,prSmal,prLarge!\n",
@@ -1664,21 +1664,21 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
             RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_offsetIndicator_choice[j] = discRxPoolPS_ResourceConfig_offsetIndicator_choice;
 
             if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prNothing")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_NOTHING;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_NOTHING;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs4")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs4_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs4_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs8")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs8_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs8_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs12")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs12_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs12_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs16")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs16_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs16_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs30")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs30_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs30_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs40")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs40_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
             } else if (strcmp(discRxPoolPS_ResourceConfig_subframeBitmap_present,"prBs42")==0) {
-              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = SubframeBitmapSL_r12_PR_bs42_r12;
+              RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_present[j] = LTE_SubframeBitmapSL_r12_PR_bs42_r12;
             } else
               AssertFatal (0,
                            "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for discRxPoolPS_ResourceConfig_subframeBitmap_present choice: prNothing,prBs4,prBs8,prBs12,prBs16,prBs30,prBs40,prBs42!\n",
@@ -1697,35 +1697,35 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
         if (npar == sizeof(SRB1Params)/sizeof(paramdef_t)) {
           switch (srb1_max_retx_threshold) {
             case 1:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t1;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t1;
               break;
 
             case 2:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t2;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t2;
               break;
 
             case 3:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t3;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t3;
               break;
 
             case 4:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t4;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t4;
               break;
 
             case 6:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t6;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t6;
               break;
 
             case 8:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t8;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
               break;
 
             case 16:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t16;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t16;
               break;
 
             case 32:
-              rrc->srb1_max_retx_threshold = UL_AM_RLC__maxRetxThreshold_t32;
+              rrc->srb1_max_retx_threshold = LTE_UL_AM_RLC__maxRetxThreshold_t32;
               break;
 
             default:
@@ -1736,36 +1736,36 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
           switch (srb1_poll_pdu) {
             case 4:
-              rrc->srb1_poll_pdu = PollPDU_p4;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p4;
               break;
 
             case 8:
-              rrc->srb1_poll_pdu = PollPDU_p8;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p8;
               break;
 
             case 16:
-              rrc->srb1_poll_pdu = PollPDU_p16;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p16;
               break;
 
             case 32:
-              rrc->srb1_poll_pdu = PollPDU_p32;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p32;
               break;
 
             case 64:
-              rrc->srb1_poll_pdu = PollPDU_p64;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p64;
               break;
 
             case 128:
-              rrc->srb1_poll_pdu = PollPDU_p128;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p128;
               break;
 
             case 256:
-              rrc->srb1_poll_pdu = PollPDU_p256;
+              rrc->srb1_poll_pdu = LTE_PollPDU_p256;
               break;
 
             default:
               if (srb1_poll_pdu >= 10000)
-                rrc->srb1_poll_pdu = PollPDU_pInfinity;
+                rrc->srb1_poll_pdu = LTE_PollPDU_pInfinity;
               else
                 AssertFatal (0,
                              "Bad config value when parsing eNB configuration file %s, enb %d  srb1_poll_pdu %u!\n",
@@ -1776,64 +1776,64 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
           switch (srb1_poll_byte) {
             case 25:
-              rrc->srb1_poll_byte = PollByte_kB25;
+              rrc->srb1_poll_byte = LTE_PollByte_kB25;
               break;
 
             case 50:
-              rrc->srb1_poll_byte = PollByte_kB50;
+              rrc->srb1_poll_byte = LTE_PollByte_kB50;
               break;
 
             case 75:
-              rrc->srb1_poll_byte = PollByte_kB75;
+              rrc->srb1_poll_byte = LTE_PollByte_kB75;
               break;
 
             case 100:
-              rrc->srb1_poll_byte = PollByte_kB100;
+              rrc->srb1_poll_byte = LTE_PollByte_kB100;
               break;
 
             case 125:
-              rrc->srb1_poll_byte = PollByte_kB125;
+              rrc->srb1_poll_byte = LTE_PollByte_kB125;
               break;
 
             case 250:
-              rrc->srb1_poll_byte = PollByte_kB250;
+              rrc->srb1_poll_byte = LTE_PollByte_kB250;
               break;
 
             case 375:
-              rrc->srb1_poll_byte = PollByte_kB375;
+              rrc->srb1_poll_byte = LTE_PollByte_kB375;
               break;
 
             case 500:
-              rrc->srb1_poll_byte = PollByte_kB500;
+              rrc->srb1_poll_byte = LTE_PollByte_kB500;
               break;
 
             case 750:
-              rrc->srb1_poll_byte = PollByte_kB750;
+              rrc->srb1_poll_byte = LTE_PollByte_kB750;
               break;
 
             case 1000:
-              rrc->srb1_poll_byte = PollByte_kB1000;
+              rrc->srb1_poll_byte = LTE_PollByte_kB1000;
               break;
 
             case 1250:
-              rrc->srb1_poll_byte = PollByte_kB1250;
+              rrc->srb1_poll_byte = LTE_PollByte_kB1250;
               break;
 
             case 1500:
-              rrc->srb1_poll_byte = PollByte_kB1500;
+              rrc->srb1_poll_byte = LTE_PollByte_kB1500;
               break;
 
             case 2000:
-              rrc->srb1_poll_byte = PollByte_kB2000;
+              rrc->srb1_poll_byte = LTE_PollByte_kB2000;
               break;
 
             case 3000:
-              rrc->srb1_poll_byte = PollByte_kB3000;
+              rrc->srb1_poll_byte = LTE_PollByte_kB3000;
               break;
 
             default:
               if (srb1_poll_byte >= 10000)
-                rrc->srb1_poll_byte = PollByte_kBinfinity;
+                rrc->srb1_poll_byte = LTE_PollByte_kBinfinity;
               else
                 AssertFatal (0,
                              "Bad config value when parsing eNB configuration file %s, enb %d  srb1_poll_byte %u!\n",
@@ -1862,127 +1862,127 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
           switch (srb1_timer_reordering) {
             case 0:
-              rrc->srb1_timer_reordering = T_Reordering_ms0;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms0;
               break;
 
             case 5:
-              rrc->srb1_timer_reordering = T_Reordering_ms5;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms5;
               break;
 
             case 10:
-              rrc->srb1_timer_reordering = T_Reordering_ms10;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms10;
               break;
 
             case 15:
-              rrc->srb1_timer_reordering = T_Reordering_ms15;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms15;
               break;
 
             case 20:
-              rrc->srb1_timer_reordering = T_Reordering_ms20;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms20;
               break;
 
             case 25:
-              rrc->srb1_timer_reordering = T_Reordering_ms25;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms25;
               break;
 
             case 30:
-              rrc->srb1_timer_reordering = T_Reordering_ms30;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms30;
               break;
 
             case 35:
-              rrc->srb1_timer_reordering = T_Reordering_ms35;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms35;
               break;
 
             case 40:
-              rrc->srb1_timer_reordering = T_Reordering_ms40;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms40;
               break;
 
             case 45:
-              rrc->srb1_timer_reordering = T_Reordering_ms45;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms45;
               break;
 
             case 50:
-              rrc->srb1_timer_reordering = T_Reordering_ms50;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms50;
               break;
 
             case 55:
-              rrc->srb1_timer_reordering = T_Reordering_ms55;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms55;
               break;
 
             case 60:
-              rrc->srb1_timer_reordering = T_Reordering_ms60;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms60;
               break;
 
             case 65:
-              rrc->srb1_timer_reordering = T_Reordering_ms65;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms65;
               break;
 
             case 70:
-              rrc->srb1_timer_reordering = T_Reordering_ms70;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms70;
               break;
 
             case 75:
-              rrc->srb1_timer_reordering = T_Reordering_ms75;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms75;
               break;
 
             case 80:
-              rrc->srb1_timer_reordering = T_Reordering_ms80;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms80;
               break;
 
             case 85:
-              rrc->srb1_timer_reordering = T_Reordering_ms85;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms85;
               break;
 
             case 90:
-              rrc->srb1_timer_reordering = T_Reordering_ms90;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms90;
               break;
 
             case 95:
-              rrc->srb1_timer_reordering = T_Reordering_ms95;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms95;
               break;
 
             case 100:
-              rrc->srb1_timer_reordering = T_Reordering_ms100;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms100;
               break;
 
             case 110:
-              rrc->srb1_timer_reordering = T_Reordering_ms110;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms110;
               break;
 
             case 120:
-              rrc->srb1_timer_reordering = T_Reordering_ms120;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms120;
               break;
 
             case 130:
-              rrc->srb1_timer_reordering = T_Reordering_ms130;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms130;
               break;
 
             case 140:
-              rrc->srb1_timer_reordering = T_Reordering_ms140;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms140;
               break;
 
             case 150:
-              rrc->srb1_timer_reordering = T_Reordering_ms150;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms150;
               break;
 
             case 160:
-              rrc->srb1_timer_reordering = T_Reordering_ms160;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms160;
               break;
 
             case 170:
-              rrc->srb1_timer_reordering = T_Reordering_ms170;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms170;
               break;
 
             case 180:
-              rrc->srb1_timer_reordering = T_Reordering_ms180;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms180;
               break;
 
             case 190:
-              rrc->srb1_timer_reordering = T_Reordering_ms190;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms190;
               break;
 
             case 200:
-              rrc->srb1_timer_reordering = T_Reordering_ms200;
+              rrc->srb1_timer_reordering = LTE_T_Reordering_ms200;
               break;
 
             default:
@@ -1991,12 +1991,12 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                            RC.config_file_name, i, srb1_timer_reordering);
           }
         } else {
-          rrc->srb1_timer_poll_retransmit = T_PollRetransmit_ms80;
-          rrc->srb1_timer_reordering      = T_Reordering_ms35;
-          rrc->srb1_timer_status_prohibit = T_StatusProhibit_ms0;
-          rrc->srb1_poll_pdu              = PollPDU_p4;
-          rrc->srb1_poll_byte             = PollByte_kBinfinity;
-          rrc->srb1_max_retx_threshold    = UL_AM_RLC__maxRetxThreshold_t8;
+          rrc->srb1_timer_poll_retransmit = LTE_T_PollRetransmit_ms80;
+          rrc->srb1_timer_reordering      = LTE_T_Reordering_ms35;
+          rrc->srb1_timer_status_prohibit = LTE_T_StatusProhibit_ms0;
+          rrc->srb1_poll_pdu              = LTE_PollPDU_p4;
+          rrc->srb1_poll_byte             = LTE_PollByte_kBinfinity;
+          rrc->srb1_max_retx_threshold    = LTE_UL_AM_RLC__maxRetxThreshold_t8;
         }
 
         break;
diff --git a/openair2/ENB_APP/enb_config.h b/openair2/ENB_APP/enb_config.h
index ed1b4aeaa2924dd08f49be84d5f20337b307a044..1b47a112cf5556a62f28c0927c94c21365801916 100644
--- a/openair2/ENB_APP/enb_config.h
+++ b/openair2/ENB_APP/enb_config.h
@@ -41,10 +41,10 @@
 #include "PHY/defs_eNB.h"
 #include "s1ap_messages_types.h"
 #ifdef CMAKER
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 #include "rrc_messages_types.h"
 #else
-#include "RRC/LTE/MESSAGES/SystemInformationBlockType2.h"
+#include "RRC/LTE/MESSAGES/LTE_SystemInformationBlockType2.h"
 #endif
 #include "RRC/LTE/rrc_defs.h"
 #include <intertask_interface.h>
diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h
index 524daac43d12563f6cad5b12d1eee209012fab10..576a9bf0a2abdef36f4b83f9e2e25815fe5806b9 100755
--- a/openair2/ENB_APP/enb_paramdef.h
+++ b/openair2/ENB_APP/enb_paramdef.h
@@ -296,7 +296,7 @@ typedef enum {
 #define ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT                             "pucch_delta_shift"
 #define ENB_CONFIG_STRING_PUCCH_NRB_CQI                                 "pucch_nRB_CQI"
 #define ENB_CONFIG_STRING_PUCCH_NCS_AN                                  "pucch_nCS_AN"
-//#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+//#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 #define ENB_CONFIG_STRING_PUCCH_N1_AN                                   "pucch_n1_AN"
 //#endif
 #define ENB_CONFIG_STRING_PDSCH_RS_EPRE                                 "pdsch_referenceSignalPower"
diff --git a/openair2/ENB_APP/flexran_agent_ran_api.c b/openair2/ENB_APP/flexran_agent_ran_api.c
index 973d322a5f30177871bad5ac6984411c447d49dd..20ab7cda507d7cc93286cfcdf4e647b1101a93b7 100644
--- a/openair2/ENB_APP/flexran_agent_ran_api.c
+++ b/openair2/ENB_APP/flexran_agent_ran_api.c
@@ -157,7 +157,7 @@ rlc_buffer_occupancy_t flexran_get_tx_queue_size(mid_t mod_id, mid_t ue_id, logi
   frame_t frame = flexran_get_current_frame(mod_id);
   sub_frame_t subframe = flexran_get_current_subframe(mod_id);
   mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(mod_id,rnti, mod_id, frame, subframe, ENB_FLAG_YES,MBMS_FLAG_NO, channel_id, 0
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                                                     );
@@ -170,7 +170,7 @@ rlc_buffer_occupancy_t flexran_get_num_pdus_buffer(mid_t mod_id, mid_t ue_id, lo
   frame_t frame = flexran_get_current_frame(mod_id);
   sub_frame_t subframe = flexran_get_current_subframe(mod_id);
   mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(mod_id,rnti, mod_id, frame, subframe, ENB_FLAG_YES,MBMS_FLAG_NO, channel_id, 0
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                                                     );
@@ -183,7 +183,7 @@ frame_t flexran_get_hol_delay(mid_t mod_id, mid_t ue_id, logical_chan_id_t chann
   frame_t frame = flexran_get_current_frame(mod_id);
   sub_frame_t subframe = flexran_get_current_subframe(mod_id);
   mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(mod_id, rnti, mod_id, frame, subframe, ENB_FLAG_YES, MBMS_FLAG_NO, channel_id, 0
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                                                     );
@@ -719,7 +719,7 @@ uint8_t flexran_get_num_pdcch_symb(mid_t mod_id, uint8_t cc_id)
  */
 
 
-TimeAlignmentTimer_t flexran_get_time_alignment_timer(mid_t mod_id, mid_t ue_id)
+LTE_TimeAlignmentTimer_t flexran_get_time_alignment_timer(mid_t mod_id, mid_t ue_id)
 {
   if (!rrc_is_present(mod_id)) return -1;
 
@@ -740,11 +740,11 @@ Protocol__FlexMeasGapConfigPattern flexran_get_meas_gap_config(mid_t mod_id, mid
 
   if (!ue_context_p) return -1;
   if (!ue_context_p->ue_context.measGapConfig) return -1;
-  if (ue_context_p->ue_context.measGapConfig->present != MeasGapConfig_PR_setup) return -1;
+  if (ue_context_p->ue_context.measGapConfig->present != LTE_MeasGapConfig_PR_setup) return -1;
   switch (ue_context_p->ue_context.measGapConfig->choice.setup.gapOffset.present) {
-  case MeasGapConfig__setup__gapOffset_PR_gp0:
+  case LTE_MeasGapConfig__setup__gapOffset_PR_gp0:
     return PROTOCOL__FLEX_MEAS_GAP_CONFIG_PATTERN__FLMGCP_GP1;
-  case MeasGapConfig__setup__gapOffset_PR_gp1:
+  case LTE_MeasGapConfig__setup__gapOffset_PR_gp1:
     return PROTOCOL__FLEX_MEAS_GAP_CONFIG_PATTERN__FLMGCP_GP2;
   default:
     return PROTOCOL__FLEX_MEAS_GAP_CONFIG_PATTERN__FLMGCP_OFF;
@@ -761,11 +761,11 @@ long flexran_get_meas_gap_config_offset(mid_t mod_id, mid_t ue_id)
 
   if (!ue_context_p) return -1;
   if (!ue_context_p->ue_context.measGapConfig) return -1;
-  if (ue_context_p->ue_context.measGapConfig->present != MeasGapConfig_PR_setup) return -1;
+  if (ue_context_p->ue_context.measGapConfig->present != LTE_MeasGapConfig_PR_setup) return -1;
   switch (ue_context_p->ue_context.measGapConfig->choice.setup.gapOffset.present) {
-  case MeasGapConfig__setup__gapOffset_PR_gp0:
+  case LTE_MeasGapConfig__setup__gapOffset_PR_gp0:
     return ue_context_p->ue_context.measGapConfig->choice.setup.gapOffset.choice.gp0;
-  case MeasGapConfig__setup__gapOffset_PR_gp1:
+  case LTE_MeasGapConfig__setup__gapOffset_PR_gp1:
     return ue_context_p->ue_context.measGapConfig->choice.setup.gapOffset.choice.gp1;
   default:
     return -1;
@@ -804,7 +804,7 @@ int flexran_get_half_duplex(mid_t mod_id, mid_t ue_id)
 
   if (!ue_context_p) return -1;
   if (!ue_context_p->ue_context.UE_Capability) return -1;
-  SupportedBandListEUTRA_t *bands = &ue_context_p->ue_context.UE_Capability->rf_Parameters.supportedBandListEUTRA;
+  LTE_SupportedBandListEUTRA_t *bands = &ue_context_p->ue_context.UE_Capability->rf_Parameters.supportedBandListEUTRA;
   for (int i = 0; i < bands->list.count; i++) {
     if (bands->list.array[i]->halfDuplex > 0) return 1;
   }
@@ -976,7 +976,7 @@ BOOLEAN_t flexran_get_ack_nack_simultaneous_trans(mid_t mod_id, mid_t ue_id, uin
   return RC.rrc[mod_id]->carrier[cc_id].sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission;
 }
 
-CQI_ReportModeAperiodic_t flexran_get_aperiodic_cqi_rep_mode(mid_t mod_id,mid_t ue_id)
+LTE_CQI_ReportModeAperiodic_t flexran_get_aperiodic_cqi_rep_mode(mid_t mod_id,mid_t ue_id)
 {
   if (!rrc_is_present(mod_id)) return -1;
 
@@ -1041,9 +1041,9 @@ int flexran_get_ue_transmission_antenna(mid_t mod_id, mid_t ue_id)
   if (!ue_context_p->ue_context.physicalConfigDedicated) return -1;
   if (!ue_context_p->ue_context.physicalConfigDedicated->antennaInfo) return -1;
   switch (ue_context_p->ue_context.physicalConfigDedicated->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.choice.setup) {
-  case AntennaInfoDedicated__ue_TransmitAntennaSelection__setup_closedLoop:
+  case LTE_AntennaInfoDedicated__ue_TransmitAntennaSelection__setup_closedLoop:
     return 2;
-  case AntennaInfoDedicated__ue_TransmitAntennaSelection__setup_openLoop:
+  case LTE_AntennaInfoDedicated__ue_TransmitAntennaSelection__setup_openLoop:
     return 1;
   default:
     return 0;
@@ -1365,7 +1365,7 @@ uint32_t flexran_get_pdcp_rx_oo(mid_t mod_id, mid_t ue_id, lcid_t lcid)
 
 /******************** RRC *****************************/
 
-MeasId_t flexran_get_rrc_pcell_measid(mid_t mod_id, mid_t ue_id)
+LTE_MeasId_t flexran_get_rrc_pcell_measid(mid_t mod_id, mid_t ue_id)
 {
   if (!rrc_is_present(mod_id)) return -1;
 
@@ -1412,11 +1412,11 @@ int flexran_get_rrc_num_ncell(mid_t mod_id, mid_t ue_id)
   if (!ue_context_p) return 0;
   if (!ue_context_p->ue_context.measResults) return 0;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells) return 0;
-  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != MeasResults__measResultNeighCells_PR_measResultListEUTRA) return 0;
+  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != LTE_MeasResults__measResultNeighCells_PR_measResultListEUTRA) return 0;
   return ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.count;
 }
 
-PhysCellId_t flexran_get_rrc_neigh_phy_cell_id(mid_t mod_id, mid_t ue_id, int cell_id)
+LTE_PhysCellId_t flexran_get_rrc_neigh_phy_cell_id(mid_t mod_id, mid_t ue_id, int cell_id)
 {
   if (!rrc_is_present(mod_id)) return -1;
 
@@ -1426,7 +1426,7 @@ PhysCellId_t flexran_get_rrc_neigh_phy_cell_id(mid_t mod_id, mid_t ue_id, int ce
   if (!ue_context_p) return -1;
   if (!ue_context_p->ue_context.measResults) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells) return -1;
-  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != MeasResults__measResultNeighCells_PR_measResultListEUTRA) return -1;
+  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != LTE_MeasResults__measResultNeighCells_PR_measResultListEUTRA) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]) return -1;
   return ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]->physCellId;
 }
@@ -1441,7 +1441,7 @@ float flexran_get_rrc_neigh_rsrp(mid_t mod_id, mid_t ue_id, int cell_id)
   if (!ue_context_p) return -1;
   if (!ue_context_p->ue_context.measResults) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells) return -1;
-  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != MeasResults__measResultNeighCells_PR_measResultListEUTRA) return -1;
+  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != LTE_MeasResults__measResultNeighCells_PR_measResultListEUTRA) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]->measResult.rsrpResult) return 0;
   return RSRP_meas_mapping[*(ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]->measResult.rsrpResult)];
@@ -1457,7 +1457,7 @@ float flexran_get_rrc_neigh_rsrq(mid_t mod_id, mid_t ue_id, int cell_id)
   if (!ue_context_p) return -1;
   if (!ue_context_p->ue_context.measResults) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells) return -1;
-  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != MeasResults__measResultNeighCells_PR_measResultListEUTRA) return -1;
+  if (ue_context_p->ue_context.measResults->measResultNeighCells->present != LTE_MeasResults__measResultNeighCells_PR_measResultListEUTRA) return -1;
   if (!ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]->measResult.rsrqResult) return 0;
   return RSRQ_meas_mapping[*(ue_context_p->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[cell_id]->measResult.rsrqResult)];
 }
diff --git a/openair2/ENB_APP/flexran_agent_ran_api.h b/openair2/ENB_APP/flexran_agent_ran_api.h
index 37bdaae170d856064f33b3b4bf8c87851a59d42b..4fa05fd2f6858e0758662d46f2edc6bb252bf3f9 100644
--- a/openair2/ENB_APP/flexran_agent_ran_api.h
+++ b/openair2/ENB_APP/flexran_agent_ran_api.h
@@ -308,7 +308,7 @@ PHICH_DURATION_t flexran_get_phich_duration(mid_t mod_id, uint8_t cc_id);
 /* Get timer in subframes. Controls the synchronization
    status of the UE, not the actual timing 
    advance procedure. See TS 36.321 */
-TimeAlignmentTimer_t flexran_get_time_alignment_timer(mid_t mod_id, mid_t ue_id);
+LTE_TimeAlignmentTimer_t flexran_get_time_alignment_timer(mid_t mod_id, mid_t ue_id);
 
 /* Get measurement gap configuration. See TS 36.133 */
 Protocol__FlexMeasGapConfigPattern flexran_get_meas_gap_config(mid_t mod_id, mid_t ue_id);
@@ -365,7 +365,7 @@ BOOLEAN_t flexran_get_simultaneous_ack_nack_cqi(mid_t mod_id, mid_t ue_id);
 BOOLEAN_t flexran_get_ack_nack_simultaneous_trans(mid_t mod_id, mid_t ue_id, uint8_t cc_id);
 
 /* Get aperiodic CQI report mode */
-CQI_ReportModeAperiodic_t flexran_get_aperiodic_cqi_rep_mode(mid_t mod_id,mid_t ue_id);
+LTE_CQI_ReportModeAperiodic_t flexran_get_aperiodic_cqi_rep_mode(mid_t mod_id,mid_t ue_id);
 
 /* Get ACK/NACK feedback mode. TDD only */
 long flexran_get_tdd_ack_nack_feedback_mode(mid_t mod_id, mid_t ue_id);
@@ -481,7 +481,7 @@ uint32_t flexran_get_pdcp_rx_oo(mid_t mod_id, mid_t ue_id, lcid_t lcid);
 
 /*********************RRC**********************/
 /*Get primary cell measuremeant id flexRAN*/
-MeasId_t flexran_get_rrc_pcell_measid(mid_t mod_id, mid_t ue_id);
+LTE_MeasId_t flexran_get_rrc_pcell_measid(mid_t mod_id, mid_t ue_id);
 
 /*Get primary cell RSRP measurement flexRAN*/  
 float flexran_get_rrc_pcell_rsrp(mid_t mod_id, mid_t ue_id);
@@ -493,7 +493,7 @@ float flexran_get_rrc_pcell_rsrq(mid_t mod_id, mid_t ue_id);
 int flexran_get_rrc_num_ncell(mid_t mod_id, mid_t ue_id);
 
 /*Get physical cell id*/
-PhysCellId_t flexran_get_rrc_neigh_phy_cell_id(mid_t mod_id, mid_t ue_id, int cell_id);
+LTE_PhysCellId_t flexran_get_rrc_neigh_phy_cell_id(mid_t mod_id, mid_t ue_id, int cell_id);
 
 /*Get RSRP of neighbouring Cell*/
 float flexran_get_rrc_neigh_rsrp(mid_t mod_id, mid_t ue_id, int cell_id);
diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c
index 0b4f05a56e1883374afc17d50a35d9ee7a69bd4e..ac5c4a5de31e5447ffd96b5843dc508392172014 100644
--- a/openair2/LAYER2/MAC/config.c
+++ b/openair2/LAYER2/MAC/config.c
@@ -32,16 +32,16 @@
 
 #include "COMMON/platform_types.h"
 #include "COMMON/platform_constants.h"
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 //#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
-#include "PRACH-ConfigSIB-v1310.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#include "LTE_PRACH-ConfigSIB-v1310.h"
 #endif
-#include "MeasGapConfig.h"
-#include "MeasObjectToAddModList.h"
-#include "TDD-Config.h"
-#include "MAC-MainConfig.h"
+#include "LTE_MeasGapConfig.h"
+#include "LTE_MeasObjectToAddModList.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_MAC-MainConfig.h"
 #include "mac.h"
 #include "mac_proto.h"
 #include "mac_extern.h"
@@ -49,11 +49,11 @@
 #include "common/utils/LOG/vcd_signal_dumper.h"
 
 #include "common/ran_context.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "MBSFN-AreaInfoList-r9.h"
-#include "MBSFN-AreaInfo-r9.h"
-#include "MBSFN-SubframeConfigList.h"
-#include "PMCH-InfoList-r9.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_MBSFN-AreaInfoList-r9.h"
+#include "LTE_MBSFN-AreaInfo-r9.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
+#include "LTE_PMCH-InfoList-r9.h"
 #endif
 
 extern RAN_CONTEXT_t RC;
@@ -239,13 +239,13 @@ void config_mib(int                 Mod_idP,
 		int                 CC_idP,
 		int                 eutra_bandP,  
 		int                 dl_BandwidthP,
-		PHICH_Config_t      *phich_configP,
+		LTE_PHICH_Config_t  *phich_configP,
 		int                 Nid_cellP,
 		int                 NcpP,
 		int                 p_eNBP,
 		uint32_t            dl_CarrierFreqP,
 		uint32_t            ul_CarrierFreqP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                 ,
 		uint32_t            pbch_repetitionP
 #endif
@@ -317,14 +317,14 @@ void config_mib(int                 Mod_idP,
   cfg->sch_config.physical_cell_id.tl.tag = NFAPI_SCH_CONFIG_PHYSICAL_CELL_ID_TAG;
   cfg->num_tlv++;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   cfg->emtc_config.pbch_repetitions_enable_r13.value                 = pbch_repetitionP;
   cfg->emtc_config.pbch_repetitions_enable_r13.tl.tag = NFAPI_EMTC_CONFIG_PBCH_REPETITIONS_ENABLE_R13_TAG;
   cfg->num_tlv++;
 #endif  
   LOG_I(MAC,
 	"%s() NFAPI_CONFIG_REQUEST(num_tlv:%u) DL_BW:%u UL_BW:%u Ncp %d,p_eNB %d,earfcn %d,band %d,phich_resource %u phich_duration %u phich_power_offset %u PSS %d SSS %d PCI %d"
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	
 	" PBCH repetition %d"
 #endif  
@@ -342,13 +342,13 @@ void config_mib(int                 Mod_idP,
 	,cfg->sch_config.primary_synchronization_signal_epre_eprers.value
 	,cfg->sch_config.secondary_synchronization_signal_epre_eprers.value
 	,cfg->sch_config.physical_cell_id.value
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	,cfg->emtc_config.pbch_repetitions_enable_r13.value
 #endif  
       );
 }
 
-void config_sib1(int Mod_idP, int CC_idP, TDD_Config_t * tdd_ConfigP)
+void config_sib1(int Mod_idP, int CC_idP, LTE_TDD_Config_t * tdd_ConfigP)
 {
 
 
@@ -380,14 +380,14 @@ int power_off_dB[6] = { 78, 118, 140, 170, 188, 200 };
 void
 config_sib2(int Mod_idP,
 	    int CC_idP,
-	    RadioResourceConfigCommonSIB_t * radioResourceConfigCommonP,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-	    RadioResourceConfigCommonSIB_t * radioResourceConfigCommon_BRP,
+	    LTE_RadioResourceConfigCommonSIB_t * radioResourceConfigCommonP,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+	    LTE_RadioResourceConfigCommonSIB_t * radioResourceConfigCommon_BRP,
 #endif
-            ARFCN_ValueEUTRA_t *ul_CArrierFreqP,
+            LTE_ARFCN_ValueEUTRA_t *ul_CArrierFreqP,
             long *ul_BandwidthP,
-            AdditionalSpectrumEmission_t *additionalSpectrumEmissionP,
-            struct MBSFN_SubframeConfigList  *mbsfn_SubframeConfigListP) {
+            LTE_AdditionalSpectrumEmission_t *additionalSpectrumEmissionP,
+            struct LTE_MBSFN_SubframeConfigList  *mbsfn_SubframeConfigListP) {
 
   nfapi_config_request_t *cfg = &RC.mac[Mod_idP]->config[CC_idP];
 
@@ -474,7 +474,7 @@ config_sib2(int Mod_idP,
 
 
   // how to enable/disable SRS?
-  if (radioResourceConfigCommonP->soundingRS_UL_ConfigCommon.present==SoundingRS_UL_ConfigCommon_PR_setup) {
+  if (radioResourceConfigCommonP->soundingRS_UL_ConfigCommon.present== LTE_SoundingRS_UL_ConfigCommon_PR_setup) {
     cfg->srs_config.bandwidth_configuration.value                       = radioResourceConfigCommonP->soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig;
     cfg->srs_config.bandwidth_configuration.tl.tag = NFAPI_SRS_CONFIG_BANDWIDTH_CONFIGURATION_TAG;
     cfg->num_tlv++;
@@ -497,7 +497,7 @@ config_sib2(int Mod_idP,
     cfg->num_tlv++;
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   if (RC.mac[Mod_idP]->common_channels[CC_idP].mib->message.schedulingInfoSIB1_BR_r13 > 0) {
     AssertFatal(radioResourceConfigCommon_BRP != NULL, "radioResource rou is missing\n");
     AssertFatal(radioResourceConfigCommon_BRP->ext4 != NULL, "ext4 is missing\n");
@@ -513,11 +513,11 @@ config_sib2(int Mod_idP,
     cfg->emtc_config.prach_catm_high_speed_flag.tl.tag = NFAPI_EMTC_CONFIG_PRACH_CATM_HIGH_SPEED_FLAG;
     cfg->num_tlv++;
 
-    struct PRACH_ConfigSIB_v1310 *ext4_prach = radioResourceConfigCommon_BRP->ext4->prach_ConfigCommon_v1310;
+    struct LTE_PRACH_ConfigSIB_v1310 *ext4_prach = radioResourceConfigCommon_BRP->ext4->prach_ConfigCommon_v1310;
 
-    PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13;
+    LTE_PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13;
 
-    PRACH_ParametersCE_r13_t *p;
+    LTE_PRACH_ParametersCE_r13_t *p;
     cfg->emtc_config.prach_ce_level_0_enable.value = 0;
     cfg->emtc_config.prach_ce_level_0_enable.tl.tag=NFAPI_EMTC_CONFIG_PRACH_CE_LEVEL_0_ENABLE_TAG;
     cfg->num_tlv++;
@@ -664,18 +664,18 @@ config_sib2(int Mod_idP,
       cfg->num_tlv++;
     }
 
-    struct FreqHoppingParameters_r13 *ext4_freqHoppingParameters = radioResourceConfigCommonP->ext4->freqHoppingParameters_r13;
+    struct LTE_FreqHoppingParameters_r13 *ext4_freqHoppingParameters = radioResourceConfigCommonP->ext4->freqHoppingParameters_r13;
     if ((ext4_freqHoppingParameters) &&
         (ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeA_r13)){
       switch(ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeA_r13->present) {
-      case      FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_NOTHING:  /* No components present */
+      case LTE_FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_NOTHING:  /* No components present */
         break;
-      case FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_FDD_r13:
+      case LTE_FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_FDD_r13:
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodea.value = ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeA_r13->choice.interval_FDD_r13;
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodea.tl.tag = NFAPI_EMTC_CONFIG_PUCCH_INTERVAL_ULHOPPINGCONFIGCOMMONMODEA_TAG;
         cfg->num_tlv++;
         break;
-      case FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_TDD_r13:
+      case LTE_FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeA_r13_PR_interval_TDD_r13:
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodea.value = ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeA_r13->choice.interval_TDD_r13;
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodea.tl.tag = NFAPI_EMTC_CONFIG_PUCCH_INTERVAL_ULHOPPINGCONFIGCOMMONMODEA_TAG;
         cfg->num_tlv++;
@@ -685,14 +685,14 @@ config_sib2(int Mod_idP,
     if ((ext4_freqHoppingParameters) &&
         (ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeB_r13)){
       switch(ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeB_r13->present) {
-      case      FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_NOTHING:  /* No components present */
+      case LTE_FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_NOTHING:  /* No components present */
         break;
-      case FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_FDD_r13:
+      case LTE_FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_FDD_r13:
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodeb.value = ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeB_r13->choice.interval_FDD_r13;
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodeb.tl.tag = NFAPI_EMTC_CONFIG_PUCCH_INTERVAL_ULHOPPINGCONFIGCOMMONMODEB_TAG;
         cfg->num_tlv++;
         break;
-      case FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_TDD_r13:
+      case LTE_FreqHoppingParameters_r13__interval_ULHoppingConfigCommonModeB_r13_PR_interval_TDD_r13:
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodeb.value = ext4_freqHoppingParameters->interval_ULHoppingConfigCommonModeB_r13->choice.interval_TDD_r13;
         cfg->emtc_config.pucch_interval_ulhoppingconfigcommonmodeb.tl.tag = NFAPI_EMTC_CONFIG_PUCCH_INTERVAL_ULHOPPINGCONFIGCOMMONMODEB_TAG;
         cfg->num_tlv++;
@@ -708,7 +708,7 @@ void
 config_dedicated(int Mod_idP,
 		 int CC_idP,
 		 uint16_t rnti,
-		 struct PhysicalConfigDedicated *physicalConfigDedicated)
+		 struct LTE_PhysicalConfigDedicated *physicalConfigDedicated)
 {
 
 }
@@ -716,7 +716,7 @@ config_dedicated(int Mod_idP,
 void
 config_dedicated_scell(int Mod_idP,
 		       uint16_t rnti,
-		       SCellToAddMod_r10_t * sCellToAddMod_r10)
+		       LTE_SCellToAddMod_r10_t * sCellToAddMod_r10)
 {
 
 }
@@ -728,45 +728,45 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
 		       int physCellId,
 		       int p_eNB,
 		       int Ncp, int eutra_band, uint32_t dl_CarrierFreq,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		       int pbch_repetition,
 #endif
 		       rnti_t rntiP,
-		       BCCH_BCH_Message_t * mib,
-		       RadioResourceConfigCommonSIB_t *
+		       LTE_BCCH_BCH_Message_t * mib,
+		       LTE_RadioResourceConfigCommonSIB_t *
 		       radioResourceConfigCommon,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-		       RadioResourceConfigCommonSIB_t *
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+		       LTE_RadioResourceConfigCommonSIB_t *
 		       radioResourceConfigCommon_BR,
 #endif
-		       struct PhysicalConfigDedicated
+		       struct LTE_PhysicalConfigDedicated
 		       *physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-		       SCellToAddMod_r10_t * sCellToAddMod_r10,
-		       //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+		       LTE_SCellToAddMod_r10_t * sCellToAddMod_r10,
+		       //struct LTE_PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-		       MeasObjectToAddMod_t ** measObj,
-		       MAC_MainConfig_t * mac_MainConfig,
+		       LTE_MeasObjectToAddMod_t ** measObj,
+		       LTE_MAC_MainConfig_t * mac_MainConfig,
 		       long logicalChannelIdentity,
-		       LogicalChannelConfig_t * logicalChannelConfig,
-		       MeasGapConfig_t * measGapConfig,
-		       TDD_Config_t * tdd_Config,
-		       MobilityControlInfo_t * mobilityControlInfo,
-		       SchedulingInfoList_t * schedulingInfoList,
+		       LTE_LogicalChannelConfig_t * logicalChannelConfig,
+		       LTE_MeasGapConfig_t * measGapConfig,
+		       LTE_TDD_Config_t * tdd_Config,
+		       LTE_MobilityControlInfo_t * mobilityControlInfo,
+		       LTE_SchedulingInfoList_t * schedulingInfoList,
 		       uint32_t ul_CarrierFreq,
 		       long *ul_Bandwidth,
-		       AdditionalSpectrumEmission_t *
+		       LTE_AdditionalSpectrumEmission_t *
 		       additionalSpectrumEmission,
-		       struct MBSFN_SubframeConfigList
+		       struct LTE_MBSFN_SubframeConfigList
 		       *mbsfn_SubframeConfigList
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 		       , uint8_t MBMS_Flag,
-		       MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
-		       PMCH_InfoList_r9_t * pmch_InfoList
+		       LTE_MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
+		       LTE_PMCH_InfoList_r9_t * pmch_InfoList
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 		       ,
-		       SystemInformationBlockType1_v1310_IEs_t *
+		       LTE_SystemInformationBlockType1_v1310_IEs_t *
 		       sib1_v13ext
 #endif
                        ) {
@@ -815,7 +815,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
 	       p_eNB,
 	       dl_CarrierFreq,
 	       ul_CarrierFreq
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	       , pbch_repetition
 #endif
 	       );
@@ -827,7 +827,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
       RC.mac[Mod_idP]->common_channels[CC_idP].schedulingInfoList = schedulingInfoList;    
       config_sib1(Mod_idP,CC_idP,tdd_Config);
     }
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
     if (sib1_v13ext != NULL) {
       RC.mac[Mod_idP]->common_channels[CC_idP].sib1_v13ext = sib1_v13ext;
     }
@@ -886,7 +886,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
 	  dl_Bandwidth;
 
       config_sib2(Mod_idP, CC_idP, radioResourceConfigCommon,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		  radioResourceConfigCommon_BR,
 #endif
 		  NULL, ul_Bandwidth, additionalSpectrumEmission,
@@ -933,7 +933,7 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
   }
 
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (sCellToAddMod_r10 != NULL) {
     UE_id = find_UE_id(Mod_idP, rntiP);
@@ -966,11 +966,11 @@ rrc_mac_config_req_eNB(module_id_t Mod_idP,
 	    subframeAllocation.choice.oneFrame.buf[0]);
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     RC.mac[Mod_idP]->common_channels[0].MBMS_flag = MBMS_Flag;
 #endif
   }
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (mbsfn_AreaInfoList != NULL) {
     // One eNB could be part of multiple mbsfn syc area, this could change over time so reset each time
diff --git a/openair2/LAYER2/MAC/config_ue.c b/openair2/LAYER2/MAC/config_ue.c
index c38c32a4de7706544112b277d8e0ffbd45d5ce61..bec39aa8dc4ecf7968afae647e4e49149b067685 100644
--- a/openair2/LAYER2/MAC/config_ue.c
+++ b/openair2/LAYER2/MAC/config_ue.c
@@ -33,16 +33,16 @@
 #include "COMMON/platform_types.h"
 #include "COMMON/platform_constants.h"
 #include "SCHED_UE/sched_UE.h"
-#include "SystemInformationBlockType2.h"
+#include "LTE_SystemInformationBlockType2.h"
 //#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
-#include "PRACH-ConfigSIB-v1310.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#include "LTE_PRACH-ConfigSIB-v1310.h"
 #endif
-#include "MeasGapConfig.h"
-#include "MeasObjectToAddModList.h"
-#include "TDD-Config.h"
-#include "MAC-MainConfig.h"
+#include "LTE_MeasGapConfig.h"
+#include "LTE_MeasObjectToAddModList.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_MAC-MainConfig.h"
 #include "mac.h"
 #include "mac_proto.h"
 #include "mac_extern.h"
@@ -51,11 +51,11 @@
 #include "PHY/INIT/phy_init.h"
 
 #include "common/ran_context.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "MBSFN-AreaInfoList-r9.h"
-#include "MBSFN-AreaInfo-r9.h"
-#include "MBSFN-SubframeConfigList.h"
-#include "PMCH-InfoList-r9.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_MBSFN-AreaInfoList-r9.h"
+#include "LTE_MBSFN-AreaInfo-r9.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
+#include "LTE_PMCH-InfoList-r9.h"
 #endif
 
 extern void mac_init_cell_params(int Mod_idP,int CC_idP);
@@ -107,38 +107,38 @@ int
 rrc_mac_config_req_ue(module_id_t Mod_idP,
 		      int CC_idP,
 		      uint8_t eNB_index,
-		      RadioResourceConfigCommonSIB_t *
+		      LTE_RadioResourceConfigCommonSIB_t *
 		      radioResourceConfigCommon,
-		      struct PhysicalConfigDedicated
+		      struct LTE_PhysicalConfigDedicated
 		      *physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-		      SCellToAddMod_r10_t * sCellToAddMod_r10,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+		      LTE_SCellToAddMod_r10_t * sCellToAddMod_r10,
 		      //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-		      MeasObjectToAddMod_t ** measObj,
-		      MAC_MainConfig_t * mac_MainConfig,
+		      LTE_MeasObjectToAddMod_t ** measObj,
+		      LTE_MAC_MainConfig_t * mac_MainConfig,
 		      long logicalChannelIdentity,
-		      LogicalChannelConfig_t * logicalChannelConfig,
-		      MeasGapConfig_t * measGapConfig,
-		      TDD_Config_t * tdd_Config,
-		      MobilityControlInfo_t * mobilityControlInfo,
+		      LTE_LogicalChannelConfig_t * logicalChannelConfig,
+		      LTE_MeasGapConfig_t * measGapConfig,
+		      LTE_TDD_Config_t * tdd_Config,
+		      LTE_MobilityControlInfo_t * mobilityControlInfo,
 		      uint8_t * SIwindowsize,
 		      uint16_t * SIperiod,
-		      ARFCN_ValueEUTRA_t * ul_CarrierFreq,
+		      LTE_ARFCN_ValueEUTRA_t * ul_CarrierFreq,
 		      long *ul_Bandwidth,
-		      AdditionalSpectrumEmission_t *
+		      LTE_AdditionalSpectrumEmission_t *
 		      additionalSpectrumEmission,
-		      struct MBSFN_SubframeConfigList
+		      struct LTE_MBSFN_SubframeConfigList
 		      *mbsfn_SubframeConfigList
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 		      , uint8_t MBMS_Flag,
-		      MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
-		      PMCH_InfoList_r9_t * pmch_InfoList
+		      LTE_MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
+		      LTE_PMCH_InfoList_r9_t * pmch_InfoList
 #endif
 #ifdef CBA
 		      , uint8_t num_active_cba_groups, uint16_t cba_rnti
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   ,config_action_t  config_action
   ,const uint32_t * const sourceL2Id
   ,const uint32_t * const destinationL2Id
@@ -219,11 +219,11 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	  mac_MainConfig->ul_SCH_Config->periodicBSR_Timer;
       } else {
 	UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer =
-#if (RRC_VERSION < MAKE_VERSION(12, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(12, 0, 0))
 	  (uint16_t)
-	  MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity
+	  LTE_MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity
 #else
-	  (uint16_t) PeriodicBSR_Timer_r12_infinity;
+	  (uint16_t) LTE_PeriodicBSR_Timer_r12_infinity;
 #endif
 	;
       }
@@ -234,7 +234,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
       } else {
 	UE_mac_inst[Mod_idP].scheduling_info.maxHARQ_Tx =
 	  (uint16_t)
-	  MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
+	  LTE_MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
       }
       if(nfapi_mode!=3)
         phy_config_harq_ue(Mod_idP, 0, eNB_index,
@@ -246,17 +246,17 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	  (uint16_t) mac_MainConfig->ul_SCH_Config->
 	  retxBSR_Timer;
       } else {
-#if (RRC_VERSION < MAKE_VERSION(12, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(12, 0, 0))
 	UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer =
 	  (uint16_t)
-	  MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560;
+	  LTE_MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560;
 #else
 	UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer =
-	  (uint16_t) RetxBSR_Timer_r12_sf2560;
+	  (uint16_t) LTE_RetxBSR_Timer_r12_sf2560;
 #endif
       }
     }
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     if (mac_MainConfig->ext1
 	&& mac_MainConfig->ext1->sr_ProhibitTimer_r9) {
@@ -326,13 +326,13 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
     } else {
       UE_mac_inst[Mod_idP].PHR_reconfigured = 0;
       UE_mac_inst[Mod_idP].PHR_state =
-	MAC_MainConfig__phr_Config_PR_setup;
+	LTE_MAC_MainConfig__phr_Config_PR_setup;
       UE_mac_inst[Mod_idP].scheduling_info.periodicPHR_Timer =
-	MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20;
+	LTE_MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20;
       UE_mac_inst[Mod_idP].scheduling_info.prohibitPHR_Timer =
-	MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20;
+	LTE_MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20;
       UE_mac_inst[Mod_idP].scheduling_info.PathlossChange =
-	MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;
+	LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;
     }
 
     UE_mac_inst[Mod_idP].scheduling_info.periodicPHR_SF =
@@ -362,7 +362,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 			      physicalConfigDedicated);
     UE_mac_inst[Mod_idP].physicalConfigDedicated = physicalConfigDedicated;	// for SR proc
   }
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (sCellToAddMod_r10 != NULL) {
 
@@ -410,14 +410,14 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	     rach_ConfigCommon,
 	     (void *) mobilityControlInfo->
 	     radioResourceConfigCommon.rach_ConfigCommon,
-	     sizeof(RACH_ConfigCommon_t));
+	     sizeof(LTE_RACH_ConfigCommon_t));
     }
 
     memcpy((void *) &UE_mac_inst[Mod_idP].
 	   radioResourceConfigCommon->prach_Config.prach_ConfigInfo,
 	   (void *) mobilityControlInfo->
 	   radioResourceConfigCommon.prach_Config.prach_ConfigInfo,
-	   sizeof(PRACH_ConfigInfo_t));
+	   sizeof(LTE_PRACH_ConfigInfo_t));
     UE_mac_inst[Mod_idP].radioResourceConfigCommon->
       prach_Config.rootSequenceIndex =
       mobilityControlInfo->radioResourceConfigCommon.
@@ -430,19 +430,19 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	     pdsch_ConfigCommon,
 	     (void *) mobilityControlInfo->
 	     radioResourceConfigCommon.pdsch_ConfigCommon,
-	     sizeof(PDSCH_ConfigCommon_t));
+	     sizeof(LTE_PDSCH_ConfigCommon_t));
     }
     // not a pointer: mobilityControlInfo->radioResourceConfigCommon.pusch_ConfigCommon
     memcpy((void *) &UE_mac_inst[Mod_idP].
 	   radioResourceConfigCommon->pusch_ConfigCommon,
 	   (void *) &mobilityControlInfo->
 	   radioResourceConfigCommon.pusch_ConfigCommon,
-	   sizeof(PUSCH_ConfigCommon_t));
+	   sizeof(LTE_PUSCH_ConfigCommon_t));
 
     if (mobilityControlInfo->radioResourceConfigCommon.phich_Config) {
       /* memcpy((void *)&UE_mac_inst[Mod_idP].radioResourceConfigCommon->phich_Config,
 	 (void *)mobilityControlInfo->radioResourceConfigCommon.phich_Config,
-	 sizeof(PHICH_Config_t)); */
+	 sizeof(LTE_PHICH_Config_t)); */
     }
 
     if (mobilityControlInfo->radioResourceConfigCommon.
@@ -452,7 +452,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	     pucch_ConfigCommon,
 	     (void *) mobilityControlInfo->
 	     radioResourceConfigCommon.pucch_ConfigCommon,
-	     sizeof(PUCCH_ConfigCommon_t));
+	     sizeof(LTE_PUCCH_ConfigCommon_t));
     }
 
     if (mobilityControlInfo->
@@ -462,7 +462,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	     soundingRS_UL_ConfigCommon,
 	     (void *) mobilityControlInfo->
 	     radioResourceConfigCommon.soundingRS_UL_ConfigCommon,
-	     sizeof(SoundingRS_UL_ConfigCommon_t));
+	     sizeof(LTE_SoundingRS_UL_ConfigCommon_t));
     }
 
     if (mobilityControlInfo->
@@ -472,7 +472,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	     uplinkPowerControlCommon,
 	     (void *) mobilityControlInfo->
 	     radioResourceConfigCommon.uplinkPowerControlCommon,
-	     sizeof(UplinkPowerControlCommon_t));
+	     sizeof(LTE_UplinkPowerControlCommon_t));
     }
     //configure antennaInfoCommon somewhere here..
     if (mobilityControlInfo->radioResourceConfigCommon.p_Max) {
@@ -491,7 +491,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
 	     ul_CyclicPrefixLength,
 	     (void *) mobilityControlInfo->
 	     radioResourceConfigCommon.ul_CyclicPrefixLength,
-	     sizeof(UL_CyclicPrefixLength_t));
+	     sizeof(LTE_UL_CyclicPrefixLength_t));
     }
     // store the previous rnti in case of failure, and set thenew rnti
     UE_mac_inst[Mod_idP].crnti_before_ho = UE_mac_inst[Mod_idP].crnti;
@@ -532,7 +532,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
       //    UE_mac_inst[Mod_idP].mbsfn_SubframeConfig[i]->subframeAllocation.choice.oneFrame.buf[0]);
     }
   }
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (mbsfn_AreaInfoList != NULL) {
     LOG_I(MAC, "[UE %d][CONFIG] Received %d MBSFN Area Info\n",
@@ -590,7 +590,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
     (VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_MAC_CONFIG, VCD_FUNCTION_OUT);
   //for D2D
-  #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     switch (config_action) {
     case CONFIG_ACTION_ADD:
        if (sourceL2Id){
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 4dbf3cf36f57d2c700463d071b02d805bb61a704..866855c456876a5fdc84da9c79d50dbaf6ece0c5 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -79,8 +79,8 @@ schedule_SRS(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
   nfapi_ul_config_request_body_t *ul_req;
   int CC_id, UE_id;
   COMMON_channels_t *cc = RC.mac[module_idP]->common_channels;
-  SoundingRS_UL_ConfigCommon_t *soundingRS_UL_ConfigCommon;
-  struct SoundingRS_UL_ConfigDedicated *soundingRS_UL_ConfigDedicated;
+  LTE_SoundingRS_UL_ConfigCommon_t *soundingRS_UL_ConfigCommon;
+  struct LTE_SoundingRS_UL_ConfigDedicated *soundingRS_UL_ConfigDedicated;
   uint8_t TSFC;
   uint16_t deltaTSFC;		// bitmap
   uint8_t srs_SubframeConfig;
@@ -119,7 +119,7 @@ schedule_SRS(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 		      UE_id);
 	  
 	  if ((soundingRS_UL_ConfigDedicated = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->soundingRS_UL_ConfigDedicated) != NULL) {
-	    if (soundingRS_UL_ConfigDedicated->present == SoundingRS_UL_ConfigDedicated_PR_setup) {
+	    if (soundingRS_UL_ConfigDedicated->present == LTE_SoundingRS_UL_ConfigDedicated_PR_setup) {
 	      get_srs_pos(&cc[CC_id],
 			  soundingRS_UL_ConfigDedicated->choice.
 			  setup.srs_ConfigIndex,
@@ -162,7 +162,7 @@ schedule_CSI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
   COMMON_channels_t              *cc;
   nfapi_ul_config_request_body_t *ul_req;
   int                            CC_id, UE_id;
-  struct CQI_ReportPeriodic      *cqi_ReportPeriodic;
+  struct LTE_CQI_ReportPeriodic  *cqi_ReportPeriodic;
   uint16_t                       Npd, N_OFFSET_CQI;
   int                            H;
 
@@ -185,7 +185,7 @@ schedule_CSI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 
       if (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->cqi_ReportConfig) {
 	if ((cqi_ReportPeriodic = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic) != NULL
-	    && (cqi_ReportPeriodic->present != CQI_ReportPeriodic_PR_release)) {
+	    && (cqi_ReportPeriodic->present != LTE_CQI_ReportPeriodic_PR_release)) {
 	  //Rel8 Periodic CQI/PMI/RI reporting
 
 	  get_csi_params(cc, cqi_ReportPeriodic, &Npd,
@@ -209,7 +209,7 @@ schedule_CSI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 	    ul_req->number_of_pdus++;
 	    ul_req->tl.tag                                                                   = NFAPI_UL_CONFIG_REQUEST_BODY_TAG;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 	    // PUT rel10-13 UCI options here
 #endif
 	  } else
@@ -245,7 +245,7 @@ schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
   nfapi_ul_config_request_body_t *ul_req_body;
   int                            CC_id;
   int                            UE_id;
-  SchedulingRequestConfig_t      *SRconfig;
+  LTE_SchedulingRequestConfig_t  *SRconfig;
   int                            skip_ue;
   int                            is_harq;
   nfapi_ul_config_sr_information sr;
@@ -269,7 +269,7 @@ schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 		  UE_id);
 
       if ((SRconfig = UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->schedulingRequestConfig) != NULL) {
-	if (SRconfig->present == SchedulingRequestConfig_PR_setup) {
+	if (SRconfig->present == LTE_SchedulingRequestConfig_PR_setup) {
 	  if (SRconfig->choice.setup.sr_ConfigIndex <= 4) {	// 5 ms SR period
 	    if ((subframeP % 5) != SRconfig->choice.setup.sr_ConfigIndex) continue;
 	  } else if (SRconfig->choice.setup.sr_ConfigIndex <= 14) {	// 10 ms SR period
@@ -312,7 +312,7 @@ schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
       LOG_D(MAC,"Frame %d, Subframe %d : Scheduling SR for UE %d/%x is_harq:%d\n",frameP,subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].rnti, is_harq);
 
       // check Rel10 or Rel8 SR
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
       if ((UE_list-> UE_template[CC_id][UE_id].physicalConfigDedicated->ext2)
 	  && (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->ext2->schedulingRequestConfig_v1020)
 	  && (UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->ext2->schedulingRequestConfig_v1020)) {
@@ -517,7 +517,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
     memset(cc[CC_id].vrb_map_UL, 0, 100);
 
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     cc[CC_id].mcch_active        = 0;
 #endif
 
@@ -628,7 +628,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
   rrc_rx_tx(&ctxt, CC_id);
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
     if (cc[CC_id].MBMS_flag > 0) {
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
index b637a92a9616f53e447cb422087a43dd3789eff4..cc06571a381525bccb13042a95e6ab2f92600b46 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
@@ -120,7 +120,7 @@ add_msg3(module_id_t module_idP, int CC_id, RA_t * ra, frame_t frameP,
     AssertFatal(ra->state != IDLE, "RA is not active for RA %X\n",
 		ra->rnti);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (ra->rach_resource_type > 0) {
 	LOG_D(MAC,
 	      "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n",
@@ -272,16 +272,16 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP,
     dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu];
     N_RB_DL = to_prb(cc[CC_idP].mib->message.dl_Bandwidth);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     int rmax = 0;
     int rep = 0;
     int reps = 0;
     int num_nb = 0;
 
     first_rb = 0;
-    struct PRACH_ConfigSIB_v1310 *ext4_prach;
-    PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13;
-    PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL };
+    struct LTE_PRACH_ConfigSIB_v1310 *ext4_prach;
+    LTE_PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13;
+    LTE_PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL };
 
     uint16_t absSF = (10 * frameP) + subframeP;
     uint16_t absSF_Msg2 = (10 * ra->Msg2_frame) + ra->Msg2_subframe;
@@ -584,6 +584,11 @@ generate_Msg2(module_id_t module_idP, int CC_idP, frame_t frameP,
 		ra->state = WAITMSG3;
                 LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d: state:WAITMSG3\n", module_idP, frameP, subframeP);
 
+                T(T_ENB_MAC_UE_DL_RAR_PDU_WITH_DATA, T_INT(module_idP),
+                  T_INT(CC_idP), T_INT(ra->RA_rnti), T_INT(frameP),
+                  T_INT(subframeP), T_INT(0 /*harq_pid always 0? */ ),
+                  T_BUFFER(cc[CC_idP].RAR_pdu.payload, 7));
+
 		// DL request
 		mac->TX_req[CC_idP].sfn_sf = (frameP << 4) + subframeP;
 		TX_req =
@@ -631,18 +636,18 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP,
   uint8_t                         offset;
 
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     int rmax = 0;
     int rep = 0;
     int reps = 0;
 
 
     first_rb = 0;
-    struct PRACH_ConfigSIB_v1310 *ext4_prach;
-    struct PUCCH_ConfigCommon_v1310 *ext4_pucch;
-    PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13;
-    struct N1PUCCH_AN_InfoList_r13 *pucch_N1PUCCH_AN_InfoList_r13;
-    PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL };
+    struct LTE_PRACH_ConfigSIB_v1310 *ext4_prach;
+    struct LTE_PUCCH_ConfigCommon_v1310 *ext4_pucch;
+    LTE_PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13;
+    struct LTE_N1PUCCH_AN_InfoList_r13 *pucch_N1PUCCH_AN_InfoList_r13;
+    LTE_PRACH_ParametersCE_r13_t *p[4] = { NULL, NULL, NULL, NULL };
     int pucchreps[4] = { 1, 1, 1, 1 };
     int n1pucchan[4] = { 0, 0, 0, 0 };
 
@@ -722,7 +727,7 @@ generate_Msg4(module_id_t module_idP, int CC_idP, frame_t frameP,
 	  module_idP, CC_idP, frameP, subframeP, UE_id, rrc_sdu_length);*/
 
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if (ra->rach_resource_type > 0) {
 
 	// Generate DCI + repetitions first
@@ -1232,7 +1237,7 @@ check_Msg4_retransmission(module_id_t module_idP, int CC_idP,
 
     int round;
     /*
-       #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+       #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
        COMMON_channels_t               *cc  = mac->common_channels;
 
        int rmax            = 0;
@@ -1285,7 +1290,7 @@ check_Msg4_retransmission(module_id_t module_idP, int CC_idP,
 
     if (round != 8) {
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	if (ra->rach_resource_type > 0) {
 	    AssertFatal(1 == 0,
 			"Msg4 Retransmissions not handled yet for BL/CE UEs\n");
@@ -1442,7 +1447,7 @@ initiate_ra_proc(module_id_t module_idP,
 		 sub_frame_t subframeP,
 		 uint16_t preamble_index,
 		 int16_t timing_offset, uint16_t ra_rnti
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		 , uint8_t rach_resource_type
 #endif
     )
@@ -1453,10 +1458,10 @@ initiate_ra_proc(module_id_t module_idP,
     COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id];
     RA_t *ra = &cc->ra[0];
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
-    struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL;
-    PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL;
+    struct LTE_PRACH_ConfigSIB_v1310 *ext4_prach = NULL;
+    LTE_PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL;
   
     static uint8_t failure_cnt = 0;
 
@@ -1466,12 +1471,12 @@ initiate_ra_proc(module_id_t module_idP,
 	prach_ParametersListCE_r13 = &ext4_prach->prach_ParametersListCE_r13;
     }
 
-#endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
+#endif /* #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
 
     LOG_D(MAC,
 	  "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d  Initiating RA procedure for preamble index %d\n",
 	  module_idP, CC_id, frameP, subframeP, preamble_index);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     LOG_D(MAC,
 	  "[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d  PRACH resource type %d\n",
 	  module_idP, CC_id, frameP, subframeP, rach_resource_type);
@@ -1481,7 +1486,7 @@ initiate_ra_proc(module_id_t module_idP,
     uint16_t msg2_subframe = subframeP;
     int offset;
 
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 
     if (prach_ParametersListCE_r13 &&
 	prach_ParametersListCE_r13->list.count < rach_resource_type) {
@@ -1492,7 +1497,7 @@ initiate_ra_proc(module_id_t module_idP,
 	return;
     }
 
-#endif /* #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
+#endif /* #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) */
 
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 0);
@@ -1505,7 +1510,7 @@ initiate_ra_proc(module_id_t module_idP,
 	    ra[i].state = MSG2;
 	    ra[i].timing_offset = timing_offset;
 	    ra[i].preamble_subframe = subframeP;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	    ra[i].rach_resource_type = rach_resource_type;
 	    ra[i].msg2_mpdcch_repetition_cnt = 0;
 	    ra[i].msg4_mpdcch_repetition_cnt = 0;
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c
index b2b59691f88db67daeafa8dbe2db05a8267bce01..460e4f42c9fffcc917b0300709bf5bf47f34a603 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c
@@ -59,7 +59,7 @@ extern RAN_CONTEXT_t RC;
 // NEED TO ADD schedule_SI_BR for SIB1_BR and SIB23_BR
 // CCE_allocation_infeasible to be done for EPDCCH/MPDCCH
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 #define size_Sj25 2
 int Sj25[size_Sj25] = { 0, 3 };
@@ -301,8 +301,8 @@ schedule_SIB1_BR(module_id_t module_idP,
     }
 }
 
-int si_WindowLength_BR_r13tab[SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_spare] = { 20, 40, 60, 80, 120, 160, 200 };
-int si_TBS_r13tab[SchedulingInfo_BR_r13__si_TBS_r13_b936 + 1] = { 152, 208, 256, 328, 408, 504, 600, 712, 808, 936 };
+int si_WindowLength_BR_r13tab[LTE_SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_spare] = { 20, 40, 60, 80, 120, 160, 200 };
+int si_TBS_r13tab[LTE_SchedulingInfo_BR_r13__si_TBS_r13_b936 + 1] = { 152, 208, 256, 328, 408, 504, 600, 712, 808, 936 };
 
 //------------------------------------------------------------------------------
 void
@@ -340,31 +340,31 @@ schedule_SI_BR(module_id_t module_idP, frame_t frameP,
 	    AssertFatal(cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL,
 			"sib_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n");
 
-	    SchedulingInfoList_BR_r13_t *schedulingInfoList_BR_r13 = cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13;
+	    LTE_SchedulingInfoList_BR_r13_t *schedulingInfoList_BR_r13 = cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13;
 	    AssertFatal(schedulingInfoList_BR_r13 != NULL,
 			"sib_v13ext->schedulingInfoList_BR_r13 is null\n");
 
-	    SchedulingInfoList_t *schedulingInfoList = cc->schedulingInfoList;
+	    LTE_SchedulingInfoList_t *schedulingInfoList = cc->schedulingInfoList;
 	    AssertFatal(schedulingInfoList_BR_r13->list.count == schedulingInfoList->list.count,
 			"schedulingInfolist_BR.r13->list.count %d != schedulingInfoList.list.count %d\n",
 			schedulingInfoList_BR_r13->list.count,
 			schedulingInfoList->list.count);
 
-	    AssertFatal(cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13<=SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms200,
+	    AssertFatal(cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13<=LTE_SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms200,
 			"si_WindowLength_BR_r13 %d > %d\n",
 			(int) cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13,
-			SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms200);
+			LTE_SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_WindowLength_BR_r13_ms200);
 
 	    // check that SI frequency-hopping is disabled
-	    AssertFatal(cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 == SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_off,
+	    AssertFatal(cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_HoppingConfigCommon_r13 == LTE_SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_HoppingConfigCommon_r13_off,
 			"Deactivate SI_HoppingConfigCommon_r13 in configuration file, not supported for now\n");
 	    long si_WindowLength_BR_r13 = si_WindowLength_BR_r13tab[cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13];
 
 	    long si_RepetitionPattern_r13 = cc->sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->si_RepetitionPattern_r13;
-	    AssertFatal(si_RepetitionPattern_r13<=SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_every8thRF,
+	    AssertFatal(si_RepetitionPattern_r13<=LTE_SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_every8thRF,
 			"si_RepetitionPattern_r13 %d > %d\n",
 			(int) si_RepetitionPattern_r13,
-			SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_every8thRF);
+			LTE_SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13__si_RepetitionPattern_r13_every8thRF);
 	    // cycle through SIB list
 
 	    for (i = 0; i < schedulingInfoList_BR_r13->list.count; i++) {
@@ -533,7 +533,7 @@ schedule_mib(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 	    LOG_D(MAC, "Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP, subframeP, dl_req->number_pdu, mib_sdu_length);
 
 	    if ((frameP & 1023) < 40)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		LOG_D(MAC,
 		      "[eNB %d] Frame %d : MIB->BCH  CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",
 		      module_idP, frameP, CC_id, mib_sdu_length,
@@ -758,6 +758,9 @@ schedule_SI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 			  module_idP, CC_id, frameP, subframeP);
 		}
 
+                T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(0xffff),
+                  T_INT(frameP), T_INT(subframeP), T_INT(0), T_BUFFER(cc->BCCH_pdu.payload, bcch_sdu_length));
+
 		if (opt_enabled == 1) {
 		    trace_pdu(DIRECTION_DOWNLINK,
 			      &cc->BCCH_pdu.payload[0],
@@ -789,7 +792,7 @@ schedule_SI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 	    }
 	}
     }
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     schedule_SIB1_BR(module_idP, frameP, subframeP);
     schedule_SI_BR(module_idP, frameP, subframeP);
 #endif
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
index a77d5f36d27e01f2c042316afdaf2971f7f750d2..a010c4ab9ca25d1f8fe42b285a90d9a81e3ef6f6 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
@@ -872,7 +872,7 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
 	if (TBS - ta_len - header_length_total - sdu_length_total - 3 > 0) {
 	  rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH,
                                           TBS - ta_len - header_length_total - sdu_length_total - 3
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                           );
@@ -887,7 +887,7 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
 	    sdu_lengths[0] = mac_rlc_data_req(module_idP, rnti, module_idP, frameP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH,
                                               TBS, //not used
 					      (char *)&dlsch_buffer[0]
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                           ,0, 0
 #endif
                           );
@@ -981,7 +981,7 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
 	if (TBS - ta_len - header_length_total - sdu_length_total - 3 > 0) {
 	  rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH + 1,
                                           TBS - ta_len - header_length_total - sdu_length_total - 3
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                                          );
@@ -997,7 +997,7 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
 	    sdu_lengths[num_sdus] += mac_rlc_data_req(module_idP, rnti, module_idP, frameP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH + 1,
                                                       TBS, //not used
 						      (char *)&dlsch_buffer[sdu_length_total]
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                           ,0, 0
 #endif
 	    );
@@ -2135,11 +2135,11 @@ void schedule_PCH(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 	  // dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector                    = ;
 
 	// Rel10 fields
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 	dl_config_pdu->dlsch_pdu.dlsch_pdu_rel10.pdsch_start                           = 3;
 #endif
 	// Rel13 fields
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 	dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type                               = 0; // regular UE
 	dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type                    = 2; // not BR
 	dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io            = 0xFFFF;
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c b/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
index 282d9060980f448b5066b244b7fdbb54332d7245..4e718456f5d3e46b5175539a73fe97a5de5fa5e8 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
@@ -132,7 +132,7 @@ void pre_scd_nb_rbs_required(    module_id_t     module_idP,
             rlc_status =
                     mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP,
                             ENB_FLAG_YES, MBMS_FLAG_NO, lc_id, 0
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                             ,0, 0
 #endif
                     );
@@ -1246,7 +1246,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
 
 		if (TBS - ta_len - header_len_dcch > 0) {
 		    rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH, (TBS - ta_len - header_len_dcch)
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                                                    );	// transport block set size
@@ -1262,7 +1262,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
 							  (char *)
 							  &dlsch_buffer
 							  [0]
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                           ,0, 0
 #endif
                                                          );
@@ -1351,7 +1351,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
 		// check for DCCH1 and update header information (assume 2 byte sub-header)
 		if (TBS - ta_len - header_len_dcch - sdu_length_total > 0) {
 		    rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH + 1, (TBS - ta_len - header_len_dcch - sdu_length_total)
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                     ,0, 0
 #endif
                                                    );	// transport block set size less allocations for timing advance and
@@ -1367,7 +1367,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
 								  (char *)
 								  &dlsch_buffer
 								  [sdu_length_total]
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                                   ,0, 0
 #endif
                                                                  );
@@ -2877,7 +2877,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t   module_idP,
                                                  get_TBS_UL(UE_template->mcs_UL[harq_pid],
                                                             rb_table[rb_table_index])
                                                  );
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
             if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation
               fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_index],
                                                    UE_template->rach_resource_type>2 ? 2 : 1,
@@ -3023,7 +3023,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t   module_idP,
                                                  0, // n_srs
                                                  UE_template->TBS_UL[harq_pid]
                                                  );
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
             if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation
               fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_index],
                                                    UE_template->rach_resource_type>2 ? 2 : 1,
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_mch.c b/openair2/LAYER2/MAC/eNB_scheduler_mch.c
index 16953e958a8ffe39ee32593e2a4053f8fb5567f9..649f763f422dfc6777f7ae807b776c282761b552 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_mch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_mch.c
@@ -59,7 +59,7 @@
 
 extern RAN_CONTEXT_t RC;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 int8_t
 get_mbsfn_sf_alloction(module_id_t module_idP, uint8_t CC_id,
 		       uint8_t mbsfn_sync_area)
@@ -151,7 +151,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
 
 	// 1st: Check the MBSFN subframes from SIB2 info (SF allocation pattern i, max 8 non-overlapping patterns exist)
 	if (frameP % mbsfn_period == cc->mbsfn_SubframeConfig[j]->radioframeAllocationOffset) {	// MBSFN frameP
-	    if (cc->mbsfn_SubframeConfig[j]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) {	// one-frameP format
+	    if (cc->mbsfn_SubframeConfig[j]->subframeAllocation.present == LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) {	// one-frameP format
 
 		//  Find the first subframeP in this MCH to transmit MSI
 		if (frameP % mch_scheduling_period ==
@@ -585,7 +585,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
 
     TBS =
 	get_TBS_DL(cc->MCH_pdu.mcs, to_prb(cc->mib->message.dl_Bandwidth));
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     // do not let mcch and mtch multiplexing when relaying is active
     // for sync area 1, so not transmit data
     //if ((i == 0) && ((RC.mac[module_idP]->MBMS_flag != multicast_relay) || (RC.mac[module_idP]->mcch_active==0))) {
@@ -633,7 +633,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
 			       MTCH,
 			       TBS - header_len_mcch - header_len_msi -
 			       sdu_length_total - header_len_mtch
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                     ,0, 0
 #endif
                                     );
@@ -652,7 +652,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
 	    sdu_lengths[num_sdus] = mac_rlc_data_req(module_idP, 0, module_idP, frameP, ENB_FLAG_YES, MBMS_FLAG_YES, MTCH, 0,	//not used
 						     (char *)
 						     &mch_buffer[sdu_length_total]
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                 ,0,
                                  0
 #endif
@@ -676,7 +676,7 @@ schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
 	    header_len_mtch = 0;
 	}
     }
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     //  }
 #endif
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_phytest.c b/openair2/LAYER2/MAC/eNB_scheduler_phytest.c
index 81c418c12352ea83d87cbe1aedbf0941df37641b..881359f274dff57a844170abddc892761dce2a5d 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_phytest.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_phytest.c
@@ -169,7 +169,7 @@ schedule_ue_spec_phy_test(
 			      1, // number of subbands
 			      //			     uint8_t codebook_index,
 			      4, // UE category capacity
-			      PDSCH_ConfigDedicated__p_a_dB0, 
+			      LTE_PDSCH_ConfigDedicated__p_a_dB0, 
 			      0, // delta_power_offset for TM5
 			      0, // ngap
 			      0, // nprb
@@ -347,7 +347,7 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
 						 0, // n_srs
 						 get_TBS_UL(mcs,nb_rb)
 						 );
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	  if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation
 	    fill_nfapi_ulsch_config_request_emtc(&ul_req->ul_config_pdu_list[ul_req_index],
 						   UE_template->rach_resource_type>2 ? 2 : 1,
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
index c9d3d9dbacda4506cac3d8ea568f04899431d40e..b43c34fe141bd32fb2d4f239cdfbe7bcbe12512e 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
@@ -788,7 +788,7 @@ get_srs_pos(COMMON_channels_t * cc, uint16_t isrs,
 
 void
 get_csi_params(COMMON_channels_t * cc,
-	       struct CQI_ReportPeriodic *cqi_ReportPeriodic,
+	       struct LTE_CQI_ReportPeriodic *cqi_ReportPeriodic,
 	       uint16_t * Npd, uint16_t * N_OFFSET_CQI, int *H)
 {
   uint16_t cqi_PMI_ConfigIndex =
@@ -861,7 +861,7 @@ get_csi_params(COMMON_channels_t * cc,
   // get H
   if (cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.
       present ==
-      CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI)
+      LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI)
     *H = 1 +
       (Jtab[cc->mib->message.dl_Bandwidth] *
        cqi_ReportPeriodic->choice.setup.
@@ -873,7 +873,7 @@ get_csi_params(COMMON_channels_t * cc,
 uint8_t
 get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
 			  uint8_t ri,
-			  CQI_ReportModeAperiodic_t *
+			  LTE_CQI_ReportModeAperiodic_t *
 			  cqi_ReportModeAperiodic)
 {
   int Ntab[6] = { 0, 4, 7, 9, 10, 13 };
@@ -885,7 +885,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
 	      "cqi_ReportPeriodic is null!\n");
 
   switch (*cqi_ReportModeAperiodic) {
-  case CQI_ReportModeAperiodic_rm12:
+  case LTE_CQI_ReportModeAperiodic_rm12:
     AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
 		|| tmode == 10,
 		"Illegal TM (%d) for CQI_ReportModeAperiodic_rm12\n",
@@ -901,7 +901,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
     else if (ri > 1 && cc->p_eNB == 4)
       return (8 + (N << 2));
     break;
-  case CQI_ReportModeAperiodic_rm20:
+  case LTE_CQI_ReportModeAperiodic_rm20:
     // Table 5.2.2.6.3-1 (36.212)
     AssertFatal(tmode == 1 || tmode == 2 || tmode == 3 || tmode == 7
 		|| tmode == 9
@@ -913,7 +913,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
 		"TM9/10 will be handled later for CQI_ReportModeAperiodic_rm20\n");
     return (4 + 2 + L);
     break;
-  case CQI_ReportModeAperiodic_rm22:
+  case LTE_CQI_ReportModeAperiodic_rm22:
     // Table 5.2.2.6.3-2 (36.212)
     AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
 		|| tmode == 10,
@@ -931,7 +931,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
     if (ri >= 2 && cc->p_eNB == 4)
       return (4 + 2 + 4 + 2 + L + 8);
     break;
-  case CQI_ReportModeAperiodic_rm30:
+  case LTE_CQI_ReportModeAperiodic_rm30:
     // Table 5.2.2.6.2-1 (36.212)
     AssertFatal(tmode == 1 || tmode == 2 || tmode == 3 || tmode == 7
 		|| tmode == 8 || tmode == 9
@@ -943,7 +943,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
 		"TM8/9/10 will be handled later for CQI_ReportModeAperiodic_rm30\n");
     return (4 + (N << 1));
     break;
-  case CQI_ReportModeAperiodic_rm31:
+  case LTE_CQI_ReportModeAperiodic_rm31:
     // Table 5.2.2.6.2-2 (36.212)
     AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
 		|| tmode == 10,
@@ -961,8 +961,8 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
     else if (ri >= 2 && cc->p_eNB == 4)
       return (4 + (N << 1) + 4 + (N << 1) + 4);
     break;
-#if (RRC_VERSION >= MAKE_VERSION(12, 5, 0))
-  case CQI_ReportModeAperiodic_rm32_v1250:
+#if (LTE_RRC_VERSION >= MAKE_VERSION(12, 5, 0))
+  case LTE_CQI_ReportModeAperiodic_rm32_v1250:
     AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
 		|| tmode == 10,
 		"Illegal TM (%d) for CQI_ReportModeAperiodic_rm32\n",
@@ -970,14 +970,14 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
     AssertFatal(1 == 0,
 		"CQI_ReportModeAperiodic_rm32_v1250 not supported yet\n");
     break;
-  case CQI_ReportModeAperiodic_rm10_v1310:
+  case LTE_CQI_ReportModeAperiodic_rm10_v1310:
     // Table 5.2.2.6.1-1F/G (36.212)
     if (ri == 1)
       return (4);		// F
     else
       return (7);		// G
     break;
-  case CQI_ReportModeAperiodic_rm11_v1310:
+  case LTE_CQI_ReportModeAperiodic_rm11_v1310:
     // Table 5.2.2.6.1-1H (36.212)
     AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
 		|| tmode == 10,
@@ -995,7 +995,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
       return (4 + 4 + 4);
 
     break;
-#endif /* #if (RRC_VERSION >= MAKE_VERSION(12, 5, 0)) */
+#endif /* #if (LTE_RRC_VERSION >= MAKE_VERSION(12, 5, 0)) */
   }
   AssertFatal(1 == 0, "Shouldn't get here\n");
   return (0);
@@ -1004,7 +1004,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
 uint8_t
 get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP,
 			 COMMON_channels_t * cc, uint8_t tmode,
-			 struct CQI_ReportPeriodic * cqi_ReportPeriodic)
+			 struct LTE_CQI_ReportPeriodic * cqi_ReportPeriodic)
 {
   int no_pmi = 0;
   //    Ltab[6] = {0,log2(15/4/2),log2(25/4/2),log2(50/6/3),log2(75/8/4),log2(100/8/4)};
@@ -1014,10 +1014,10 @@ get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP,
 
   AssertFatal(cqi_ReportPeriodic != NULL,
 	      "cqi_ReportPeriodic is null!\n");
-  AssertFatal(cqi_ReportPeriodic->present != CQI_ReportPeriodic_PR_NOTHING,
+  AssertFatal(cqi_ReportPeriodic->present != LTE_CQI_ReportPeriodic_PR_NOTHING,
 	      "cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_NOTHING!\n");
   AssertFatal(cqi_ReportPeriodic->choice.
-	      setup.cqi_FormatIndicatorPeriodic.present != CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING,
+	      setup.cqi_FormatIndicatorPeriodic.present != LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING,
 	      "cqi_ReportPeriodic->cqi_FormatIndicatorPeriodic.choice.setup.present == CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING!\n");
 
   switch (tmode) {
@@ -1032,7 +1032,7 @@ get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP,
     no_pmi = 0;
   }
 
-  if ((cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_widebandCQI)
+  if ((cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_widebandCQI)
       || (sched_ctl->feedback_cnt[CC_idP] == 0)) {
     // send wideband report every opportunity if wideband reporting mode is selected, else every H opportunities
     if (no_pmi == 1)                        return (4);
@@ -1044,7 +1044,7 @@ get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP,
       AssertFatal(1 == 0,
 		  "illegal combination p %d, ri %d, no_pmi %d\n",
 		  cc->p_eNB, ri, no_pmi);
-  } else if (cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI) {
+  } else if (cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI) {
     if ((no_pmi == 1) || ri == 1) return (4 + Ltab[cc->mib->message.dl_Bandwidth]);
     else                          return (7 + Ltab[cc->mib->message.dl_Bandwidth]);
   }
@@ -1103,12 +1103,12 @@ program_dlsch_acknak(module_id_t module_idP, int CC_idP, int UE_idP,
   nfapi_ul_config_ulsch_harq_information *ulsch_harq_information      = NULL;
   nfapi_ul_config_harq_information       *harq_information            = NULL;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 2, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 2, 0))
 
   if ((UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2)
       && (UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2->pucch_ConfigDedicated_v1020)
       && (UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2->pucch_ConfigDedicated_v1020->simultaneousPUCCH_PUSCH_r10)
-      && (*UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2->pucch_ConfigDedicated_v1020->simultaneousPUCCH_PUSCH_r10 == PUCCH_ConfigDedicated_v1020__simultaneousPUCCH_PUSCH_r10_true))
+      && (*UE_list->UE_template[CC_idP][UE_idP].physicalConfigDedicated->ext2->pucch_ConfigDedicated_v1020->simultaneousPUCCH_PUSCH_r10 == LTE_PUCCH_ConfigDedicated_v1020__simultaneousPUCCH_PUSCH_r10_true))
     use_simultaneous_pucch_pusch = 1;
 #endif
 
@@ -1261,7 +1261,7 @@ fill_nfapi_ulsch_harq_information(module_id_t                            module_
 
   int UE_id = find_UE_id(module_idP, rntiP);
 
-  PUSCH_ConfigDedicated_t *puschConfigDedicated;
+  LTE_PUSCH_ConfigDedicated_t *puschConfigDedicated;
   //  PUSCH_ConfigDedicated_v1020_t        *puschConfigDedicated_v1020;
   //  PUSCH_ConfigDedicated_v1130_t        *puschConfigDedicated_v1130;
   //  PUSCH_ConfigDedicated_v1250_t        *puschConfigDedicated_v1250;
@@ -1270,17 +1270,17 @@ fill_nfapi_ulsch_harq_information(module_id_t                            module_
   AssertFatal(UE_list != NULL, "UE_list is null\n");
   AssertFatal(UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated != NULL,
 	      "physicalConfigDedicated for rnti %x is null\n", rntiP);
-  AssertFatal((puschConfigDedicated = (PUSCH_ConfigDedicated_t *)
+  AssertFatal((puschConfigDedicated = (LTE_PUSCH_ConfigDedicated_t *)
 	       UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pusch_ConfigDedicated) != NULL,
 	      "physicalConfigDedicated->puschConfigDedicated for rnti %x is null\n",
 	      rntiP);
-#if (RRC_VERSION >= MAKE_VERSION(10, 2, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 2, 0))
   /*  if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext2) puschConfigDedicated_v1020 =  UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext2->pusch_ConfigDedicated_v1020;
       #endif
-      #if (RRC_VERSION >= MAKE_VERSION(11, 3, 0))
+      #if (LTE_RRC_VERSION >= MAKE_VERSION(11, 3, 0))
       if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext4) puschConfigDedicated_v1130 =  UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext4->pusch_ConfigDedicated_v1130;
       #endif
-      #if (RRC_VERSION >= MAKE_VERSION(12, 5, 0))
+      #if (LTE_RRC_VERSION >= MAKE_VERSION(12, 5, 0))
       if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext5) puschConfigDedicated_v1250 =  UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->ext5->pusch_ConfigDedicated_v1250;
       #endif
   */
@@ -1289,7 +1289,7 @@ fill_nfapi_ulsch_harq_information(module_id_t                            module_
   AssertFatal(UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated != NULL,
 	      "pucch_ConfigDedicated is null!\n");
   if ((UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode != NULL)
-      && (*UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode == PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing))
+      && (*UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode == LTE_PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing))
     harq_information->harq_information_rel10.ack_nack_mode = 1;	// multiplexing
   else
     harq_information->harq_information_rel10.ack_nack_mode = 0;	// bundling
@@ -1374,7 +1374,7 @@ fill_nfapi_harq_information(module_id_t                      module_idP,
       if (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated != NULL
           && UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated != NULL
           && (UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode != NULL)
-	  && (*UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode == PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing))
+	  && (*UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode == LTE_PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing))
       {
         harq_information->harq_information_rel10_tdd.harq_size             = 2;        // 2-bit ACK/NAK
         harq_information->harq_information_rel10_tdd.ack_nack_mode         = 1;        // multiplexing
@@ -1398,7 +1398,7 @@ fill_nfapi_harq_information(module_id_t                      module_idP,
       AssertFatal(UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated != NULL,
 		  "pucch_ConfigDedicated is null for TDD!\n");
       if ((UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode != NULL)
-	  && (*UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode == PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing)) {
+	  && (*UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated->pucch_ConfigDedicated->tdd_AckNackFeedbackMode == LTE_PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing)) {
 	harq_information->harq_information_rel10_tdd.ack_nack_mode            = 1;	// multiplexing
       } else {
 	harq_information->harq_information_rel10_tdd.ack_nack_mode            = 0;	// bundling
@@ -1544,7 +1544,7 @@ void
 fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_config_pdu, 
 				     uint8_t                        cqi_req,
 				     COMMON_channels_t              *cc,
-				     struct PhysicalConfigDedicated *physicalConfigDedicated,
+				     struct LTE_PhysicalConfigDedicated *physicalConfigDedicated,
 				     uint8_t                        tmode, 
 				     uint32_t                       handle,
 				     uint16_t                       rnti,
@@ -1615,7 +1615,7 @@ fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_config_pd
   }
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 void
 fill_nfapi_ulsch_config_request_emtc(nfapi_ul_config_request_pdu_t *
 				     ul_config_pdu, uint8_t ue_type,
@@ -1658,12 +1658,12 @@ mpdcch_sf_condition(eNB_MAC_INST * eNB, int CC_id, frame_t frameP,
 		    sub_frame_t subframeP, int rmax,
 		    MPDCCH_TYPES_t mpdcch_type, int UE_id)
 {
-  struct PRACH_ConfigSIB_v1310 *ext4_prach =
+  struct LTE_PRACH_ConfigSIB_v1310 *ext4_prach =
     eNB->common_channels[CC_id].radioResourceConfigCommon_BR->
     ext4->prach_ConfigCommon_v1310;
 
   int T;
-  EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11;
+  LTE_EPDCCH_SetConfig_r11_t *epdcch_setconfig_r11;
 
   switch (mpdcch_type) {
   case TYPE0:
@@ -1916,7 +1916,7 @@ void dump_ue_list(UE_list_t * listP, int ul_flag)
 }
 
 int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP, int harq_pidP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	       , uint8_t rach_resource_type
 #endif
 	       )
@@ -1950,7 +1950,7 @@ int add_new_ue(module_id_t mod_idP, int cc_idP, rnti_t rntiP, int harq_pidP
     UE_list->UE_template[cc_idP][UE_id].pre_assigned_mcs_ul = 0;
 #endif    
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     UE_list->UE_template[cc_idP][UE_id].rach_resource_type =
       rach_resource_type;
 #endif
@@ -2272,7 +2272,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP)
   eNB_MAC_INST *eNB = RC.mac[module_idP];
   COMMON_channels_t *cc = &eNB->common_channels[CC_idP];
 
-  struct PhysicalConfigDedicated *physicalConfigDedicated =
+  struct LTE_PhysicalConfigDedicated *physicalConfigDedicated =
     eNB->UE_list.physicalConfigDedicated[CC_idP][UE_idP];
 
   if (physicalConfigDedicated == NULL) {	// RRCConnectionSetup not received by UE yet
@@ -2285,16 +2285,16 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP)
 		UE_idP);
 
     AssertFatal(physicalConfigDedicated->antennaInfo->present !=
-		PhysicalConfigDedicated__antennaInfo_PR_NOTHING,
+		LTE_PhysicalConfigDedicated__antennaInfo_PR_NOTHING,
 		"antennaInfo (mod_id %d, CC_id %d) is set to NOTHING\n",
 		module_idP, CC_idP);
 
     if (physicalConfigDedicated->antennaInfo->present ==
-	PhysicalConfigDedicated__antennaInfo_PR_explicitValue) {
+	LTE_PhysicalConfigDedicated__antennaInfo_PR_explicitValue) {
       return (physicalConfigDedicated->antennaInfo->
 	      choice.explicitValue.transmissionMode);
     } else if (physicalConfigDedicated->antennaInfo->present ==
-	       PhysicalConfigDedicated__antennaInfo_PR_defaultValue) {
+	       LTE_PhysicalConfigDedicated__antennaInfo_PR_defaultValue) {
       AssertFatal(cc->p_eNB <= 2, "p_eNB is %d, should be <2\n",
 		  cc->p_eNB);
       return (cc->p_eNB);
@@ -3310,7 +3310,7 @@ CCE_allocation_infeasible(int module_idP,
 
   return res;
 }
-void get_retransmission_timing(TDD_Config_t *tdd_Config, frame_t *frameP,
+void get_retransmission_timing(LTE_TDD_Config_t *tdd_Config, frame_t *frameP,
     sub_frame_t *subframeP)
 {
 
@@ -3361,7 +3361,7 @@ uint8_t get_dl_subframe_count(int tdd_config_sfa, sub_frame_t subframeP){
     return -1;
 }
 
-uint8_t frame_subframe2_dl_harq_pid(TDD_Config_t *tdd_Config, int abs_frameP, sub_frame_t subframeP){
+uint8_t frame_subframe2_dl_harq_pid(LTE_TDD_Config_t *tdd_Config, int abs_frameP, sub_frame_t subframeP){
     int harq_pid;
     if(tdd_Config){
 
@@ -3382,7 +3382,7 @@ uint8_t frame_subframe2_dl_harq_pid(TDD_Config_t *tdd_Config, int abs_frameP, su
     return -1;
 }
 
-unsigned char ul_ACK_subframe2M(TDD_Config_t *tdd_Config,unsigned char subframe)
+unsigned char ul_ACK_subframe2M(LTE_TDD_Config_t *tdd_Config,unsigned char subframe)
 {
 
   if (tdd_Config == NULL) {
@@ -3447,7 +3447,7 @@ unsigned char ul_ACK_subframe2M(TDD_Config_t *tdd_Config,unsigned char subframe)
   return(0);
 }
 
-unsigned char ul_ACK_subframe2dl_subframe(TDD_Config_t *tdd_Config,unsigned char subframe,unsigned char ACK_index)
+unsigned char ul_ACK_subframe2dl_subframe(LTE_TDD_Config_t *tdd_Config,unsigned char subframe,unsigned char ACK_index)
 {
 
   if (tdd_Config == NULL) {
@@ -3531,7 +3531,7 @@ extract_harq(module_id_t mod_idP, int CC_idP, int UE_id,
   int frame_tx;
   uint8_t harq_pid;
   
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
   if (UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated != NULL &&
       UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated->pucch_ConfigDedicated != NULL &&
       (UE_list->UE_template[pCCid][UE_id].physicalConfigDedicated->ext7)
@@ -4010,7 +4010,7 @@ extract_pucch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
   UE_list_t *UE_list = &RC.mac[mod_idP]->UE_list;
   UE_sched_ctrl *sched_ctl = &UE_list->UE_sched_ctrl[UE_id];
   COMMON_channels_t *cc = &RC.mac[mod_idP]->common_channels[CC_idP];
-  struct CQI_ReportPeriodic *cqi_ReportPeriodic;
+  struct LTE_CQI_ReportPeriodic *cqi_ReportPeriodic;
   int no_pmi;
   uint8_t Ltab[6] = { 0, 2, 4, 4, 4, 4 };
   uint8_t Jtab[6] = { 0, 2, 2, 3, 4, 4 };
@@ -4025,10 +4025,10 @@ extract_pucch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
 	      "cqi_ReportPeriodic is null for UE %d\n", UE_id);
 
   // determine feedback mode
-  AssertFatal(cqi_ReportPeriodic->present != CQI_ReportPeriodic_PR_NOTHING,
-	      "cqi_ReportPeriodic->present == CQI_ReportPeriodic_PR_NOTHING!\n");
-  AssertFatal(cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present != CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING,
-	      "cqi_ReportPeriodic->cqi_FormatIndicatorPeriodic.choice.setup.present == CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING!\n");
+  AssertFatal(cqi_ReportPeriodic->present != LTE_CQI_ReportPeriodic_PR_NOTHING,
+	      "cqi_ReportPeriodic->present == LTE_CQI_ReportPeriodic_PR_NOTHING!\n");
+  AssertFatal(cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present != LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING,
+	      "cqi_ReportPeriodic->cqi_FormatIndicatorPeriodic.choice.setup.present == LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_NOTHING!\n");
 
   uint16_t Npd, N_OFFSET_CQI;
   int H, K, bandwidth_part, L, Lmask;
@@ -4062,7 +4062,7 @@ extract_pucch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
     no_pmi = 0;
   }
 
-  if ((cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_widebandCQI)
+  if ((cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_widebandCQI)
       || (feedback_cnt == 0)) {
     // Note: This implements only Tables: 5.3.3.1-1,5.3.3.1-1A and 5.3.3.1-2 from 36.213 (1,2,4 antenna ports Wideband CQI/PMI)
 
@@ -4095,7 +4095,7 @@ extract_pucch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
       AssertFatal(1 == 0,
 		  "illegal combination p %d, ri %d, no_pmi %d\n",
 		  cc->p_eNB, ri, no_pmi);
-  } else if (cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI)
+  } else if (cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present == LTE_CQI_ReportPeriodic__setup__cqi_FormatIndicatorPeriodic_PR_subbandCQI)
     {
       // This is Table 5.2.3.3.2-2 for 36.213
       if (ri == 1) {
@@ -4126,7 +4126,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
   int i;
   uint64_t p = *(uint64_t *) pdu;
   int curbyte, curbit;
-  CQI_ReportModeAperiodic_t *cqi_ReportModeAperiodic;
+  LTE_CQI_ReportModeAperiodic_t *cqi_ReportModeAperiodic;
 
   AssertFatal(UE_list->UE_template[CC_idP][UE_id].physicalConfigDedicated != NULL,
 	      "physicalConfigDedicated is null for UE %d\n", UE_id);
@@ -4143,7 +4143,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
   int m;
 
   switch (*cqi_ReportModeAperiodic) {
-  case CQI_ReportModeAperiodic_rm12:
+  case LTE_CQI_ReportModeAperiodic_rm12:
     AssertFatal(0 == 1, "to be fixed, don't use p but pdu directly\n");
     // wideband multiple PMI (TM4/6), Table 5.2.2.6.1-1 (for TM4/6)
     AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9 || tmode == 10,
@@ -4192,7 +4192,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
     }
 
     break;
-  case CQI_ReportModeAperiodic_rm20:
+  case LTE_CQI_ReportModeAperiodic_rm20:
     AssertFatal(0 == 1, "to be fixed, don't use p but pdu directly\n");
     // UE-selected subband CQI no PMI (TM1/2/3/7) , Table 5.2.2.6.3-1 from 36.213
     AssertFatal(tmode == 1 || tmode == 2 || tmode == 3
@@ -4209,7 +4209,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
     for (m = 0; m < Mtab_uesel[bw]; m++)
       sched_ctl->aperiodic_subband_diffcqi0[CC_idP][v[m]] = diffcqi0;
     break;
-  case CQI_ReportModeAperiodic_rm22:
+  case LTE_CQI_ReportModeAperiodic_rm22:
     AssertFatal(0 == 1, "to be fixed, don't use p but pdu directly\n");
     // UE-selected subband CQI multiple PMI (TM4/6) Table 5.2.2.6.3-2 from 36.213
 
@@ -4254,7 +4254,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
       sched_ctl->aperiodic_subband_pmi[CC_idP][v[m]] = pmi_uesel;
     }
     break;
-  case CQI_ReportModeAperiodic_rm30:
+  case LTE_CQI_ReportModeAperiodic_rm30:
     //subband CQI no PMI (TM1/2/3/7)
     AssertFatal(tmode == 1 || tmode == 2 || tmode == 3
 		|| tmode == 7,
@@ -4275,7 +4275,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
     sched_ctl->dl_cqi[CC_idP] =
       sched_ctl->aperiodic_wideband_cqi0[CC_idP];
     break;
-  case CQI_ReportModeAperiodic_rm31:
+  case LTE_CQI_ReportModeAperiodic_rm31:
     AssertFatal(0 == 1, "to be fixed, don't use p but pdu directly\n");
     //subband CQI single PMI (TM4/5/6)
     AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8
@@ -4346,8 +4346,8 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
     }
 
     break;
-#if (RRC_VERSION >= MAKE_VERSION(12, 5, 0))
-  case CQI_ReportModeAperiodic_rm32_v1250:
+#if (LTE_RRC_VERSION >= MAKE_VERSION(12, 5, 0))
+  case LTE_CQI_ReportModeAperiodic_rm32_v1250:
     AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8
 		|| tmode == 9
 		|| tmode == 10,
@@ -4356,15 +4356,15 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
     AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm32 to be done\n");
     break;
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 1, 0))
-  case CQI_ReportModeAperiodic_rm10_v1310:
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 1, 0))
+  case LTE_CQI_ReportModeAperiodic_rm10_v1310:
     AssertFatal(tmode == 1 || tmode == 2 || tmode == 3
 		|| tmode == 7,
 		"Illegal transmission mode %d for CQI_ReportModeAperiodic_rm10\n",
 		tmode);
     AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm10 to be done\n");
     break;
-  case CQI_ReportModeAperiodic_rm11_v1310:
+  case LTE_CQI_ReportModeAperiodic_rm11_v1310:
     AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8
 		|| tmode == 9
 		|| tmode == 10,
@@ -4372,7 +4372,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
 		tmode);
     AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm11 to be done\n");
     break;
-#endif /* #if (RRC_VERSION >= MAKE_VERSION(13, 1, 0)) */
+#endif /* #if (LTE_RRC_VERSION >= MAKE_VERSION(13, 1, 0)) */
   }
 }
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index d8418e7b113ad1eb35e051ad47d85002e1bf7de4..fcd87d926ab3b8bff9cdf438929c85c38e7c6a36 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -304,7 +304,10 @@ rx_sdu(const module_id_t enb_mod_idP,
     case POWER_HEADROOM:
       if (UE_id != -1) {
 	UE_list->UE_template[CC_idP][UE_id].phr_info =
-	  (payload_ptr[0] & 0x3f) - PHR_MAPPING_OFFSET;
+	  (payload_ptr[0] & 0x3f) - PHR_MAPPING_OFFSET + (int8_t)(hundred_times_log10_NPRB[UE_list->UE_template[CC_idP][UE_id].nb_rb_ul[harq_pid]-1]/100);
+	if(UE_list->UE_template[CC_idP][UE_id].phr_info > 40)
+		UE_list->UE_template[CC_idP][UE_id].phr_info = 40;
+
 	LOG_D(MAC,
 	      "[eNB %d] CC_id %d MAC CE_LCID %d : Received PHR PH = %d (db)\n",
 	      enb_mod_idP, CC_idP, rx_ces[i],
@@ -567,7 +570,7 @@ rx_sdu(const module_id_t enb_mod_idP,
 	    if ((UE_id = add_new_ue(enb_mod_idP, CC_idP,
 				    mac->common_channels[CC_idP].
 				    ra[ii].rnti, harq_pid
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 				    ,
 				    mac->common_channels[CC_idP].
 				    ra[ii].rach_resource_type
@@ -1066,7 +1069,8 @@ schedule_ulsch(module_id_t module_idP, frame_t frameP,
     for (i = 0; i < NB_RA_PROC_MAX; i++) {
       if ((cc->ra[i].state == WAITMSG3) &&
 	  (cc->ra[i].Msg3_subframe == sched_subframe)) {
-	first_rb[CC_id]++;
+        if (first_rb[CC_id] < cc->ra[i].msg3_first_rb + cc->ra[i].msg3_nb_rb)
+          first_rb[CC_id] = cc->ra[i].msg3_first_rb + cc->ra[i].msg3_nb_rb;
 	//    cc->ray[i].Msg3_subframe = -1;
 	break;
       }
@@ -1464,7 +1468,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
 						  mcs_UL[harq_pid],
 						  rb_table
 						  [rb_table_index]));
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	    if (UE_template->rach_resource_type > 0) {	// This is a BL/CE UE allocation
 	      fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp_body->ul_config_pdu_list[ul_req_index], UE_template->rach_resource_type > 2 ? 2 : 1, 1,	//total_number_of_repetitions
 						   1,	//repetition_number
@@ -1548,7 +1552,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
 						 0,	// n_srs
 						 UE_template->
 						 TBS_UL[harq_pid]);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	    if (UE_template->rach_resource_type > 0) {	// This is a BL/CE UE allocation
 	      fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp_body->ul_config_pdu_list[ul_req_index], UE_template->rach_resource_type > 2 ? 2 : 1, 1,	//total_number_of_repetitions
 						   1,	//repetition_number
diff --git a/openair2/LAYER2/MAC/l1_helpers.c b/openair2/LAYER2/MAC/l1_helpers.c
index bd640a6c88e539a6f8bcb8cca08b35037d1f446c..9b26413cb1b468a3960ffb1402d39820743b9641 100644
--- a/openair2/LAYER2/MAC/l1_helpers.c
+++ b/openair2/LAYER2/MAC/l1_helpers.c
@@ -36,7 +36,7 @@
 
 int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP, uint8_t CC_id)
 {
-    RACH_ConfigCommon_t *rach_ConfigCommon = NULL;
+    LTE_RACH_ConfigCommon_t *rach_ConfigCommon = NULL;
 
     AssertFatal(CC_id == 0,
 		"Transmission on secondary CCs is not supported yet\n");
diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h
index ed6171dcebfaa35f74e608f7a86c0d6d1ce3c187..0625a327eb302af8aba74f7120f31bad7da0aa18 100644
--- a/openair2/LAYER2/MAC/mac.h
+++ b/openair2/LAYER2/MAC/mac.h
@@ -44,29 +44,29 @@
 #include <string.h>
 
 #include "COMMON/platform_constants.h"
-#include "BCCH-BCH-Message.h"
-#include "RadioResourceConfigCommon.h"
-#include "RadioResourceConfigCommonSIB.h"
-#include "RadioResourceConfigDedicated.h"
-#include "MeasGapConfig.h"
-#include "SchedulingInfoList.h"
-#include "TDD-Config.h"
-#include "RACH-ConfigCommon.h"
-#include "MeasObjectToAddModList.h"
-#include "MobilityControlInfo.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "MBSFN-AreaInfoList-r9.h"
-#include "MBSFN-SubframeConfigList.h"
-#include "PMCH-InfoList-r9.h"
+#include "LTE_BCCH-BCH-Message.h"
+#include "LTE_RadioResourceConfigCommon.h"
+#include "LTE_RadioResourceConfigCommonSIB.h"
+#include "LTE_RadioResourceConfigDedicated.h"
+#include "LTE_MeasGapConfig.h"
+#include "LTE_SchedulingInfoList.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_RACH-ConfigCommon.h"
+#include "LTE_MeasObjectToAddModList.h"
+#include "LTE_MobilityControlInfo.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_MBSFN-AreaInfoList-r9.h"
+#include "LTE_MBSFN-SubframeConfigList.h"
+#include "LTE_PMCH-InfoList-r9.h"
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "SCellToAddMod-r10.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#include "LTE_SCellToAddMod-r10.h"
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
-#include "SystemInformationBlockType1-v1310-IEs.h"
-#include "SystemInformationBlockType18-r12.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#include "LTE_SystemInformationBlockType1-v1310-IEs.h"
+#include "LTE_SystemInformationBlockType18-r12.h"
 #endif
-#include "RadioResourceConfigCommonSIB.h"
+#include "LTE_RadioResourceConfigCommonSIB.h"
 #include "nfapi_interface.h"
 #include "PHY_INTERFACE/IF_Module.h"
 
@@ -91,7 +91,7 @@
 #define DCH_PAYLOAD_SIZE_MAX 4096
 /// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 // Mask for identifying subframe for MBMS
 #define MBSFN_TDD_SF3 0x80	// for TDD
@@ -380,7 +380,7 @@ typedef struct {
     uint8_t payload[PCCH_PAYLOAD_SIZE_MAX];
 } __attribute__ ((__packed__)) PCCH_PDU;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 /*! \brief MCCH payload */
 typedef struct {
     uint8_t payload[MCCH_PAYLOAD_SIZE_MAX];
@@ -437,7 +437,7 @@ typedef struct {
 /*!\brief LCID of padding LCID for DLSCH */
 #define SHORT_PADDING 31
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 // MCH LCHAN IDs (table6.2.1-4 TS36.321)
 /*!\brief LCID of MCCH for DL */
 #define MCCH_LCHANID 0
@@ -900,14 +900,14 @@ typedef struct {
     eNB_UE_estimated_distances distance;
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     uint8_t rach_resource_type;
     uint16_t mpdcch_repetition_cnt;
     frame_t Msg2_frame;
 #endif
     sub_frame_t Msg2_subframe;
 
-    PhysicalConfigDedicated_t *physicalConfigDedicated;
+    LTE_PhysicalConfigDedicated_t *physicalConfigDedicated;
 
 } UE_TEMPLATE;
 
@@ -1047,7 +1047,7 @@ typedef struct {
     int msg4_TBsize;
     /// MCS used for Msg4
     int msg4_mcs;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     uint8_t rach_resource_type;
     uint8_t msg2_mpdcch_repetition_cnt;
     uint8_t msg4_mpdcch_repetition_cnt;
@@ -1243,14 +1243,14 @@ typedef struct {
     int Ncp;
     int eutra_band;
     uint32_t dl_CarrierFreq;
-    BCCH_BCH_Message_t *mib;
-    RadioResourceConfigCommonSIB_t *radioResourceConfigCommon;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-    RadioResourceConfigCommonSIB_t *radioResourceConfigCommon_BR;
+    LTE_BCCH_BCH_Message_t *mib;
+    LTE_RadioResourceConfigCommonSIB_t *radioResourceConfigCommon;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+    LTE_RadioResourceConfigCommonSIB_t *radioResourceConfigCommon_BR;
 #endif
-    TDD_Config_t *tdd_Config;
-    SchedulingInfoList_t *schedulingInfoList;
-    ARFCN_ValueEUTRA_t ul_CarrierFreq;
+    LTE_TDD_Config_t *tdd_Config;
+    LTE_SchedulingInfoList_t *schedulingInfoList;
+    LTE_ARFCN_ValueEUTRA_t ul_CarrierFreq;
     long ul_Bandwidth;
     /// Outgoing MIB PDU for PHY
     MIB_PDU MIB_pdu;
@@ -1273,10 +1273,10 @@ typedef struct {
     /// VRB map for common channels and retransmissions by PHICH
     uint8_t vrb_map_UL[100];
     /// MBSFN SubframeConfig
-    struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];
+    struct LTE_MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];
     /// number of subframe allocation pattern available for MBSFN sync area
     uint8_t num_sf_allocation_pattern;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     /// MBMS Flag
     uint8_t MBMS_flag;
     /// Outgoing MCCH pdu for PHY
@@ -1290,17 +1290,17 @@ typedef struct {
     /// number of active MBSFN area
     uint8_t num_active_mbsfn_area;
     /// MBSFN Area Info
-    struct MBSFN_AreaInfo_r9 *mbsfn_AreaInfo[MAX_MBSFN_AREA];
+    struct LTE_MBSFN_AreaInfo_r9 *mbsfn_AreaInfo[MAX_MBSFN_AREA];
     /// PMCH Config
-    struct PMCH_Config_r9 *pmch_Config[MAX_PMCH_perMBSFN];
+    struct LTE_PMCH_Config_r9 *pmch_Config[MAX_PMCH_perMBSFN];
     /// MBMS session info list
-    struct MBMS_SessionInfoList_r9 *mbms_SessionList[MAX_PMCH_perMBSFN];
+    struct LTE_MBMS_SessionInfoList_r9 *mbms_SessionList[MAX_PMCH_perMBSFN];
     /// Outgoing MCH pdu for PHY
     MCH_PDU MCH_pdu;
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
     /// Rel13 parameters from SIB1
-    SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext;
+    LTE_SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext;
     /// Counter for SIB1-BR scheduling
     int SIB1_BR_cnt;
     /// Outgoing BCCH-BR pdu for PHY
@@ -1454,9 +1454,9 @@ typedef struct {
     /// default value is false
     uint16_t ttiBundling;
     /// default value is release
-    struct DRX_Config *drx_config;
+    struct LTE_DRX_Config *drx_config;
     /// default value is release
-    struct MAC_MainConfig__phr_Config *phr_config;
+    struct LTE_MAC_MainConfig__phr_Config *phr_config;
     ///timer before triggering a periodic PHR
     uint16_t periodicPHR_Timer;
     ///timer before triggering a prohibit PHR
@@ -1498,30 +1498,30 @@ typedef struct {
     /// uplink active flag
     uint8_t ul_active;
     /// pointer to RRC PHY configuration
-    RadioResourceConfigCommonSIB_t *radioResourceConfigCommon;
+    LTE_RadioResourceConfigCommonSIB_t *radioResourceConfigCommon;
     /// pointer to RACH_ConfigDedicated (NULL when not active, i.e. upon HO completion or T304 expiry)
-    struct RACH_ConfigDedicated *rach_ConfigDedicated;
+    struct LTE_RACH_ConfigDedicated *rach_ConfigDedicated;
     /// pointer to RRC PHY configuration
-    struct PhysicalConfigDedicated *physicalConfigDedicated;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+    struct LTE_PhysicalConfigDedicated *physicalConfigDedicated;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   /// pointer to RRC PHY configuration SCEll
-  struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10;
+  struct LTE_PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10;
   /// Preconfiguration for Sidelink
-  struct SL_Preconfiguration_r12 *SL_Preconfiguration;
+  struct LTE_SL_Preconfiguration_r12 *SL_Preconfiguration;
   /// RX Pool for Sidelink from SIB18
-  SL_CommRxPoolList_r12_t	 commRxPool_r12;
+  LTE_SL_CommRxPoolList_r12_t	 commRxPool_r12;
   /// TX Pool Normal for Sidelink from SIB18
-  struct SL_CommTxPoolList_r12	*commTxPoolNormalCommon_r12;
+  struct LTE_SL_CommTxPoolList_r12	*commTxPoolNormalCommon_r12;
   /// TX Pool Exceptional for Sidelink from SIB18
-  struct SL_CommTxPoolList_r12	*commTxPoolExceptional_r12;
+  struct LTE_SL_CommTxPoolList_r12	*commTxPoolExceptional_r12;
   /// Common Sync Config for Sidelink from SIB18
-  struct SL_SyncConfigList_r12	*commSyncConfig_r12;
+  struct LTE_SL_SyncConfigList_r12	*commSyncConfig_r12;
   /// Dedicated Sync TX control for Sidelink
-  struct SL_SyncTxControl_r12 *sl_SyncTxControl_r12;
+  struct LTE_SL_SyncTxControl_r12 *sl_SyncTxControl_r12;
   /// Dedicated Discovery TX control for Sidelink
-  struct SL_DiscConfig_r12	*sl_DiscConfig_r12;
+  struct LTE_SL_DiscConfig_r12	*sl_DiscConfig_r12;
   /// Dedicated TX config for Sidelink
-  struct SL_CommConfig_r12	*sl_CommConfig_r12;
+  struct LTE_SL_CommConfig_r12	*sl_CommConfig_r12;
   //SL sourceL2ID
   uint32_t sourceL2Id;
   //SL groupL2Id
@@ -1535,17 +1535,17 @@ typedef struct {
 
 #endif
     /// pointer to TDD Configuration (NULL for FDD)
-    TDD_Config_t *tdd_Config;
+    LTE_TDD_Config_t *tdd_Config;
     /// Number of adjacent cells to measure
     uint8_t n_adj_cells;
     /// Array of adjacent physical cell ids
     uint32_t adj_cell_id[6];
     /// Pointer to RRC MAC configuration
-    MAC_MainConfig_t *macConfig;
+    LTE_MAC_MainConfig_t *macConfig;
     /// Pointer to RRC Measurement gap configuration
-    MeasGapConfig_t *measGapConfig;
+    LTE_MeasGapConfig_t *measGapConfig;
     /// Pointers to LogicalChannelConfig indexed by LogicalChannelIdentity. Note NULL means LCHAN is inactive.
-    LogicalChannelConfig_t *logicalChannelConfig[MAX_NUM_LCID];
+    LTE_LogicalChannelConfig_t *logicalChannelConfig[MAX_NUM_LCID];
     /// Scheduling Information
     UE_SCHEDULING_INFO scheduling_info;
     /// Outgoing CCCH pdu for PHY
@@ -1554,7 +1554,7 @@ typedef struct {
     RAR_PDU RAR_pdu;
     /// Incoming DLSCH pdu for PHY
     DLSCH_PDU DLSCH_pdu[MAX_MOBILES_PER_ENB][2];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     int sltx_active;
     SLSCH_t slsch;
     SLDCH_t sldch;
@@ -1610,16 +1610,16 @@ typedef struct {
     uint8_t periodBSRTimer_expires_flag;
 
     /// MBSFN_Subframe Configuration
-    struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];	// FIXME replace 8 by MAX_MBSFN_AREA?
+    struct LTE_MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];	// FIXME replace 8 by MAX_MBSFN_AREA?
     /// number of subframe allocation pattern available for MBSFN sync area
     uint8_t num_sf_allocation_pattern;
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
     /// number of active MBSFN area
     uint8_t num_active_mbsfn_area;
     /// MBSFN Area Info
-    struct MBSFN_AreaInfo_r9 *mbsfn_AreaInfo[MAX_MBSFN_AREA];
+    struct LTE_MBSFN_AreaInfo_r9 *mbsfn_AreaInfo[MAX_MBSFN_AREA];
     /// PMCH Config
-    struct PMCH_Config_r9 *pmch_Config[MAX_PMCH_perMBSFN];
+    struct LTE_PMCH_Config_r9 *pmch_Config[MAX_PMCH_perMBSFN];
     /// MCCH status
     uint8_t mcch_status;
     /// MSI status
@@ -1627,7 +1627,7 @@ typedef struct {
     uint8_t msi_current_alloc;
     uint8_t msi_pmch;
 
-    struct MBSFN_SubframeConfig *commonSF_Alloc_r9_mbsfn_SubframeConfig[8]; // FIXME replace 8 by MAX_MBSFN_AREA?
+    struct LTE_MBSFN_SubframeConfig *commonSF_Alloc_r9_mbsfn_SubframeConfig[8]; // FIXME replace 8 by MAX_MBSFN_AREA?
     uint8_t commonSF_AllocPeriod_r9;
     int common_num_sf_alloc;
 
diff --git a/openair2/LAYER2/MAC/mac_proto.h b/openair2/LAYER2/MAC/mac_proto.h
index e0fdade419fab0907c807d392cbb7f3070522ac7..b953c1d4313dfd405e5a6423f16d87247f8bd80b 100644
--- a/openair2/LAYER2/MAC/mac_proto.h
+++ b/openair2/LAYER2/MAC/mac_proto.h
@@ -290,7 +290,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
 void initiate_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP,
 		      sub_frame_t subframeP, uint16_t preamble_index,
 		      int16_t timing_offset, uint16_t rnti
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		      , uint8_t rach_resource_type
 #endif
     );
@@ -309,7 +309,7 @@ unsigned short fill_rar(const module_id_t module_idP,
 			const uint16_t N_RB_UL,
 			const uint8_t input_buffer_length);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 unsigned short fill_rar_br(eNB_MAC_INST * eNB,
 			   int CC_id,
 			   RA_t * ra,
@@ -465,7 +465,7 @@ void set_ue_dai(sub_frame_t subframeP,
 		int UE_id,
 		uint8_t CC_id, uint8_t tdd_config, UE_list_t * UE_list);
 
-uint8_t frame_subframe2_dl_harq_pid(TDD_Config_t *tdd_Config, int abs_frameP, sub_frame_t subframeP);
+uint8_t frame_subframe2_dl_harq_pid(LTE_TDD_Config_t *tdd_Config, int abs_frameP, sub_frame_t subframeP);
 /** \brief First stage of PCH Scheduling. Gets a PCH SDU from RRC if available and computes the MCS required to transport it as a function of the SDU length.  It assumes a length less than or equal to 64 bytes (MCS 6, 3 PRBs).
 @param Mod_id Instance ID of eNB
 @param frame Frame index
@@ -549,7 +549,7 @@ void ue_send_sl_sdu(module_id_t module_idP,
 	       sl_discovery_flag_t sl_discovery_flag
 		    );
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 /* \brief Called by PHY to transfer MCH transport block to ue MAC.
 @param Mod_id Index of module instance
 @param frame Frame index
@@ -694,7 +694,7 @@ int to_prb(int);
 int to_rbg(int);
 int mac_init(void);
 int add_new_ue(module_id_t Mod_id, int CC_id, rnti_t rnti, int harq_pid
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	       , uint8_t rach_resource_type
 #endif
     );
@@ -956,46 +956,46 @@ int rrc_mac_config_req_eNB(module_id_t module_idP,
 			   int p_eNB,
 			   int Ncp,
 			   int eutra_band, uint32_t dl_CarrierFreq,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			   int pbch_repetition,
 #endif
 			   rnti_t rntiP,
-			   BCCH_BCH_Message_t * mib,
-			   RadioResourceConfigCommonSIB_t *
+			   LTE_BCCH_BCH_Message_t * mib,
+			   LTE_RadioResourceConfigCommonSIB_t *
 			   radioResourceConfigCommon,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-			   RadioResourceConfigCommonSIB_t *
-			   radioResourceConfigCommon_BR,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+			   LTE_RadioResourceConfigCommonSIB_t *
+			   LTE_radioResourceConfigCommon_BR,
 #endif
-			   struct PhysicalConfigDedicated
+			   struct LTE_PhysicalConfigDedicated
 			   *physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			   SCellToAddMod_r10_t * sCellToAddMod_r10,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			   LTE_SCellToAddMod_r10_t * sCellToAddMod_r10,
 			   //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-			   MeasObjectToAddMod_t ** measObj,
-			   MAC_MainConfig_t * mac_MainConfig,
+			   LTE_MeasObjectToAddMod_t ** measObj,
+			   LTE_MAC_MainConfig_t * mac_MainConfig,
 			   long logicalChannelIdentity,
-			   LogicalChannelConfig_t * logicalChannelConfig,
-			   MeasGapConfig_t * measGapConfig,
-			   TDD_Config_t * tdd_Config,
-			   MobilityControlInfo_t * mobilityControlInfo,
-			   SchedulingInfoList_t * schedulingInfoList,
+			   LTE_LogicalChannelConfig_t * logicalChannelConfig,
+			   LTE_MeasGapConfig_t * measGapConfig,
+			   LTE_TDD_Config_t * tdd_Config,
+			   LTE_MobilityControlInfo_t * mobilityControlInfo,
+			   LTE_SchedulingInfoList_t * schedulingInfoList,
 			   uint32_t ul_CarrierFreq,
 			   long *ul_Bandwidth,
-			   AdditionalSpectrumEmission_t *
+			   LTE_AdditionalSpectrumEmission_t *
 			   additionalSpectrumEmission,
-			   struct MBSFN_SubframeConfigList
+			   struct LTE_MBSFN_SubframeConfigList
 			   *mbsfn_SubframeConfigList
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			   ,
 			   uint8_t MBMS_Flag,
-			   MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
-			   PMCH_InfoList_r9_t * pmch_InfoList
+			   LTE_MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
+			   LTE_PMCH_InfoList_r9_t * pmch_InfoList
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 			   ,
-			   SystemInformationBlockType1_v1310_IEs_t *
+			   LTE_SystemInformationBlockType1_v1310_IEs_t *
 			   sib1_ext_r13
 #endif
     );
@@ -1023,40 +1023,40 @@ int rrc_mac_config_req_eNB(module_id_t module_idP,
 int rrc_mac_config_req_ue(module_id_t module_idP,
 			  int CC_id,
 			  uint8_t eNB_index,
-			  RadioResourceConfigCommonSIB_t *
+			  LTE_RadioResourceConfigCommonSIB_t *
 			  radioResourceConfigCommon,
-			  struct PhysicalConfigDedicated
+			  struct LTE_PhysicalConfigDedicated
 			  *physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			  SCellToAddMod_r10_t * sCellToAddMod_r10,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			  LTE_SCellToAddMod_r10_t * sCellToAddMod_r10,
 			  //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-			  MeasObjectToAddMod_t ** measObj,
-			  MAC_MainConfig_t * mac_MainConfig,
+			  LTE_MeasObjectToAddMod_t ** measObj,
+			  LTE_MAC_MainConfig_t * mac_MainConfig,
 			  long logicalChannelIdentity,
-			  LogicalChannelConfig_t * logicalChannelConfig,
-			  MeasGapConfig_t * measGapConfig,
-			  TDD_Config_t * tdd_Config,
-			  MobilityControlInfo_t * mobilityControlInfo,
+			  LTE_LogicalChannelConfig_t * logicalChannelConfig,
+			  LTE_MeasGapConfig_t * measGapConfig,
+			  LTE_TDD_Config_t * tdd_Config,
+			  LTE_MobilityControlInfo_t * mobilityControlInfo,
 			  uint8_t * SIwindowsize,
 			  uint16_t * SIperiod,
-			  ARFCN_ValueEUTRA_t * ul_CarrierFreq,
+			  LTE_ARFCN_ValueEUTRA_t * ul_CarrierFreq,
 			  long *ul_Bandwidth,
-			  AdditionalSpectrumEmission_t *
+			  LTE_AdditionalSpectrumEmission_t *
 			  additionalSpectrumEmission,
-			  struct MBSFN_SubframeConfigList
+			  struct LTE_MBSFN_SubframeConfigList
 			  *mbsfn_SubframeConfigList
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 			  ,
 			  uint8_t MBMS_Flag,
-			  MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
-			  PMCH_InfoList_r9_t * pmch_InfoList
+			  LTE_MBSFN_AreaInfoList_r9_t * mbsfn_AreaInfoList,
+			  LTE_PMCH_InfoList_r9_t * pmch_InfoList
 #endif
 #ifdef CBA
 			  ,
 			  uint8_t num_active_cba_groups, uint16_t cba_rnti
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			  ,config_action_t config_action
 			  ,const uint32_t * const sourceL2Id
 			  ,const uint32_t * const destinationL2Id
@@ -1084,11 +1084,11 @@ uint16_t mac_computeRIV(uint16_t N_RB_DL, uint16_t RBstart,
 
 int get_phich_resource_times6(COMMON_channels_t * cc);
 
-uint8_t frame_subframe2_dl_harq_pid(TDD_Config_t *tdd_Config, int abs_frameP, sub_frame_t subframeP);
+uint8_t frame_subframe2_dl_harq_pid(LTE_TDD_Config_t *tdd_Config, int abs_frameP, sub_frame_t subframeP);
 
 uint8_t ul_subframe2_k_phich(COMMON_channels_t * cc, sub_frame_t ul_subframe);
 
-unsigned char ul_ACK_subframe2M(TDD_Config_t *tdd_Config,unsigned char subframe);
+unsigned char ul_ACK_subframe2M(LTE_TDD_Config_t *tdd_Config,unsigned char subframe);
 
 int to_rbg(int dl_Bandwidth);
 
@@ -1113,17 +1113,17 @@ void get_srs_pos(COMMON_channels_t * cc, uint16_t isrs,
 		 uint16_t * psrsPeriodicity, uint16_t * psrsOffset);
 
 void get_csi_params(COMMON_channels_t * cc,
-		    struct CQI_ReportPeriodic *cqi_PMI_ConfigIndex,
+		    struct LTE_CQI_ReportPeriodic *cqi_PMI_ConfigIndex,
 		    uint16_t * Npd, uint16_t * N_OFFSET_CQI, int *H);
 
 uint8_t get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP,
 				 COMMON_channels_t * cc, uint8_t tmode,
-				 struct CQI_ReportPeriodic
+				 struct LTE_CQI_ReportPeriodic
 				 *cqi_ReportPeriodic);
 
 uint8_t get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
 				  uint8_t ri,
-				  CQI_ReportModeAperiodic_t *
+				  LTE_CQI_ReportModeAperiodic_t *
 				  cqi_ReportModeAperiodic);
 void extract_pucch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
 		       frame_t frameP, sub_frame_t subframeP,
@@ -1140,7 +1140,7 @@ uint16_t fill_nfapi_tx_req(nfapi_tx_request_body_t * tx_req_body,
 void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *
 					  ul_config_pdu, uint8_t cqi_req,
 					  COMMON_channels_t * cc,
-					  struct PhysicalConfigDedicated
+					  struct LTE_PhysicalConfigDedicated
 					  *physicalConfigDedicated,
 					  uint8_t tmode, uint32_t handle,
 					  uint16_t rnti,
@@ -1159,7 +1159,7 @@ void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *
 					  uint8_t current_tx_nb,
 					  uint8_t n_srs, uint16_t size);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 void fill_nfapi_ulsch_config_request_emtc(nfapi_ul_config_request_pdu_t *
 					  ul_config_pdu, uint8_t ue_type,
 					  uint16_t
@@ -1236,7 +1236,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP);
 uint8_t get_ul_req_index(module_id_t module_idP, int CC_idP,
 			 sub_frame_t subframeP);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 int get_numnarrowbandbits(long dl_Bandwidth);
 
 int mpdcch_sf_condition(eNB_MAC_INST * eNB, int CC_id, frame_t frameP,
diff --git a/openair2/LAYER2/MAC/mac_vars.h b/openair2/LAYER2/MAC/mac_vars.h
index 76842afd38358bed4baeb0ff3b72d0c68cf728db..4090d954bc538b80152f7381c235b3c7d5c892c7 100644
--- a/openair2/LAYER2/MAC/mac_vars.h
+++ b/openair2/LAYER2/MAC/mac_vars.h
@@ -124,7 +124,7 @@ DCI1A_5MHz_TDD_1_6_t BCCH_alloc_pdu;
 DCI1A_5MHz_TDD_1_6_t CCCH_alloc_pdu;
 DCI1_5MHz_TDD_t DLSCH_alloc_pdu;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 DCI1C_5MHz_t MCCH_alloc_pdu;
 #endif
 
diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c
index 5846720c7f71a357a338631110853e708d33e4e7..341579a084ce7908dd409d54e838aa0013eea6c1 100644
--- a/openair2/LAYER2/MAC/pre_processor.c
+++ b/openair2/LAYER2/MAC/pre_processor.c
@@ -124,7 +124,7 @@ store_dlsch_buffer(module_id_t Mod_id,
 
 	    rlc_status = mac_rlc_status_ind(Mod_id, rnti, Mod_id, frameP, subframeP,
 				   ENB_FLAG_YES, MBMS_FLAG_NO, lcid, 0
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                    ,0, 0
 #endif
                    );
diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c
index aeabbd092a32c02dee9ba16fdabf6deab593b0ec..d139c8bd472de11fe9350090f0f451c11d32db03 100644
--- a/openair2/LAYER2/MAC/ra_procedures.c
+++ b/openair2/LAYER2/MAC/ra_procedures.c
@@ -57,12 +57,12 @@ get_prach_resources(module_id_t module_idP,
 		    uint8_t eNB_index,
 		    uint8_t t_id,
 		    uint8_t first_Msg3,
-		    RACH_ConfigDedicated_t * rach_ConfigDedicated)
+		    LTE_RACH_ConfigDedicated_t * rach_ConfigDedicated)
 {
     uint8_t Msg3_size = UE_mac_inst[module_idP].RA_Msg3_size;
     PRACH_RESOURCES_t *prach_resources =
 	&UE_mac_inst[module_idP].RA_prach_resources;
-    RACH_ConfigCommon_t *rach_ConfigCommon = NULL;
+    LTE_RACH_ConfigCommon_t *rach_ConfigCommon = NULL;
     uint8_t noGroupB = 0;
     uint8_t f_id = 0, num_prach = 0;
     int numberOfRA_Preambles;
@@ -311,8 +311,8 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP, int CC_id,
 
     uint8_t lcid = CCCH;
     uint16_t Size16;
-    struct RACH_ConfigCommon *rach_ConfigCommon =
-	(struct RACH_ConfigCommon *) NULL;
+    struct LTE_RACH_ConfigCommon *rach_ConfigCommon =
+	(struct LTE_RACH_ConfigCommon *) NULL;
     int32_t frame_diff = 0;
     uint8_t dcch_header_len = 0;
     uint16_t sdu_lengths;
@@ -408,7 +408,7 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP, int CC_id,
 				       UE_mac_inst[module_idP].crnti,
 				       eNB_indexP, frameP, subframeP,
 				       ENB_FLAG_NO, MBMS_FLAG_NO, DCCH, 6
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,0, 0
 #endif
                );
@@ -428,7 +428,7 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP, int CC_id,
 
 		sdu_lengths = mac_rlc_data_req(module_idP, UE_mac_inst[module_idP].crnti, eNB_indexP, frameP, ENB_FLAG_NO, MBMS_FLAG_NO, DCCH, 6,	//not used
 						  (char *) &ulsch_buff[0]
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 						  ,0,
 						  0
 #endif
@@ -553,37 +553,37 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP, int CC_id,
 		int preambleTransMax = -1;
 		switch (rach_ConfigCommon->ra_SupervisionInfo.
 			preambleTransMax) {
-		case PreambleTransMax_n3:
+		case LTE_PreambleTransMax_n3:
 		    preambleTransMax = 3;
 		    break;
-		case PreambleTransMax_n4:
+		case LTE_PreambleTransMax_n4:
 		    preambleTransMax = 4;
 		    break;
-		case PreambleTransMax_n5:
+		case LTE_PreambleTransMax_n5:
 		    preambleTransMax = 5;
 		    break;
-		case PreambleTransMax_n6:
+		case LTE_PreambleTransMax_n6:
 		    preambleTransMax = 6;
 		    break;
-		case PreambleTransMax_n7:
+		case LTE_PreambleTransMax_n7:
 		    preambleTransMax = 7;
 		    break;
-		case PreambleTransMax_n8:
+		case LTE_PreambleTransMax_n8:
 		    preambleTransMax = 8;
 		    break;
-		case PreambleTransMax_n10:
+		case LTE_PreambleTransMax_n10:
 		    preambleTransMax = 10;
 		    break;
-		case PreambleTransMax_n20:
+		case LTE_PreambleTransMax_n20:
 		    preambleTransMax = 20;
 		    break;
-		case PreambleTransMax_n50:
+		case LTE_PreambleTransMax_n50:
 		    preambleTransMax = 50;
 		    break;
-		case PreambleTransMax_n100:
+		case LTE_PreambleTransMax_n100:
 		    preambleTransMax = 100;
 		    break;
-		case PreambleTransMax_n200:
+		case LTE_PreambleTransMax_n200:
 		    preambleTransMax = 200;
 		    break;
 		}
diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c
index 2e6b47ff60464c320326a8d48455e47fc43792d2..3414d7632f782b4ef5854c8b5b226b4e9863e245 100644
--- a/openair2/LAYER2/MAC/rar_tools.c
+++ b/openair2/LAYER2/MAC/rar_tools.c
@@ -108,7 +108,7 @@ fill_rar(const module_id_t module_idP,
     return (ra->rnti);
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 //------------------------------------------------------------------------------
 unsigned short
 fill_rar_br(eNB_MAC_INST * eNB,
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 2c99b79ce8057860a4f3870c6dcd6a302854f7d7..3d86187e8863415c5308199f4e07c60ec7118d57 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -96,22 +96,22 @@ void ue_init_mac(module_id_t module_idP)
     LOG_I(MAC, "[UE%d] Applying default macMainConfig\n", module_idP);
     //UE_mac_inst[module_idP].scheduling_info.macConfig=NULL;
     UE_mac_inst[module_idP].scheduling_info.retxBSR_Timer =
-	RetxBSR_Timer_r12_sf10240;
+	LTE_RetxBSR_Timer_r12_sf10240;
     UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer =
-	PeriodicBSR_Timer_r12_infinity;
+	LTE_PeriodicBSR_Timer_r12_infinity;
     UE_mac_inst[module_idP].scheduling_info.periodicPHR_Timer =
-	MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20;
+	LTE_MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20;
     UE_mac_inst[module_idP].scheduling_info.prohibitPHR_Timer =
-	MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20;
+	LTE_MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20;
     UE_mac_inst[module_idP].scheduling_info.PathlossChange_db =
-	MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;
+	LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;
     UE_mac_inst[module_idP].PHR_state =
-	MAC_MainConfig__phr_Config_PR_setup;
+	LTE_MAC_MainConfig__phr_Config_PR_setup;
     UE_mac_inst[module_idP].scheduling_info.SR_COUNTER = 0;
     UE_mac_inst[module_idP].scheduling_info.sr_ProhibitTimer = 0;
     UE_mac_inst[module_idP].scheduling_info.sr_ProhibitTimer_Running = 0;
     UE_mac_inst[module_idP].scheduling_info.maxHARQ_Tx =
-	MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
+	LTE_MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
     UE_mac_inst[module_idP].scheduling_info.ttiBundling = 0;
     UE_mac_inst[module_idP].scheduling_info.extendedBSR_Sizes_r10 = 0;
     UE_mac_inst[module_idP].scheduling_info.extendedPHR_r10 = 0;
@@ -304,14 +304,14 @@ ue_get_SR(module_id_t module_idP, int CC_id, frame_t frameP,
     // determin the measurement gap
     if (UE_mac_inst[module_idP].measGapConfig != NULL) {
 	if (UE_mac_inst[module_idP].measGapConfig->choice.setup.
-	    gapOffset.present == MeasGapConfig__setup__gapOffset_PR_gp0) {
+	    gapOffset.present == LTE_MeasGapConfig__setup__gapOffset_PR_gp0) {
 	    MGRP = 40;
 	    gapOffset =
 		UE_mac_inst[module_idP].measGapConfig->choice.
 		setup.gapOffset.choice.gp0;
 	} else if (UE_mac_inst[module_idP].measGapConfig->choice.
 		   setup.gapOffset.present ==
-		   MeasGapConfig__setup__gapOffset_PR_gp1) {
+		   LTE_MeasGapConfig__setup__gapOffset_PR_gp1) {
 	    MGRP = 80;
 	    gapOffset =
 		UE_mac_inst[module_idP].measGapConfig->choice.
@@ -689,7 +689,7 @@ ue_decode_p(module_id_t module_idP, int CC_id, frame_t frameP,
     }
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 unsigned char *parse_mch_header(unsigned char *mac_header,
 				unsigned char *num_sdu,
 				unsigned char *rx_lcids,
@@ -1017,7 +1017,7 @@ int ue_query_p_mch(module_id_t module_idP, uint32_t frameP, uint32_t subframe, i
     if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i] == NULL)
       continue;
 
-    if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) // one-frameP format
+    if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.present == LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) // one-frameP format
       continue;
 
     // four-frameP format
@@ -1032,7 +1032,7 @@ int ue_query_p_mch(module_id_t module_idP, uint32_t frameP, uint32_t subframe, i
     if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i] == NULL)
       continue;
 
-    if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) // one-frameP format
+    if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.present == LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) // one-frameP format
       continue;
 
     // four-frameP format
@@ -1167,7 +1167,7 @@ int ue_query_mch(module_id_t module_idP, uint8_t CC_id, uint32_t frameP, uint32_
       break;
     }
 
-    if (UE_mac_inst[module_idP].mbsfn_SubframeConfig[j]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) { // one-frameP format
+    if (UE_mac_inst[module_idP].mbsfn_SubframeConfig[j]->subframeAllocation.present == LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) { // one-frameP format
       if (frameP % mbsfn_period == mbsfn_alloc_offset) { // MBSFN frameP
 
         if (UE_mac_inst[module_idP].pmch_Config[0]) {
@@ -1372,7 +1372,7 @@ int ue_query_mch(module_id_t module_idP, uint8_t CC_id, uint32_t frameP, uint32_
           if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i] == NULL)
             continue;
 
-          if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.present != MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame)
+          if (UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.present != LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame)
             continue;
 
           uint32_t common_mbsfn_SubframeConfig = UE_mac_inst[module_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i]->subframeAllocation.choice.oneFrame.buf[0];
@@ -1919,7 +1919,7 @@ ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
     }
     // periodicBSR-Timer expires, trigger BSR
     if ((UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer !=
-	 PeriodicBSR_Timer_r12_infinity)
+	  LTE_PeriodicBSR_Timer_r12_infinity)
 	&& (UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF == 0)) {
 	// Trigger BSR Periodic
 	UE_mac_inst[module_idP].BSR_reporting_active |=
@@ -2055,7 +2055,7 @@ ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
 							 lcid,
 							 buflen_remain,
 							 (char *)&ulsch_buff[sdu_length_total]
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 							 ,0,
                               0
 #endif
@@ -2447,7 +2447,7 @@ ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
 	// Reset Periodic Timer except when BSR is truncated
 	if ((bsr_t == NULL)
 	    && (UE_mac_inst[module_idP].scheduling_info.
-		periodicBSR_Timer != PeriodicBSR_Timer_r12_infinity)) {
+		periodicBSR_Timer != LTE_PeriodicBSR_Timer_r12_infinity)) {
 	    UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF =
 		get_sf_periodicBSRTimer(UE_mac_inst
 					[module_idP].scheduling_info.
@@ -2506,8 +2506,8 @@ ue_scheduler(const module_id_t module_idP,
     int bucketsizeduration_max = -1;
     // mac_rlc_status_resp_t rlc_status[MAX_NUM_LCGID]; // 4
     // int8_t lcg_id;
-    struct RACH_ConfigCommon *rach_ConfigCommon =
-	(struct RACH_ConfigCommon *) NULL;
+    struct LTE_RACH_ConfigCommon *rach_ConfigCommon =
+	(struct LTE_RACH_ConfigCommon *) NULL;
     protocol_ctxt_t ctxt;
 
 #if defined(ENABLE_ITTI)
@@ -2600,7 +2600,7 @@ ue_scheduler(const module_id_t module_idP,
 	      eNB_indexP);
 	//Invalid...need to add another MAC UE state for re-connection procedure
 	phy_config_afterHO_ue(module_idP, 0, eNB_indexP,
-			      (MobilityControlInfo_t *) NULL, 1);
+			      (LTE_MobilityControlInfo_t *) NULL, 1);
 	//return(3);
 	break;
 
@@ -2765,7 +2765,7 @@ ue_scheduler(const module_id_t module_idP,
 	 physicalConfigDedicated->schedulingRequestConfig == NULL)
 	|| (UE_mac_inst[module_idP].
 	    physicalConfigDedicated->schedulingRequestConfig->present ==
-	    SchedulingRequestConfig_PR_release)) {
+	    LTE_SchedulingRequestConfig_PR_release)) {
 
 	// initiate RA with CRNTI included in msg3 (no contention) as descibed in 36.321 sec 5.1.5
 
@@ -2776,7 +2776,7 @@ ue_scheduler(const module_id_t module_idP,
     }
     // Put this in a function
     // Call PHR procedure as described in Section 5.4.6 in 36.321
-    if (UE_mac_inst[module_idP].PHR_state == MAC_MainConfig__phr_Config_PR_setup) {	// normal operation
+    if (UE_mac_inst[module_idP].PHR_state == LTE_MAC_MainConfig__phr_Config_PR_setup) {	// normal operation
 
 	if (UE_mac_inst[module_idP].PHR_reconfigured == 1) {	// upon (re)configuration of the power headroom reporting functionality by upper layers
 	    UE_mac_inst[module_idP].PHR_reporting_active = 1;
@@ -3037,7 +3037,7 @@ update_bsr(module_id_t module_idP, frame_t frameP,
 		    rlc_status = mac_rlc_status_ind(module_idP, UE_mac_inst[module_idP].crnti,eNB_index,frameP,subframeP,ENB_FLAG_NO,MBMS_FLAG_NO,
 		                                    lcid,
 		                                    0xFFFF //TBS is not used in RLC at this step, set a special value for debug
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                           ,0, 0
 #endif
                                           );
@@ -3182,63 +3182,63 @@ int get_sf_periodicBSRTimer(uint8_t sf_offset)
 {
 
     switch (sf_offset) {
-    case PeriodicBSR_Timer_r12_sf5:
+    case LTE_PeriodicBSR_Timer_r12_sf5:
 	return 5;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf10:
+    case LTE_PeriodicBSR_Timer_r12_sf10:
 	return 10;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf16:
+    case LTE_PeriodicBSR_Timer_r12_sf16:
 	return 16;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf20:
+    case LTE_PeriodicBSR_Timer_r12_sf20:
 	return 20;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf32:
+    case LTE_PeriodicBSR_Timer_r12_sf32:
 	return 32;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf40:
+    case LTE_PeriodicBSR_Timer_r12_sf40:
 	return 40;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf64:
+    case LTE_PeriodicBSR_Timer_r12_sf64:
 	return 64;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf80:
+    case LTE_PeriodicBSR_Timer_r12_sf80:
 	return 80;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf128:
+    case LTE_PeriodicBSR_Timer_r12_sf128:
 	return 128;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf160:
+    case LTE_PeriodicBSR_Timer_r12_sf160:
 	return 160;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf320:
+    case LTE_PeriodicBSR_Timer_r12_sf320:
 	return 320;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf640:
+    case LTE_PeriodicBSR_Timer_r12_sf640:
 	return 640;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf1280:
+    case LTE_PeriodicBSR_Timer_r12_sf1280:
 	return 1280;
 	break;
 
-    case PeriodicBSR_Timer_r12_sf2560:
+    case LTE_PeriodicBSR_Timer_r12_sf2560:
 	return 2560;
 	break;
 
-    case PeriodicBSR_Timer_r12_infinity:
+    case LTE_PeriodicBSR_Timer_r12_infinity:
     default:
 	return 0xFFFF;
 	break;
@@ -3249,27 +3249,27 @@ int get_sf_retxBSRTimer(uint8_t sf_offset)
 {
 
     switch (sf_offset) {
-    case RetxBSR_Timer_r12_sf320:
+    case LTE_RetxBSR_Timer_r12_sf320:
 	return 320;
 	break;
 
-    case RetxBSR_Timer_r12_sf640:
+    case LTE_RetxBSR_Timer_r12_sf640:
 	return 640;
 	break;
 
-    case RetxBSR_Timer_r12_sf1280:
+    case LTE_RetxBSR_Timer_r12_sf1280:
 	return 1280;
 	break;
 
-    case RetxBSR_Timer_r12_sf2560:
+    case LTE_RetxBSR_Timer_r12_sf2560:
 	return 2560;
 	break;
 
-    case RetxBSR_Timer_r12_sf5120:
+    case LTE_RetxBSR_Timer_r12_sf5120:
 	return 5120;
 	break;
 
-    case RetxBSR_Timer_r12_sf10240:
+    case LTE_RetxBSR_Timer_r12_sf10240:
 	return 10240;
 	break;
 
@@ -3283,32 +3283,32 @@ int get_ms_bucketsizeduration(uint8_t bucketsizeduration)
 {
 
     switch (bucketsizeduration) {
-    case LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50:
+    case LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50:
 	return
 	    50;
 	break;
 
-    case LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms100:
+    case LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms100:
 	return
 	    100;
 	break;
 
-    case LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms150:
+    case LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms150:
 	return
 	    150;
 	break;
 
-    case LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms300:
+    case LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms300:
 	return
 	    300;
 	break;
 
-    case LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms500:
+    case LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms500:
 	return
 	    500;
 	break;
 
-    case LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000:
+    case LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000:
 	return
 	    1000;
 	break;
@@ -3369,19 +3369,19 @@ int get_sf_prohibitPHR_Timer(uint8_t prohibitPHR_Timer)
 int get_db_dl_PathlossChange(uint8_t dl_PathlossChange)
 {
     switch (dl_PathlossChange) {
-    case MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1:
+    case LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1:
 	return 1;
 	break;
 
-    case MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB3:
+    case LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB3:
 	return 3;
 	break;
 
-    case MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB6:
+    case LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB6:
 	return 6;
 	break;
 
-    case MAC_MainConfig__phr_Config__setup__dl_PathlossChange_infinity:
+    case LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_infinity:
     default:
 	return -1;
 	break;
@@ -3478,7 +3478,7 @@ SLSCH_t *ue_get_slsch(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_
                ue->slsch_lcid,
                req,
                (char*)(ue->slsch_pdu.payload + sizeof(SLSCH_SUBHEADER_24_Bit_DST_LONG))
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,ue->sourceL2Id,
                ue->destinationL2Id
 #endif
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index 05ddb4151f69513cb65b06d7aef3f91ec6315054..6167e1e6ca1b4b6a63037b7b5b45a9cd927c323f 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -96,7 +96,7 @@ boolean_t pdcp_data_req(
   const sdu_size_t     sdu_buffer_sizeP,
   unsigned char *const sdu_buffer_pP,
   const pdcp_transmission_mode_t modeP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     ,const uint32_t * const sourceL2Id
     ,const uint32_t * const destinationL2Id
 #endif
@@ -143,7 +143,7 @@ boolean_t pdcp_data_req(
     if (srb_flagP) {
       AssertError (rb_idP < 3, return FALSE, "RB id is too high (%u/%d) %u %u!\n", rb_idP, 3, ctxt_pP->module_id, ctxt_pP->rnti);
     } else {
-      AssertError (rb_idP < maxDRB, return FALSE, "RB id is too high (%u/%d) %u %u!\n", rb_idP, maxDRB, ctxt_pP->module_id, ctxt_pP->rnti);
+      AssertError (rb_idP < LTE_maxDRB, return FALSE, "RB id is too high (%u/%d) %u %u!\n", rb_idP, LTE_maxDRB, ctxt_pP->module_id, ctxt_pP->rnti);
     }
   }
 
@@ -183,7 +183,7 @@ boolean_t pdcp_data_req(
                                 sdu_buffer_sizeP);
 #endif
       rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_YES, rb_idP, muiP, confirmP, sdu_buffer_sizeP, pdcp_pdu_p
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                 ,NULL, NULL
 #endif
                                 );
@@ -317,7 +317,7 @@ boolean_t pdcp_data_req(
         pdcp_apply_security(ctxt_pP,
                             pdcp_p,
                             srb_flagP,
-                            rb_idP % maxDRB,
+                            rb_idP % LTE_maxDRB,
                             pdcp_header_len,
                             current_sn,
                             pdcp_pdu_p->data,
@@ -367,7 +367,7 @@ boolean_t pdcp_data_req(
                 "[MSG] PDCP DL %s PDU on rb_id %d\n",(srb_flagP)? "CONTROL" : "DATA", rb_idP);
 
     rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_NO, rb_idP, muiP, confirmP, pdcp_pdu_size, pdcp_pdu_p
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                              ,sourceL2Id
                              ,destinationL2Id
 #endif
@@ -504,15 +504,15 @@ pdcp_data_ind(
     }
 
   } else {
-    rb_id = rb_idP % maxDRB;
-    AssertError (rb_id < maxDRB, return FALSE, "RB id is too high (%u/%d) %u UE %x!\n",
+    rb_id = rb_idP % LTE_maxDRB;
+    AssertError (rb_id < LTE_maxDRB, return FALSE, "RB id is too high (%u/%d) %u UE %x!\n",
                  rb_id,
-                 maxDRB,
+                 LTE_maxDRB,
                  ctxt_pP->module_id,
                  ctxt_pP->rnti);
     AssertError (rb_id > 0, return FALSE, "RB id is too low (%u/%d) %u UE %x!\n",
                  rb_id,
-                 maxDRB,
+                 LTE_maxDRB,
                  ctxt_pP->module_id,
                  ctxt_pP->rnti);
     key = PDCP_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_id, srb_flagP);
@@ -798,7 +798,7 @@ pdcp_data_ind(
         ((pdcp_data_ind_header_t*) new_sdu_p->data)->inst  = 1;
 #endif
       } else {
-        ((pdcp_data_ind_header_t*) new_sdu_p->data)->rb_id = rb_id + (ctxt_pP->module_id * maxDRB);
+        ((pdcp_data_ind_header_t*) new_sdu_p->data)->rb_id = rb_id + (ctxt_pP->module_id * LTE_maxDRB);
       }
       ((pdcp_data_ind_header_t*) new_sdu_p->data)->inst  = ctxt_pP->module_id;
 
@@ -980,7 +980,7 @@ pdcp_run (
                                 RRC_DCCH_DATA_REQ (msg_p).sdu_size,
                                 RRC_DCCH_DATA_REQ (msg_p).sdu_p,
                                 RRC_DCCH_DATA_REQ (msg_p).mode
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                 , NULL, NULL
 #endif
                                 );
@@ -1083,8 +1083,8 @@ pdcp_remove_UE(
 )
 //-----------------------------------------------------------------------------
 {
-  DRB_Identity_t  srb_id         = 0;
-  DRB_Identity_t  drb_id         = 0;
+  LTE_DRB_Identity_t  srb_id         = 0;
+  LTE_DRB_Identity_t  drb_id         = 0;
   hash_key_t      key            = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t  h_rc;
   int i; 
@@ -1102,7 +1102,7 @@ pdcp_remove_UE(
     h_rc = hashtable_remove(pdcp_coll_p, key);
   }
 
-  for (drb_id=0; drb_id<maxDRB; drb_id++) {
+  for (drb_id=0; drb_id<LTE_maxDRB; drb_id++) {
     key = PDCP_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, drb_id, SRB_FLAG_NO);
     h_rc = hashtable_remove(pdcp_coll_p, key);
 
@@ -1131,44 +1131,44 @@ pdcp_remove_UE(
 boolean_t
 rrc_pdcp_config_asn1_req (
   const protocol_ctxt_t* const  ctxt_pP,
-  SRB_ToAddModList_t  *const srb2add_list_pP,
-  DRB_ToAddModList_t  *const drb2add_list_pP,
-  DRB_ToReleaseList_t *const drb2release_list_pP,
+  LTE_SRB_ToAddModList_t  *const srb2add_list_pP,
+  LTE_DRB_ToAddModList_t  *const drb2add_list_pP,
+  LTE_DRB_ToReleaseList_t *const drb2release_list_pP,
   const uint8_t                   security_modeP,
   uint8_t                  *const kRRCenc_pP,
   uint8_t                  *const kRRCint_pP,
   uint8_t                  *const kUPenc_pP
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-  ,PMCH_InfoList_r9_t*  const pmch_InfoList_r9_pP
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+  ,LTE_PMCH_InfoList_r9_t*  const pmch_InfoList_r9_pP
 #endif
   ,rb_id_t                 *const defaultDRB 
 )
 //-----------------------------------------------------------------------------
 {
   long int        lc_id          = 0;
-  DRB_Identity_t  srb_id         = 0;
+  LTE_DRB_Identity_t  srb_id     = 0;
   long int        mch_id         = 0;
   rlc_mode_t      rlc_type       = RLC_MODE_NONE;
-  DRB_Identity_t  drb_id         = 0;
-  DRB_Identity_t *pdrb_id_p      = NULL;
+  LTE_DRB_Identity_t  drb_id     = 0;
+  LTE_DRB_Identity_t *pdrb_id_p  = NULL;
   uint8_t         drb_sn         = 12;
   uint8_t         srb_sn         = 5; // fixed sn for SRBs
   uint8_t         drb_report     = 0;
   long int        cnt            = 0;
   uint16_t        header_compression_profile = 0;
   config_action_t action                     = CONFIG_ACTION_ADD;
-  SRB_ToAddMod_t *srb_toaddmod_p = NULL;
-  DRB_ToAddMod_t *drb_toaddmod_p = NULL;
+  LTE_SRB_ToAddMod_t *srb_toaddmod_p = NULL;
+  LTE_DRB_ToAddMod_t *drb_toaddmod_p = NULL;
   pdcp_t         *pdcp_p         = NULL;
 
   hash_key_t      key            = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t  h_rc;
   hash_key_t      key_defaultDRB = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t  h_defaultDRB_rc;
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   int i,j;
-  MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
-  MBMS_SessionInfo_r9_t     *MBMS_SessionInfo_p        = NULL;
+  LTE_MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
+  LTE_MBMS_SessionInfo_r9_t     *MBMS_SessionInfo_p        = NULL;
 #endif
 
   LOG_T(PDCP, PROTOCOL_CTXT_FMT" %s() SRB2ADD %p DRB2ADD %p DRB2RELEASE %p\n",
@@ -1215,12 +1215,12 @@ rrc_pdcp_config_asn1_req (
 
       if (srb_toaddmod_p->rlc_Config) {
         switch (srb_toaddmod_p->rlc_Config->present) {
-        case SRB_ToAddMod__rlc_Config_PR_NOTHING:
+        case LTE_SRB_ToAddMod__rlc_Config_PR_NOTHING:
           break;
 
-        case SRB_ToAddMod__rlc_Config_PR_explicitValue:
+        case LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue:
           switch (srb_toaddmod_p->rlc_Config->choice.explicitValue.present) {
-          case RLC_Config_PR_NOTHING:
+          case LTE_RLC_Config_PR_NOTHING:
             break;
 
           default:
@@ -1245,7 +1245,7 @@ rrc_pdcp_config_asn1_req (
 
           break;
 
-        case SRB_ToAddMod__rlc_Config_PR_defaultValue:
+        case LTE_SRB_ToAddMod__rlc_Config_PR_defaultValue:
         	pdcp_config_req_asn1 (
         	              ctxt_pP,
         	              pdcp_p,
@@ -1294,7 +1294,7 @@ rrc_pdcp_config_asn1_req (
         continue;
       }
 
-      DevCheck4(drb_id < maxDRB, drb_id, maxDRB, ctxt_pP->module_id, ctxt_pP->rnti);
+      DevCheck4(drb_id < LTE_maxDRB, drb_id, LTE_maxDRB, ctxt_pP->module_id, ctxt_pP->rnti);
       key = PDCP_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, drb_id, SRB_FLAG_NO);
       h_rc = hashtable_get(pdcp_coll_p, key, (void**)&pdcp_p);
 
@@ -1343,7 +1343,7 @@ rrc_pdcp_config_asn1_req (
 
         if (drb_toaddmod_p->pdcp_Config->rlc_AM) {
           drb_report = drb_toaddmod_p->pdcp_Config->rlc_AM->statusReportRequired;
-          drb_sn = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits; // default SN size
+          drb_sn = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits; // default SN size
           rlc_type = RLC_MODE_AM;
         }
 
@@ -1353,12 +1353,12 @@ rrc_pdcp_config_asn1_req (
         }
 
         switch (drb_toaddmod_p->pdcp_Config->headerCompression.present) {
-        case PDCP_Config__headerCompression_PR_NOTHING:
-        case PDCP_Config__headerCompression_PR_notUsed:
+        case LTE_PDCP_Config__headerCompression_PR_NOTHING:
+        case LTE_PDCP_Config__headerCompression_PR_notUsed:
           header_compression_profile=0x0;
           break;
 
-        case PDCP_Config__headerCompression_PR_rohc:
+        case LTE_PDCP_Config__headerCompression_PR_rohc:
 
           // parse the struc and get the rohc profile
           if(drb_toaddmod_p->pdcp_Config->headerCompression.choice.rohc.profiles.profile0x0001) {
@@ -1463,7 +1463,7 @@ rrc_pdcp_config_asn1_req (
     }
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 
   if (pmch_InfoList_r9_pP != NULL) {
     for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
@@ -1480,7 +1480,7 @@ rrc_pdcp_config_asn1_req (
 
         // can set the mch_id = i
         if (ctxt_pP->enb_flag) {
-          drb_id =  (mch_id * maxSessionPerPMCH ) + lc_id ;//+ (maxDRB + 3)*MAX_MOBILES_PER_ENB; // 1
+          drb_id =  (mch_id * LTE_maxSessionPerPMCH ) + lc_id ;//+ (LTE_maxDRB + 3)*MAX_MOBILES_PER_ENB; // 1
 
           if (pdcp_mbms_array_eNB[ctxt_pP->module_id][mch_id][lc_id].instanciated_instance == TRUE) {
             action = CONFIG_ACTION_MBMS_MODIFY;
@@ -1488,7 +1488,7 @@ rrc_pdcp_config_asn1_req (
             action = CONFIG_ACTION_MBMS_ADD;
           }
         } else {
-          drb_id =  (mch_id * maxSessionPerPMCH ) + lc_id; // + (maxDRB + 3); // 15
+          drb_id =  (mch_id * LTE_maxSessionPerPMCH ) + lc_id; // + (LTE_maxDRB + 3); // 15
 
           if (pdcp_mbms_array_ue[ctxt_pP->module_id][mch_id][lc_id].instanciated_instance == TRUE) {
             action = CONFIG_ACTION_MBMS_MODIFY;
@@ -1580,9 +1580,9 @@ pdcp_config_req_asn1 (
     pdcp_pP->header_compression_profile = header_compression_profileP;
     pdcp_pP->status_report              = rb_reportP;
 
-    if (rb_snP == PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits) {
+    if (rb_snP == LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits) {
       pdcp_pP->seq_num_size = PDCP_SN_12BIT;
-    } else if (rb_snP == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
+    } else if (rb_snP == LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
       pdcp_pP->seq_num_size = PDCP_SN_7BIT;
     } else {
       pdcp_pP->seq_num_size = PDCP_SN_5BIT;
@@ -1640,9 +1640,9 @@ pdcp_config_req_asn1 (
         kUPenc_pP);
     }
 
-    if (rb_snP == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
+    if (rb_snP == LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
       pdcp_pP->seq_num_size = 7;
-    } else if (rb_snP == PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits) {
+    } else if (rb_snP == LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits) {
       pdcp_pP->seq_num_size = 12;
     } else {
       pdcp_pP->seq_num_size=5;
@@ -1685,7 +1685,7 @@ pdcp_config_req_asn1 (
 
     memset(pdcp_pP, 0, sizeof(pdcp_t));
     break;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   case CONFIG_ACTION_MBMS_ADD:
   case CONFIG_ACTION_MBMS_MODIFY:
@@ -2006,7 +2006,7 @@ void pdcp_layer_init(void)
 
   module_id_t       instance;
   int i,j;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   mbms_session_id_t session_id;
   mbms_service_id_t service_id;
 #endif
@@ -2014,14 +2014,14 @@ void pdcp_layer_init(void)
    * Initialize SDU list
    */
   list_init(&pdcp_sdu_list, NULL);
-  pdcp_coll_p = hashtable_create ((maxDRB + 2) * 16, NULL, pdcp_free);
+  pdcp_coll_p = hashtable_create ((LTE_maxDRB + 2) * 16, NULL, pdcp_free);
   AssertFatal(pdcp_coll_p != NULL, "UNRECOVERABLE error, PDCP hashtable_create failed");
 
   for (instance = 0; instance < MAX_MOBILES_PER_ENB; instance++) {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
-    for (service_id = 0; service_id < maxServiceCount; service_id++) {
-      for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
+    for (service_id = 0; service_id < LTE_maxServiceCount; service_id++) {
+      for (session_id = 0; session_id < LTE_maxSessionPerPMCH; session_id++) {
         memset(&pdcp_mbms_array_ue[instance][service_id][session_id], 0, sizeof(pdcp_mbms_t));
       }
     }
@@ -2032,10 +2032,10 @@ void pdcp_layer_init(void)
 
     
   for (instance = 0; instance < NUMBER_OF_eNB_MAX; instance++) {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
-    for (service_id = 0; service_id < maxServiceCount; service_id++) {
-      for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
+    for (service_id = 0; service_id < LTE_maxServiceCount; service_id++) {
+      for (session_id = 0; session_id < LTE_maxSessionPerPMCH; session_id++) {
         memset(&pdcp_mbms_array_eNB[instance][service_id][session_id], 0, sizeof(pdcp_mbms_t));
       }
     }
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
index 054bb5fac41505cee29c05fd4cec395a3b2da8db..bc3bdac828828cce47915f50165b47bae83f41ce 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
@@ -42,13 +42,13 @@
 #include "RRC/LTE/rrc_defs.h"
 #include "COMMON/platform_constants.h"
 #include "COMMON/platform_types.h"
-#include "DRB-ToAddMod.h"
-#include "DRB-ToAddModList.h"
-#include "SRB-ToAddMod.h"
-#include "SRB-ToAddModList.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "MBMS-SessionInfoList-r9.h"
-#include "PMCH-InfoList-r9.h"
+#include "LTE_DRB-ToAddMod.h"
+#include "LTE_DRB-ToAddModList.h"
+#include "LTE_SRB-ToAddMod.h"
+#include "LTE_SRB-ToAddModList.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_MBMS-SessionInfoList-r9.h"
+#include "LTE_PMCH-InfoList-r9.h"
 #endif
 
 
@@ -195,7 +195,7 @@ typedef struct pdcp_s {
 
 } pdcp_t;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 typedef struct pdcp_mbms_s {
   boolean_t instanciated_instance;
   rb_id_t   rb_id;
@@ -232,7 +232,7 @@ boolean_t pdcp_data_req(
               const sdu_size_t sdu_buffer_size,
               unsigned char* const sdu_buffer,
               const pdcp_transmission_mode_t mode
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
               ,const uint32_t * const sourceL2Id
               ,const uint32_t * const destinationL2Id
 #endif
@@ -292,15 +292,15 @@ void rrc_pdcp_config_req (
 */
 boolean_t rrc_pdcp_config_asn1_req (
     const protocol_ctxt_t* const  ctxt_pP,
-    SRB_ToAddModList_t  *const srb2add_list,
-    DRB_ToAddModList_t  *const drb2add_list,
-    DRB_ToReleaseList_t *const drb2release_list,
+    LTE_SRB_ToAddModList_t  *const srb2add_list,
+    LTE_DRB_ToAddModList_t  *const drb2add_list,
+    LTE_DRB_ToReleaseList_t *const drb2release_list,
     const uint8_t                   security_modeP,
     uint8_t                  *const kRRCenc,
     uint8_t                  *const kRRCint,
     uint8_t                  *const kUPenc
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-    ,PMCH_InfoList_r9_t  *pmch_InfoList_r9
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+    ,LTE_PMCH_InfoList_r9_t  *pmch_InfoList_r9
 #endif
     ,rb_id_t                 *const defaultDRB 
   );
@@ -404,7 +404,7 @@ typedef struct pdcp_data_req_header_s {
   sdu_size_t          data_size;
   signed int          inst;
   ip_traffic_type_t   traffic_type;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   uint32_t sourceL2Id;
   uint32_t destinationL2Id;
 #endif
@@ -415,7 +415,7 @@ typedef struct pdcp_data_ind_header_s {
   sdu_size_t          data_size;
   signed int          inst;
   ip_traffic_type_t   dummy_traffic_type;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   uint32_t sourceL2Id;
   uint32_t destinationL2Id;
 #endif
@@ -429,7 +429,7 @@ struct pdcp_netlink_element_s {
 };
 
 //TTN for D2D (PC5S)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 #define PDCP_SOCKET_PORT_NO 9999 //temporary value
 #define PC5_SIGNALLING_PAYLOAD_SIZE   100  //should be updated with a correct value
 int pdcp_pc5_sockfd;
@@ -499,9 +499,9 @@ pdcp_stats_t              eNB_pdcp_stats[NUMBER_OF_eNB_MAX];
 rnti_t                 pdcp_UE_UE_module_id_to_rnti[MAX_MOBILES_PER_ENB];
 rnti_t                 pdcp_eNB_UE_instance_to_rnti[MAX_MOBILES_PER_ENB]; // for noS1 mode
 unsigned int           pdcp_eNB_UE_instance_to_rnti_index;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-pdcp_mbms_t               pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH];   // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
-pdcp_mbms_t               pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+pdcp_mbms_t               pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][LTE_maxServiceCount][LTE_maxSessionPerPMCH];   // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
+pdcp_mbms_t               pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][LTE_maxServiceCount][LTE_maxSessionPerPMCH]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
 #endif
 sdu_size_t             pdcp_output_sdu_bytes_to_write;
 sdu_size_t             pdcp_output_header_bytes_to_write;
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
index 92409d96dcfc4f0eb877a33af061f87480a0440a..7cab8cb40e0d0cdd472d4b32398270cb9ecb34d2 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
@@ -178,7 +178,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const  ctxt_pP)
          LOG_D(PDCP,"Sending to GTPV1U %d bytes\n", ((pdcp_data_ind_header_t *)(sdu_p->data))->data_size);
          gtpv1u_new_data_req(
                ctxt_pP->module_id, //gtpv1u_data_t *gtpv1u_data_p,
-               ctxt_pP->rnti,//rb_id/maxDRB, TO DO UE ID
+               ctxt_pP->rnti,//rb_id/LTE_maxDRB, TO DO UE ID
                ((pdcp_data_ind_header_t *)(sdu_p->data))->rb_id + 4,
                &(((uint8_t *) sdu_p->data)[sizeof (pdcp_data_ind_header_t)]),
                ((pdcp_data_ind_header_t *)(sdu_p->data))->data_size,
@@ -202,7 +202,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const  ctxt_pP)
       cont = 0;
 
 //TTN - for D2D (PC5S)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       sidelink_pc5s_element *sl_pc5s_msg_recv = NULL;
       char send_buf[BUFSIZE];
       int rb_id = ((pdcp_data_ind_header_t *)(sdu_p->data))->rb_id;
@@ -452,7 +452,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
       pdcp_data_req(&ctxt, SRB_FLAG_NO, rab_id, RLC_MUI_UNDEFINED,
                     RLC_SDU_CONFIRM_NO, len, (unsigned char *)nl_rx_buf,
                     PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                     , NULL, NULL
 #endif
                    );
@@ -488,7 +488,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
    pdcp_t*                        pdcp_p    = NULL;
 
 //TTN for D2D (PC5S)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
    int prose_addr_len;
    char send_buf[BUFSIZE], receive_buf[BUFSIZE];
    //int optval;
@@ -509,7 +509,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 
    while (pdcp_netlink_dequeue_element(ctxt_pP, &data_p) != 0) {
       DevAssert(data_p != NULL);
-      rab_id = data_p->pdcp_read_header.rb_id % maxDRB;
+      rab_id = data_p->pdcp_read_header.rb_id % LTE_maxDRB;
       // ctxt_pP->rnti is NOT_A_RNTI
       ctxt_cpy.rnti = pdcp_module_id_to_rnti[ctxt_cpy.module_id][data_p->pdcp_read_header.inst];
       key = PDCP_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_cpy.rnti, ctxt_pP->enb_flag, rab_id, SRB_FLAG_NO);
@@ -526,7 +526,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 
       CHECK_CTXT_ARGS(&ctxt_cpy);
 
-      AssertFatal (rab_id    < maxDRB,                       "RB id is too high (%u/%d)!\n", rab_id, maxDRB);
+      AssertFatal (rab_id    < LTE_maxDRB,                       "RB id is too high (%u/%d)!\n", rab_id, LTE_maxDRB);
 
       if (rab_id != 0) {
          LOG_D(PDCP, "[FRAME %05d][%s][IP][INSTANCE %u][RB %u][--- PDCP_DATA_REQ "
@@ -543,7 +543,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
          if ((data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV6_TYPE_MULTICAST) /*TRAFFIC_IPV6_TYPE_MULTICAST */ ||
                (data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_MULTICAST) /*TRAFFIC_IPV4_TYPE_MULTICAST */ ||
                (data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_BROADCAST) /*TRAFFIC_IPV4_TYPE_BROADCAST */ ) {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
             PDCP_TRANSMISSION_MODE_TRANSPARENT;
 #else
             pdcp_mode= PDCP_TRANSMISSION_MODE_DATA;
@@ -561,13 +561,13 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 #endif
          pdcp_data_req(&ctxt_cpy,
                SRB_FLAG_NO,
-               rab_id % maxDRB,
+               rab_id % LTE_maxDRB,
                RLC_MUI_UNDEFINED,
                RLC_SDU_CONFIRM_NO,
                data_p->pdcp_read_header.data_size,
                data_p->data,
                pdcp_mode
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,NULL, NULL
 #endif
                );
@@ -595,7 +595,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                      data_p->pdcp_read_header.data_size,
                      data_p->data,
                      PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                      ,NULL, NULL
 #endif
                      );
@@ -612,7 +612,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                data_p->pdcp_read_header.data_size,
                data_p->data,
                PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,NULL, NULL
 #endif
                );
@@ -632,7 +632,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 
 
 //TTN for D2D (PC5S)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
    prose_addr_len = sizeof(prose_pdcp_addr);
    // receive a message from ProSe App
    memset(receive_buf, 0, BUFSIZE);
@@ -680,18 +680,18 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
             ctxt.frame         = ctxt_cpy.frame;
             ctxt.enb_flag      = ENB_FLAG_YES;
             ctxt.module_id     = pc5s_header.inst  +  oai_emulation.info.first_enb_local;
-            ctxt.rnti          = oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt.module_id ][pc5s_header->rb_id / maxDRB + oai_emulation.info.first_ue_local];
-            rab_id    = pc5s_header->rb_id % maxDRB;
+            ctxt.rnti          = oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt.module_id ][pc5s_header->rb_id / LTE_maxDRB + oai_emulation.info.first_ue_local];
+            rab_id    = pc5s_header->rb_id % LTE_maxDRB;
          } else {
             ctxt.frame         = ctxt_cpy.frame;
             ctxt.enb_flag      = ENB_FLAG_NO;
             ctxt.module_id     = pc5s_header->inst - oai_emulation.info.nb_enb_local + oai_emulation.info.first_ue_local;
             ctxt.rnti          = pdcp_UE_UE_module_id_to_rnti[ctxt.module_id];
-            rab_id    = pc5s_header->rb_id % maxDRB;
+            rab_id    = pc5s_header->rb_id % LTE_maxDRB;
          }
 
          CHECK_CTXT_ARGS(&ctxt);
-         AssertFatal (rab_id    < maxDRB,                       "RB id is too high (%u/%d)!\n", rab_id, maxDRB);
+         AssertFatal (rab_id    < LTE_maxDRB,                       "RB id is too high (%u/%d)!\n", rab_id, LTE_maxDRB);
          /*LGpdcp_read_header.inst = (pc5s_header.inst >= oai_emulation.info.nb_enb_local) ? \
                   pc5s_header.inst - oai_emulation.info.nb_enb_local+ NB_eNB_INST + oai_emulation.info.first_ue_local :
                   pc5s_header.inst +  oai_emulation.info.first_enb_local;*/
@@ -706,11 +706,11 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 
          if (ctxt_cpy.enb_flag) {
             ctxt.module_id = 0;
-            rab_id      = pc5s_header->rb_id % maxDRB;
+            rab_id      = pc5s_header->rb_id % LTE_maxDRB;
             ctxt.rnti          = pdcp_eNB_UE_instance_to_rnti[pdcp_eNB_UE_instance_to_rnti_index];
          } else {
             ctxt.module_id = 0;
-            rab_id      = pc5s_header->rb_id % maxDRB;
+            rab_id      = pc5s_header->rb_id % LTE_maxDRB;
             ctxt.rnti          = pdcp_UE_UE_module_id_to_rnti[ctxt.module_id];
          }
 #endif
@@ -726,7 +726,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                   LOG_I(PDCP,"request key %x : (%d,%x,%d,%d)\n",
                         (uint8_t)key,ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id);
                } else {
-                  rab_id = rab_id % maxDRB;
+                  rab_id = rab_id % LTE_maxDRB;
                   LOG_I(PDCP, "PDCP_COLL_KEY_VALUE(module_id=%d, rnti=%x, enb_flag=%d, rab_id=%d, SRB_FLAG=%d)\n",
                         ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id, SRB_FLAG_NO);
                   key = PDCP_COLL_KEY_VALUE(ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id, SRB_FLAG_NO);
@@ -774,7 +774,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                         pc5s_header->data_size,
                         (unsigned char *)receive_buf,
                         PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                         ,&pc5s_header->sourceL2Id
                         ,&pc5s_header->destinationL2Id
 #endif
@@ -832,7 +832,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                      pc5s_header->data_size,
                      (unsigned char *)receive_buf,
                      PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                      ,&pc5s_header->sourceL2Id
                      ,&pc5s_header->destinationL2Id
 #endif
@@ -897,18 +897,18 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                   ctxt.frame         = ctxt_cpy.frame;
                   ctxt.enb_flag      = ENB_FLAG_YES;
                   ctxt.module_id     = pdcp_read_header_g.inst  +  oai_emulation.info.first_enb_local;
-                  ctxt.rnti          = oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt.module_id ][pdcp_read_header_g.rb_id / maxDRB + oai_emulation.info.first_ue_local];
-                  rab_id    = pdcp_read_header_g.rb_id % maxDRB;
+                  ctxt.rnti          = oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt.module_id ][pdcp_read_header_g.rb_id / LTE_maxDRB + oai_emulation.info.first_ue_local];
+                  rab_id    = pdcp_read_header_g.rb_id % LTE_maxDRB;
                } else {
                   ctxt.frame         = ctxt_cpy.frame;
                   ctxt.enb_flag      = ENB_FLAG_NO;
                   ctxt.module_id     = pdcp_read_header_g.inst - oai_emulation.info.nb_enb_local + oai_emulation.info.first_ue_local;
                   ctxt.rnti          = pdcp_UE_UE_module_id_to_rnti[ctxt.module_id];
-                  rab_id    = pdcp_read_header_g.rb_id % maxDRB;
+                  rab_id    = pdcp_read_header_g.rb_id % LTE_maxDRB;
                }
 
                CHECK_CTXT_ARGS(&ctxt);
-               AssertFatal (rab_id    < maxDRB,                       "RB id is too high (%u/%d)!\n", rab_id, maxDRB);
+               AssertFatal (rab_id    < LTE_maxDRB,                       "RB id is too high (%u/%d)!\n", rab_id, LTE_maxDRB);
                /*LGpdcp_read_header.inst = (pdcp_read_header_g.inst >= oai_emulation.info.nb_enb_local) ? \
                   pdcp_read_header_g.inst - oai_emulation.info.nb_enb_local+ NB_eNB_INST + oai_emulation.info.first_ue_local :
                   pdcp_read_header_g.inst +  oai_emulation.info.first_enb_local;*/
@@ -924,11 +924,11 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 #endif
           if (ctxt_cpy.enb_flag) {
             ctxt.module_id = 0;
-            rab_id      = pdcp_read_header_g.rb_id % maxDRB;
-            ctxt.rnti          = pdcp_eNB_UE_instance_to_rnti[pdcp_read_header_g.rb_id / maxDRB];
+            rab_id      = pdcp_read_header_g.rb_id % LTE_maxDRB;
+            ctxt.rnti          = pdcp_eNB_UE_instance_to_rnti[pdcp_read_header_g.rb_id / LTE_maxDRB];
           } else {
             ctxt.module_id = 0;
-            rab_id      = pdcp_read_header_g.rb_id % maxDRB;
+            rab_id      = pdcp_read_header_g.rb_id % LTE_maxDRB;
             ctxt.rnti          = pdcp_UE_UE_module_id_to_rnti[ctxt.module_id];
           }
 
@@ -936,7 +936,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
 
           if (ctxt.enb_flag) {
             if (rab_id != 0) {
-              rab_id = rab_id % maxDRB;
+              rab_id = rab_id % LTE_maxDRB;
               key = PDCP_COLL_KEY_VALUE(ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id, SRB_FLAG_NO);
               h_rc = hashtable_get(pdcp_coll_p, key, (void**)&pdcp_p);
 
@@ -979,7 +979,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                               pdcp_read_header_g.data_size,
                               (unsigned char *)NLMSG_DATA(nas_nlh_rx),
                               PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                               ,NULL, NULL
 #endif
                               );
@@ -1016,7 +1016,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                                  pdcp_read_header_g.data_size,
                                  (unsigned char *)NLMSG_DATA(nas_nlh_rx),
                                  PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                 ,NULL, NULL
 #endif
                                 );
@@ -1033,7 +1033,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                         LOG_D(PDCP,"request key %x : (%d,%x,%d,%d)\n",
                         		(uint8_t)key,ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id);
                      } else {
-                        rab_id = rab_id % maxDRB;
+                        rab_id = rab_id % LTE_maxDRB;
                         LOG_D(PDCP, "PDCP_COLL_KEY_VALUE(module_id=%d, rnti=%x, enb_flag=%d, rab_id=%d, SRB_FLAG=%d)\n",
                               ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id, SRB_FLAG_NO);
                         key = PDCP_COLL_KEY_VALUE(ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id, SRB_FLAG_NO);
@@ -1082,7 +1082,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                               pdcp_read_header_g.data_size,
                               (unsigned char *)NLMSG_DATA(nas_nlh_rx),
                               PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                               ,&pdcp_read_header_g.sourceL2Id
                               ,&pdcp_read_header_g.destinationL2Id
 #endif
@@ -1140,7 +1140,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                            pdcp_read_header_g.data_size,
                            (unsigned char *)NLMSG_DATA(nas_nlh_rx),
                            PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                            ,&pdcp_read_header_g.sourceL2Id
                            ,&pdcp_read_header_g.destinationL2Id
 #endif
@@ -1188,7 +1188,7 @@ void pdcp_fifo_read_input_sdus_from_otg (const protocol_ctxt_t* const  ctxt_pP)
 }
 
 //TTN for D2D (PC5S)
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
 void
 pdcp_pc5_socket_init() {
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
index 291ec5e2a728a8f2cb421f0acb52cd3096b9ba84..676ece7b3a1863eeeae9bb15323ff7aa7cacce44 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
@@ -53,7 +53,7 @@ extern int  reception_from_rohc_bs(void);
 extern BOOL     pdcp_data_ind (module_id_t module_idP, rb_id_t rab_idP, sdu_size_t data_sizeP, mem_block_t * sduP, uint8_t is_data_plane);
 extern BOOL     pdcp_data_req (module_id_t module_id, uint32_t frame, uint8_t eNB_flag, rb_id_t rab_id, uint32_t muiP, uint32_t confirmP, sdu_size_t sdu_buffer_size, unsigned char* sdu_buffer,
                                uint8_t is_data_pdu
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,const uint32_t * const sourceL2Id
                                ,const uint32_t * const destinationL2Id
 #endif
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c
index 95a6c28ae6b78b3b4e1fc6b5a5f7b7cc9d586198..83293a709de2b7e60b13c02f8cd97821d8fe4dc6 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c
@@ -62,7 +62,7 @@ uint32_t pdcp_get_next_count_tx(
     /* 5 bits length SN */
     count = ((pdcp_pP->tx_hfn << 5)  | (pdcp_sn & 0x001F));
   } else {
-    if (pdcp_pP->seq_num_size == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
+    if (pdcp_pP->seq_num_size == LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
       count = ((pdcp_pP->tx_hfn << 7) | (pdcp_sn & 0x07F));
     } else { /*Default is the 12 bits length SN */
       count = ((pdcp_pP->tx_hfn << 12) | (pdcp_sn & 0x0FFF));
@@ -88,7 +88,7 @@ uint32_t pdcp_get_next_count_rx(
     /* 5 bits length SN */
     count = (((pdcp_pP->rx_hfn + pdcp_pP->rx_hfn_offset) << 5)  | (pdcp_sn & 0x001F));
   } else {
-    if (pdcp_pP->seq_num_size == PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
+    if (pdcp_pP->seq_num_size == LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len7bits) {
       /* 7 bits length SN */
       count = (((pdcp_pP->rx_hfn + pdcp_pP->rx_hfn_offset) << 7) | (pdcp_sn & 0x007F));
     } else { // default
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
index d4e43fda475a190871a5ed955e459b79df927b76..e2911efcaf3314ebff84e2143ab1be72e88abb54 100644
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
@@ -39,8 +39,8 @@
 #include "list.h"
 #include "LAYER2/MAC/mac_extern.h"
 #include "common/utils/LOG/log.h"
-#include "UL-AM-RLC.h"
-#include "DL-AM-RLC.h"
+#include "LTE_UL-AM-RLC.h"
+#include "LTE_DL-AM-RLC.h"
 
 
 //-----------------------------------------------------------------------------
@@ -237,24 +237,24 @@ config_req_rlc_am (
           PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p));
   }
 }
-uint16_t pollPDU_tab[PollPDU_pInfinity+1]= {4,8,16,32,64,128,256,RLC_AM_POLL_PDU_INFINITE}; //PollPDU_pInfinity is chosen to 0xFFFF for now
-uint32_t maxRetxThreshold_tab[UL_AM_RLC__maxRetxThreshold_t32+1]= {1,2,3,4,6,8,16,32};
-uint32_t pollByte_tab[PollByte_spare1]= {25000,50000,75000,100000,125000,250000,375000,500000,750000,1000000,1250000,1500000,2000000,3000000,RLC_AM_POLL_BYTE_INFINITE}; // PollByte_kBinfinity is chosen to 0xFFFFFFFF for now
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-uint32_t PollRetransmit_tab[T_PollRetransmit_spare5]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,2000,4000};
+uint16_t pollPDU_tab[LTE_PollPDU_pInfinity+1]= {4,8,16,32,64,128,256,RLC_AM_POLL_PDU_INFINITE}; //PollPDU_pInfinity is chosen to 0xFFFF for now
+uint32_t maxRetxThreshold_tab[LTE_UL_AM_RLC__maxRetxThreshold_t32+1]= {1,2,3,4,6,8,16,32};
+uint32_t pollByte_tab[LTE_PollByte_spare1]= {25000,50000,75000,100000,125000,250000,375000,500000,750000,1000000,1250000,1500000,2000000,3000000,RLC_AM_POLL_BYTE_INFINITE}; // PollByte_kBinfinity is chosen to 0xFFFFFFFF for now
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+uint32_t PollRetransmit_tab[LTE_T_PollRetransmit_spare5]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,2000,4000};
 uint32_t am_t_Reordering_tab[32]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600};
-uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare2]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,1200,1600,2000,2400};
+uint32_t t_StatusProhibit_tab[LTE_T_StatusProhibit_spare2]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,1200,1600,2000,2400};
 #else
-uint32_t PollRetransmit_tab[T_PollRetransmit_spare9]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500};
-uint32_t am_t_Reordering_tab[T_Reordering_spare1]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
-uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare8]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500};
+uint32_t PollRetransmit_tab[LTE_T_PollRetransmit_spare9]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500};
+uint32_t am_t_Reordering_tab[LTE_T_Reordering_spare1]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
+uint32_t t_StatusProhibit_tab[LTE_T_StatusProhibit_spare8]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500};
 #endif
 
 //-----------------------------------------------------------------------------
 void config_req_rlc_am_asn1 (
   const protocol_ctxt_t* const         ctxt_pP,
   const srb_flag_t                     srb_flagP,
-  const struct RLC_Config__am  * const config_am_pP,
+  const struct LTE_RLC_Config__am  * const config_am_pP,
   const rb_id_t                        rb_idP,
   const logical_chan_id_t              chan_idP)
 {
@@ -268,17 +268,17 @@ void config_req_rlc_am_asn1 (
   if (h_rc == HASH_TABLE_OK) {
     l_rlc_p = &rlc_union_p->rlc.am;
 
-    if ((config_am_pP->ul_AM_RLC.maxRetxThreshold <= UL_AM_RLC__maxRetxThreshold_t32) &&
-        (config_am_pP->ul_AM_RLC.pollPDU<=PollPDU_pInfinity) &&
-        (config_am_pP->ul_AM_RLC.pollByte<PollByte_spare1) &&
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-        (config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare5) &&
+    if ((config_am_pP->ul_AM_RLC.maxRetxThreshold <= LTE_UL_AM_RLC__maxRetxThreshold_t32) &&
+        (config_am_pP->ul_AM_RLC.pollPDU<=LTE_PollPDU_pInfinity) &&
+        (config_am_pP->ul_AM_RLC.pollByte<LTE_PollByte_spare1) &&
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+        (config_am_pP->ul_AM_RLC.t_PollRetransmit<LTE_T_PollRetransmit_spare5) &&
         (config_am_pP->dl_AM_RLC.t_Reordering<32) &&
-        (config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare2) ) {
+        (config_am_pP->dl_AM_RLC.t_StatusProhibit<LTE_T_StatusProhibit_spare2) ) {
 #else
-        (config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare9) &&
-        (config_am_pP->dl_AM_RLC.t_Reordering<T_Reordering_spare1) &&
-        (config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare8) ) {
+        (config_am_pP->ul_AM_RLC.t_PollRetransmitLTE_T_PollRetransmit_spare9) &&
+        (config_am_pP->dl_AM_RLC.t_Reordering<LTE_T_Reordering_spare1) &&
+        (config_am_pP->dl_AM_RLC.t_StatusProhibit<LTE_T_StatusProhibit_spare8) ) {
 #endif
 
       MSC_LOG_RX_MESSAGE(
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h
index 952082187e576ae3ae7fe7ecaf5bfa4f93002ee4..75213116a7d04deef939aa86d742249f57efa5e0 100644
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h
@@ -55,7 +55,7 @@
 #        include "rlc_am_rx_list.h"
 #        include "rlc_am_reassembly.h"
 #        include "rlc_am_init.h"
-#        include "RLC-Config.h"
+#        include "LTE_RLC-Config.h"
 #        include "assertions.h"
 //#        include "rlc_am_test.h"
 
@@ -138,7 +138,7 @@ config_req_rlc_am (
 void config_req_rlc_am_asn1 (
                 const protocol_ctxt_t* const ctxtP,
                 const srb_flag_t srb_flagP,
-                const struct RLC_Config__am * const config_amP,
+                const struct LTE_RLC_Config__am * const config_amP,
                 const rb_id_t rb_idP,
                 const logical_chan_id_t chan_idP);
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
index b422748292077c29c7591091575a69d77f5ec7b6..6cb849091a5a8ef4a9a68226b8e8f3b4cf617cf5 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
@@ -32,7 +32,7 @@
 #include "common/utils/LOG/log.h"
 
 #include "rlc_um_control_primitives.h"
-#include "T-Reordering.h"
+#include "LTE_T-Reordering.h"
 #include "msc.h"
 
 //-----------------------------------------------------------------------------
@@ -78,10 +78,10 @@ void config_req_rlc_um (
   }
 }
 //-----------------------------------------------------------------------------
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 const uint32_t t_Reordering_tab[32] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600};
 #else
-const uint32_t t_Reordering_tab[T_Reordering_spare1] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
+const uint32_t t_Reordering_tab[LTE_T_Reordering_spare1] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
 #endif
 
 void config_req_rlc_um_asn1 (
@@ -90,11 +90,11 @@ void config_req_rlc_um_asn1 (
   const MBMS_flag_t         mbms_flagP,
   const mbms_session_id_t   mbms_session_idP,
   const mbms_service_id_t   mbms_service_idP,
-  const UL_UM_RLC_t       * const ul_rlc_pP,
-  const DL_UM_RLC_t       * const dl_rlc_pP,
+  const LTE_UL_UM_RLC_t   * const ul_rlc_pP,
+  const LTE_DL_UM_RLC_t   * const dl_rlc_pP,
   const rb_id_t             rb_idP,
   const logical_chan_id_t   chan_idP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
  ,const uint32_t            sourceL2Id
  ,const uint32_t            destinationL2Id
 #endif
@@ -108,7 +108,7 @@ void config_req_rlc_um_asn1 (
   hash_key_t       key                 = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
   hashtable_rc_t   h_rc;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (mbms_flagP) {
     //AssertFatal(dl_rlc_pP, "No RLC UM DL config");
@@ -173,11 +173,11 @@ void config_req_rlc_um_asn1 (
 
     if (ul_rlc_pP != NULL) {
       switch (ul_rlc_pP->sn_FieldLength) {
-      case SN_FieldLength_size5:
+      case LTE_SN_FieldLength_size5:
         ul_sn_FieldLength = 5;
         break;
 
-      case SN_FieldLength_size10:
+      case LTE_SN_FieldLength_size10:
         ul_sn_FieldLength = 10;
         break;
 
@@ -201,11 +201,11 @@ void config_req_rlc_um_asn1 (
 
     if (dl_rlc_pP != NULL) {
       switch (dl_rlc_pP->sn_FieldLength) {
-      case SN_FieldLength_size5:
+      case LTE_SN_FieldLength_size5:
         dl_sn_FieldLength = 5;
         break;
 
-      case SN_FieldLength_size10:
+      case LTE_SN_FieldLength_size10:
         dl_sn_FieldLength = 10;
         break;
 
@@ -226,7 +226,7 @@ void config_req_rlc_um_asn1 (
         return;
       }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       if (dl_rlc_pP->t_Reordering<32) {
 #else
       if (dl_rlc_pP->t_Reordering<T_Reordering_spare1) {
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
index 524b75fe16dc99ff5995b9d4a3690198d3eb32d7..bf127450503bc471cc476be50926c9d2ff07f37f 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
@@ -40,8 +40,8 @@
 #        include "rlc_um_structs.h"
 #        include "rlc_um_constants.h"
 #        include "platform_types.h"
-#        include "DL-UM-RLC.h"
-#        include "UL-UM-RLC.h"
+#        include "LTE_DL-UM-RLC.h"
+#        include "LTE_UL-UM-RLC.h"
 //-----------------------------------------------------------------------------
 
 typedef volatile struct {
@@ -97,11 +97,11 @@ void config_req_rlc_um_asn1 (
                                       const MBMS_flag_t        mbms_flagP,
                                       const mbms_session_id_t  mbms_session_idP,
                                       const mbms_service_id_t  mbms_service_idP,
-                                      const UL_UM_RLC_t       * const ul_rlc_pP,
-                                      const DL_UM_RLC_t       * const dl_rlc_pP,
+                                      const LTE_UL_UM_RLC_t  * const ul_rlc_pP,
+                                      const LTE_DL_UM_RLC_t  * const dl_rlc_pP,
                                       const rb_id_t            rb_idP,
                                       const logical_chan_id_t  chan_idP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                       ,const uint32_t          sourceL2Id
                                       ,const uint32_t          destinationL2Id
 #endif
diff --git a/openair2/LAYER2/RLC/rlc.c b/openair2/LAYER2/RLC/rlc.c
index 846d406319d8f4aa736c8c5ab1ba6e92a8b2a905..e56877d6016dc238b69b34730102d971c914b1c6 100644
--- a/openair2/LAYER2/RLC/rlc.c
+++ b/openair2/LAYER2/RLC/rlc.c
@@ -320,7 +320,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
                                   confirm_t    confirmP,
                                   sdu_size_t   sdu_sizeP,
                                   mem_block_t *sdu_pP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                   ,const uint32_t * const sourceL2Id
                                   ,const uint32_t * const destinationL2Id
 #endif
@@ -333,7 +333,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
   hash_key_t             key         = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_rc;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   rlc_mbms_id_t         *mbms_id_p  = NULL;
   logical_chan_id_t      log_ch_id  = 0;
 #endif
@@ -347,7 +347,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
         sdu_sizeP,
         sdu_pP);
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 #else
   AssertFatal(MBMS_flagP == 0, "MBMS_flagP %u", MBMS_flagP);
 #endif
@@ -383,13 +383,13 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
     return RLC_OP_STATUS_BAD_PARAMETER;
   }
 
-#if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
   DevCheck(MBMS_flagP == 0, MBMS_flagP, 0, 0);
 #endif
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN);
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flagP == TRUE) {
     if (ctxt_pP->enb_flag) {
@@ -534,7 +534,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   } else { /* MBMS_flag != 0 */
     //  LOG_I(RLC,"DUY rlc_data_req: mbms_rb_id in RLC instant is: %d\n", mbms_rb_id);
     if (sdu_pP != NULL) {
@@ -649,7 +649,7 @@ rlc_module_init (void)
   rlc_rrc_data_ind  = NULL;
   rlc_rrc_data_conf = NULL;
 
-  rlc_coll_p = hashtable_create ((maxDRB + 2) * 16, NULL, rb_free_rlc_union);
+  rlc_coll_p = hashtable_create ((LTE_maxDRB + 2) * 16, NULL, rb_free_rlc_union);
   //AssertFatal(rlc_coll_p != NULL, "UNRECOVERABLE error, RLC hashtable_create failed");
   if(rlc_coll_p == NULL) {
     LOG_E(RLC, "UNRECOVERABLE error, RLC hashtable_create failed\n");
@@ -657,7 +657,7 @@ rlc_module_init (void)
   }
 
   for (module_id1=0; module_id1 < MAX_MOBILES_PER_ENB; module_id1++) {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     for (k=0; k < RLC_MAX_MBMS_LC; k++) {
       rlc_mbms_lcid2service_session_id_ue[module_id1][k].service_id = 0;
@@ -672,7 +672,7 @@ rlc_module_init (void)
   }
 
   for (module_id1=0; module_id1 < NUMBER_OF_eNB_MAX; module_id1++) {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     for (k=0; k < RLC_MAX_MBMS_LC; k++) {
       rlc_mbms_lcid2service_session_id_eNB[module_id1][k].service_id = 0;
diff --git a/openair2/LAYER2/RLC/rlc.h b/openair2/LAYER2/RLC/rlc.h
index 8c557188a2a2e115300b7ea9d15ef4032da49e1e..fbb13373a308cfa8c2d34e9134d87e2ed110db9d 100644
--- a/openair2/LAYER2/RLC/rlc.h
+++ b/openair2/LAYER2/RLC/rlc.h
@@ -44,19 +44,19 @@
 #    include "rlc_am_structs.h"
 #    include "rlc_tm_structs.h"
 #    include "rlc_um_structs.h"
-#    include "asn_constant.h"
+#    include "LTE_asn_constant.h"
 #    include "common/utils/LOG/log.h"
 #    include "mem_block.h"
 //#    include "PHY/defs.h"
-#    include "RLC-Config.h"
-#    include "DRB-ToAddMod.h"
-#    include "DRB-ToAddModList.h"
-#    include "SRB-ToAddMod.h"
-#    include "SRB-ToAddModList.h"
-#    include "DRB-ToReleaseList.h"
-
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "PMCH-InfoList-r9.h"
+#    include "LTE_RLC-Config.h"
+#    include "LTE_DRB-ToAddMod.h"
+#    include "LTE_DRB-ToAddModList.h"
+#    include "LTE_SRB-ToAddMod.h"
+#    include "LTE_SRB-ToAddModList.h"
+#    include "LTE_DRB-ToReleaseList.h"
+
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_PMCH-InfoList-r9.h"
 #endif
 
 typedef uint64_t hash_key_t;
@@ -132,8 +132,8 @@ typedef struct {
 //   PRIVATE INTERNALS OF RLC
 //-----------------------------------------------------------------------------
 
-#define  RLC_MAX_MBMS_LC (maxSessionPerPMCH * maxServiceCount)
-#define  RLC_MAX_LC  ((max_val_DRB_Identity+1)* MAX_MOBILES_PER_ENB)
+#define  RLC_MAX_MBMS_LC (LTE_maxSessionPerPMCH * LTE_maxServiceCount)
+#define  RLC_MAX_LC  ((max_val_LTE_DRB_Identity+1)* MAX_MOBILES_PER_ENB)
 
 void (*rlc_rrc_data_ind)(
                 const protocol_ctxt_t* const ctxtP,
@@ -183,7 +183,7 @@ typedef struct rlc_mbms_id_s {
   mbms_session_id_t       session_id;
 } rlc_mbms_id_t;
 
-#if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
 #    if !defined(maxServiceCount)
 //unused arrays rlc_mbms_array_ue rlc_mbms_array_eNB
 #        define maxServiceCount 1
@@ -285,7 +285,7 @@ struct mac_data_ind   mac_rlc_deserialize_tb (char*, tb_size_t, num_tb_t, crc_t
 //-----------------------------------------------------------------------------
 //   PUBLIC INTERFACE WITH RRC
 //-----------------------------------------------------------------------------
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 /*! \fn rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t* const ctxtP, const srb_flag_t srb_flagP, const SRB_ToAddMod_t* const srb2addmod, const DRB_ToAddModList_t* const drb2add_listP, const DRB_ToReleaseList_t*  const drb2release_listP, const PMCH_InfoList_r9_t * const pmch_info_listP)
 * \brief  Function for RRC to configure a Radio Bearer.
 * \param[in]  ctxtP              Running context.
@@ -297,10 +297,10 @@ struct mac_data_ind   mac_rlc_deserialize_tb (char*, tb_size_t, num_tb_t, crc_t
 */
 rlc_op_status_t rrc_rlc_config_asn1_req (
                   const protocol_ctxt_t* const,
-                  const SRB_ToAddModList_t* const ,
-                  const DRB_ToAddModList_t* const ,
-                  const DRB_ToReleaseList_t* const ,
-                  const PMCH_InfoList_r9_t * const pmch_info_listP ,
+                  const LTE_SRB_ToAddModList_t* const ,
+                  const LTE_DRB_ToAddModList_t* const ,
+                  const LTE_DRB_ToReleaseList_t* const ,
+                  const LTE_PMCH_InfoList_r9_t * const pmch_info_listP ,
                   const uint32_t ,
                   const uint32_t );
 #else
@@ -314,9 +314,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (
 */
 rlc_op_status_t rrc_rlc_config_asn1_req (
                   const protocol_ctxt_t* const,
-                  const SRB_ToAddModList_t* const ,
-                  const DRB_ToAddModList_t* const ,
-                  const DRB_ToReleaseList_t* const );
+                  const LTE_SRB_ToAddModList_t* const ,
+                  const LTE_DRB_ToAddModList_t* const ,
+                  const LTE_DRB_ToReleaseList_t* const );
 #endif
 
 
@@ -358,7 +358,7 @@ rlc_op_status_t rrc_rlc_remove_rlc   (const protocol_ctxt_t* const, const srb_fl
 * \return     A status about the processing, OK or error code.
 */
 rlc_union_t*  rrc_rlc_add_rlc      (const protocol_ctxt_t* const, const srb_flag_t,  const  MBMS_flag_t MBMS_flagP, const  rb_id_t, logical_chan_id_t, rlc_mode_t
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   ,const uint32_t  sourceL2Id,
   const uint32_t  destinationL2Id
 #endif
@@ -424,7 +424,7 @@ void rrc_rlc_register_rrc (rrc_data_ind_cb_t rrc_data_indP, rrc_data_conf_cb_t r
 * \return     A status about the processing, OK or error code.
 */
 tbs_size_t            mac_rlc_data_req     (const module_id_t, const rnti_t, const eNB_index_t, const frame_t, const  eNB_flag_t, const  MBMS_flag_t, logical_chan_id_t, const tb_size_t,char*
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                            ,const uint32_t sourceL2Id
                                                            ,const uint32_t destinationL2Id
 #endif
@@ -459,7 +459,7 @@ void                  mac_rlc_data_ind     (const module_id_t, const rnti_t, con
 * \return     The maximum number of bytes that the RLC instance can send in the next transmission sequence.
 */
 mac_rlc_status_resp_t mac_rlc_status_ind   (const module_id_t, const rnti_t, const eNB_index_t, const frame_t, const sub_frame_t, const  eNB_flag_t, const  MBMS_flag_t, logical_chan_id_t, tb_size_t
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                                            ,const uint32_t sourceL2Id
                                                            ,const uint32_t destinationL2Id
 #endif
@@ -514,7 +514,7 @@ rlc_op_status_t rlc_data_req     (
              const confirm_t ,
              const sdu_size_t ,
              mem_block_t * const
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
              ,const uint32_t * const
              ,const uint32_t * const
 #endif
diff --git a/openair2/LAYER2/RLC/rlc_mac.c b/openair2/LAYER2/RLC/rlc_mac.c
index dbc2d1d3423fb34c76b19e6533e972b44625844d..da90a58a59e617aaf8f13008016364118bc44969 100644
--- a/openair2/LAYER2/RLC/rlc_mac.c
+++ b/openair2/LAYER2/RLC/rlc_mac.c
@@ -128,7 +128,7 @@ tbs_size_t mac_rlc_data_req(
   const logical_chan_id_t channel_idP,
   const tb_size_t         tb_sizeP,
   char             *buffer_pP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   ,const uint32_t sourceL2Id
   ,const uint32_t destinationL2Id
 #endif
@@ -180,7 +180,7 @@ tbs_size_t mac_rlc_data_req(
     }
   } else {
     key = RLC_COLL_KEY_LCID_VALUE(module_idP, rntiP, enb_flagP, channel_idP, srb_flag);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if ((sourceL2Id > 0) && (destinationL2Id > 0))
        key = RLC_COLL_KEY_LCID_SOURCE_DEST_VALUE(module_idP, rntiP, enb_flagP, channel_idP, sourceL2Id, destinationL2Id, srb_flag);
 #endif
@@ -330,7 +330,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
   const MBMS_flag_t       MBMS_flagP,
   const logical_chan_id_t channel_idP,
   const tb_size_t         tb_sizeP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   ,const uint32_t sourceL2Id
   ,const uint32_t destinationL2Id
 #endif
@@ -363,7 +363,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
 
     key = RLC_COLL_KEY_MBMS_VALUE(module_idP, rntiP, enb_flagP, mbms_id_p->service_id, mbms_id_p->session_id);
   } else {
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     if ((sourceL2Id > 0) && (destinationL2Id > 0)) {
        key = RLC_COLL_KEY_SOURCE_DEST_VALUE(module_idP, rntiP, enb_flagP, channel_idP, sourceL2Id, destinationL2Id, srb_flag);
     } else
diff --git a/openair2/LAYER2/RLC/rlc_mpls.c b/openair2/LAYER2/RLC/rlc_mpls.c
index 8c6cea379b91a2d94585598ad79edb39ca951c84..d6f7afa12d2ef99b22c7265b4519fb94e596605a 100644
--- a/openair2/LAYER2/RLC/rlc_mpls.c
+++ b/openair2/LAYER2/RLC/rlc_mpls.c
@@ -41,7 +41,7 @@ rlc_op_status_t mpls_rlc_data_req     (
   //-----------------------------------------------------------------------------
   // third arg should be set to 1 or 0
   return rlc_data_req(ctxtP, SRB_FLAG_NO, MBMS_FLAG_NO, rb_idP, RLC_MUI_UNDEFINED, RLC_SDU_CONFIRM_NO, sdu_sizeP, sduP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                       ,NULL, NULL
 #endif
                       );
diff --git a/openair2/LAYER2/RLC/rlc_rrc.c b/openair2/LAYER2/RLC/rlc_rrc.c
index 8977e422b60591d100fd809aa36643c090469cb2..63c24d6e3c96e648d1050d9666bd5071d34ceb3b 100644
--- a/openair2/LAYER2/RLC/rlc_rrc.c
+++ b/openair2/LAYER2/RLC/rlc_rrc.c
@@ -33,25 +33,25 @@
 #include "rlc_um.h"
 #include "rlc_tm.h"
 #include "common/utils/LOG/log.h"
-#include "RLC-Config.h"
-#include "DRB-ToAddMod.h"
-#include "DRB-ToAddModList.h"
-#include "SRB-ToAddMod.h"
-#include "SRB-ToAddModList.h"
-#include "DL-UM-RLC.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "PMCH-InfoList-r9.h"
+#include "LTE_RLC-Config.h"
+#include "LTE_DRB-ToAddMod.h"
+#include "LTE_DRB-ToAddModList.h"
+#include "LTE_SRB-ToAddMod.h"
+#include "LTE_SRB-ToAddModList.h"
+#include "LTE_DL-UM-RLC.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_PMCH-InfoList-r9.h"
 #endif
 
 #include "LAYER2/MAC/mac_extern.h"
 #include "assertions.h"
 //-----------------------------------------------------------------------------
 rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP,
-    const SRB_ToAddModList_t   * const srb2add_listP,
-    const DRB_ToAddModList_t   * const drb2add_listP,
-    const DRB_ToReleaseList_t  * const drb2release_listP
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-    ,const PMCH_InfoList_r9_t * const pmch_InfoList_r9_pP
+    const LTE_SRB_ToAddModList_t   * const srb2add_listP,
+    const LTE_DRB_ToAddModList_t   * const drb2add_listP,
+    const LTE_DRB_ToReleaseList_t  * const drb2release_listP
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+    ,const LTE_PMCH_InfoList_r9_t * const pmch_InfoList_r9_pP
     ,const uint32_t sourceL2Id
     ,const uint32_t destinationL2Id
 #endif
@@ -60,21 +60,21 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
   //-----------------------------------------------------------------------------
   rb_id_t                rb_id           = 0;
   logical_chan_id_t      lc_id           = 0;
-  DRB_Identity_t         drb_id          = 0;
-  DRB_Identity_t*        pdrb_id         = NULL;
+  LTE_DRB_Identity_t     drb_id          = 0;
+  LTE_DRB_Identity_t*    pdrb_id         = NULL;
   long int               cnt             = 0;
-  const SRB_ToAddMod_t  *srb_toaddmod_p  = NULL;
-  const DRB_ToAddMod_t  *drb_toaddmod_p  = NULL;
+  const LTE_SRB_ToAddMod_t  *srb_toaddmod_p  = NULL;
+  const LTE_DRB_ToAddMod_t  *drb_toaddmod_p  = NULL;
   rlc_union_t           *rlc_union_p     = NULL;
   hash_key_t             key             = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_rc;
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   int                        i, j;
-  MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
-  MBMS_SessionInfo_r9_t     *MBMS_SessionInfo_p        = NULL;
+  LTE_MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
+  LTE_MBMS_SessionInfo_r9_t     *MBMS_SessionInfo_p        = NULL;
   mbms_session_id_t          mbms_session_id;
   mbms_service_id_t          mbms_service_id;
-  DL_UM_RLC_t                dl_um_rlc;
+  LTE_DL_UM_RLC_t                dl_um_rlc;
 
 
 #endif
@@ -97,17 +97,17 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
       if (srb_toaddmod_p->rlc_Config) {
         switch (srb_toaddmod_p->rlc_Config->present) {
-        case SRB_ToAddMod__rlc_Config_PR_NOTHING:
+        case LTE_SRB_ToAddMod__rlc_Config_PR_NOTHING:
           break;
 
-        case SRB_ToAddMod__rlc_Config_PR_explicitValue:
+        case LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue:
           switch (srb_toaddmod_p->rlc_Config->choice.explicitValue.present) {
-          case RLC_Config_PR_NOTHING:
+          case LTE_RLC_Config_PR_NOTHING:
             break;
 
-          case RLC_Config_PR_am:
+          case LTE_RLC_Config_PR_am:
             if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_AM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                 ,0,
                                 0
 #endif
@@ -125,9 +125,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
             break;
 
-          case RLC_Config_PR_um_Bi_Directional:
+          case LTE_RLC_Config_PR_um_Bi_Directional:
             if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_UM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                 ,0,
                                 0
 #endif
@@ -141,7 +141,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
                 &srb_toaddmod_p->rlc_Config->choice.explicitValue.choice.um_Bi_Directional.ul_UM_RLC,
                 &srb_toaddmod_p->rlc_Config->choice.explicitValue.choice.um_Bi_Directional.dl_UM_RLC,
                 rb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,0, 0
 #endif
                );
@@ -153,9 +153,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
             break;
 
-          case RLC_Config_PR_um_Uni_Directional_UL:
+          case LTE_RLC_Config_PR_um_Uni_Directional_UL:
             if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_UM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                  ,0,
                                  0
 #endif
@@ -169,7 +169,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
                 &srb_toaddmod_p->rlc_Config->choice.explicitValue.choice.um_Uni_Directional_UL.ul_UM_RLC,
                 NULL,
                 rb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,0, 0
 #endif
                );
@@ -181,9 +181,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
             break;
 
-          case RLC_Config_PR_um_Uni_Directional_DL:
+          case LTE_RLC_Config_PR_um_Uni_Directional_DL:
             if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_UM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                  ,0,
                                  0
 #endif
@@ -197,7 +197,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
                 NULL,
                 &srb_toaddmod_p->rlc_Config->choice.explicitValue.choice.um_Uni_Directional_DL.dl_UM_RLC,
                 rb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,0, 0
 #endif
                );
@@ -218,19 +218,19 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
           break;
 
-        case SRB_ToAddMod__rlc_Config_PR_defaultValue:
+        case LTE_SRB_ToAddMod__rlc_Config_PR_defaultValue:
 //#warning TO DO SRB_ToAddMod__rlc_Config_PR_defaultValue
           LOG_I(RRC, "RLC SRB1 is default value !!\n");
-          struct RLC_Config__am  *  config_am_pP = &srb_toaddmod_p->rlc_Config->choice.explicitValue.choice.am;
-          config_am_pP->dl_AM_RLC.t_Reordering     = T_Reordering_ms35;
-          config_am_pP->dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms0;
-          config_am_pP->ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms45;
-          config_am_pP->ul_AM_RLC.pollPDU          = PollPDU_pInfinity;
-          config_am_pP->ul_AM_RLC.pollByte         = PollByte_kBinfinity;
-          config_am_pP->ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t4;
+          struct LTE_RLC_Config__am  *  config_am_pP = &srb_toaddmod_p->rlc_Config->choice.explicitValue.choice.am;
+          config_am_pP->dl_AM_RLC.t_Reordering     = LTE_T_Reordering_ms35;
+          config_am_pP->dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms0;
+          config_am_pP->ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms45;
+          config_am_pP->ul_AM_RLC.pollPDU          = LTE_PollPDU_pInfinity;
+          config_am_pP->ul_AM_RLC.pollByte         = LTE_PollByte_kBinfinity;
+          config_am_pP->ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t4;
 
           if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_AM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,0,
                                0
 #endif
@@ -294,12 +294,12 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
       if (drb_toaddmod_p->rlc_Config) {
 
         switch (drb_toaddmod_p->rlc_Config->present) {
-        case RLC_Config_PR_NOTHING:
+        case LTE_RLC_Config_PR_NOTHING:
           break;
 
-        case RLC_Config_PR_am:
+        case LTE_RLC_Config_PR_am:
           if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_NO, MBMS_FLAG_NO, drb_id, lc_id, RLC_MODE_AM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,0,
                                0
 #endif
@@ -313,9 +313,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
           break;
 
-        case RLC_Config_PR_um_Bi_Directional:
+        case LTE_RLC_Config_PR_um_Bi_Directional:
           if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_NO, MBMS_FLAG_NO, drb_id, lc_id, RLC_MODE_UM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,sourceL2Id,
                                destinationL2Id
 #endif
@@ -329,7 +329,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
               &drb_toaddmod_p->rlc_Config->choice.um_Bi_Directional.ul_UM_RLC,
               &drb_toaddmod_p->rlc_Config->choice.um_Bi_Directional.dl_UM_RLC,
               drb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
               ,sourceL2Id,
               destinationL2Id
 #endif
@@ -338,9 +338,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
           break;
 
-        case RLC_Config_PR_um_Uni_Directional_UL:
+        case LTE_RLC_Config_PR_um_Uni_Directional_UL:
           if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_NO, MBMS_FLAG_NO, drb_id, lc_id, RLC_MODE_UM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                               ,0,
                                0
 #endif
@@ -354,7 +354,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
               &drb_toaddmod_p->rlc_Config->choice.um_Uni_Directional_UL.ul_UM_RLC,
               NULL,
               drb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,0, 0
 #endif
                );
@@ -362,9 +362,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
           break;
 
-        case RLC_Config_PR_um_Uni_Directional_DL:
+        case LTE_RLC_Config_PR_um_Uni_Directional_DL:
           if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_NO, MBMS_FLAG_NO, drb_id, lc_id, RLC_MODE_UM
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                               ,0,
                                0
 #endif
@@ -378,7 +378,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
               NULL,
               &drb_toaddmod_p->rlc_Config->choice.um_Uni_Directional_DL.dl_UM_RLC,
               drb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                ,0, 0
 #endif
                );
@@ -406,7 +406,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
     }
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 
   if (pmch_InfoList_r9_pP != NULL) {
     for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
@@ -424,13 +424,13 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
 
         // can set the mch_id = i
         if (ctxt_pP->enb_flag) {
-          rb_id =  (mbms_service_id * maxSessionPerPMCH ) + mbms_session_id;//+ (maxDRB + 3) * MAX_MOBILES_PER_ENB; // 1
+          rb_id =  (mbms_service_id * LTE_maxSessionPerPMCH ) + mbms_session_id;//+ (LTE_maxDRB + 3) * MAX_MOBILES_PER_ENB; // 1
           rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][lc_id].service_id                     = mbms_service_id;
           rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][lc_id].session_id                     = mbms_session_id;
           rlc_mbms_enb_set_lcid_by_rb_id(ctxt_pP->module_id,rb_id,lc_id);
 
         } else {
-          rb_id =  (mbms_service_id * maxSessionPerPMCH ) + mbms_session_id; // + (maxDRB + 3); // 15
+          rb_id =  (mbms_service_id * LTE_maxSessionPerPMCH ) + mbms_session_id; // + (LTE_maxDRB + 3); // 15
           rlc_mbms_lcid2service_session_id_ue[ctxt_pP->module_id][lc_id].service_id                    = mbms_service_id;
           rlc_mbms_lcid2service_session_id_ue[ctxt_pP->module_id][lc_id].session_id                    = mbms_session_id;
           rlc_mbms_ue_set_lcid_by_rb_id(ctxt_pP->module_id,rb_id,lc_id);
@@ -461,8 +461,8 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
               mbms_session_id,
               mbms_service_id
              );
-        dl_um_rlc.sn_FieldLength = SN_FieldLength_size5;
-        dl_um_rlc.t_Reordering   = T_Reordering_ms0;
+        dl_um_rlc.sn_FieldLength = LTE_SN_FieldLength_size5;
+        dl_um_rlc.t_Reordering   = LTE_T_Reordering_ms0;
 
         config_req_rlc_um_asn1 (
           ctxt_pP,
@@ -473,7 +473,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
           NULL,
           &dl_um_rlc,
           rb_id, lc_id
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
           ,0, 0
 #endif
                );
@@ -536,7 +536,7 @@ rlc_op_status_t rrc_rlc_remove_ue (
                        rb_id);
   }
 
-  for (rb_id = 1; rb_id <= maxDRB; rb_id++) {
+  for (rb_id = 1; rb_id <= LTE_maxDRB; rb_id++) {
     rrc_rlc_remove_rlc(ctxt_pP,
                        SRB_FLAG_NO,
                        MBMS_FLAG_NO,
@@ -560,14 +560,14 @@ rlc_op_status_t rrc_rlc_remove_rlc   (
   hash_key_t             key_lcid        = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_lcid_rc;
   rlc_union_t           *rlc_union_p = NULL;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   rlc_mbms_id_t         *mbms_id_p  = NULL;
 #endif
 
   /* for no gcc warnings */
   (void)lcid;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flagP == TRUE) {
     if (ctxt_pP->enb_flag) {
@@ -658,7 +658,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
   const rb_id_t           rb_idP,
   const logical_chan_id_t chan_idP,
   const rlc_mode_t        rlc_modeP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   ,const uint32_t sourceL2Id,
   const uint32_t  destinationL2Id
 #endif
@@ -671,7 +671,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
   hash_key_t             key_lcid    = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_lcid_rc;
   rlc_union_t           *rlc_union_p = NULL;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   rlc_mbms_id_t         *mbms_id_p  = NULL;
   logical_chan_id_t      lcid            = 0;
 #endif
@@ -691,7 +691,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
 
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flagP == TRUE) {
     if (ctxt_pP->enb_flag) {
@@ -741,7 +741,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
     h_lcid_rc = hashtable_insert(rlc_coll_p, key_lcid, rlc_union_p);
 
     if ((h_rc == HASH_TABLE_OK) && (h_lcid_rc == HASH_TABLE_OK)) {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
       if (MBMS_flagP == TRUE) {
         LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n",
@@ -806,7 +806,7 @@ rlc_op_status_t rrc_rlc_config_req   (
 
   case CONFIG_ACTION_ADD:
     if (rrc_rlc_add_rlc(ctxt_pP, srb_flagP, MBMS_FLAG_NO, rb_idP, rb_idP, rlc_infoP.rlc_mode
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                         ,0,
                         0
 #endif
@@ -885,7 +885,7 @@ rlc_op_status_t rrc_rlc_data_req     (
   if (sdu != NULL) {
     memcpy (sdu->data, sduP, sdu_sizeP);
     return rlc_data_req(ctxt_pP, SRB_FLAG_YES, MBMS_flagP, rb_idP, muiP, confirmP, sdu_sizeP, sdu
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                         ,NULL, NULL
 #endif
                         );
diff --git a/openair2/NETWORK_DRIVER/UE_IP/common.c b/openair2/NETWORK_DRIVER/UE_IP/common.c
index b21ca5f2dcc7bd9c8fab015f9f95d5b546fa4b77..87d8ca01edfe1af115b36b37180739b743650509 100644
--- a/openair2/NETWORK_DRIVER/UE_IP/common.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/common.c
@@ -248,7 +248,7 @@ ue_ip_common_ip2wireless(
   //---------------------------------------------------------------------------
   struct pdcp_data_req_header_s     pdcph;
   ue_ip_priv_t                     *priv_p=netdev_priv(ue_ip_dev[instP]);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   ipversion_t         *ipv_p             = NULL;
   unsigned int         hard_header_len   = 0;
   unsigned char       *src_addr          = 0;
diff --git a/openair2/NETWORK_DRIVER/UE_IP/local.h b/openair2/NETWORK_DRIVER/UE_IP/local.h
index e590109b131ed0f1fe537ce93bcb202de35b948b..4a918a5c94835022fcf11df1907c8d6bfac5e3cf 100644
--- a/openair2/NETWORK_DRIVER/UE_IP/local.h
+++ b/openair2/NETWORK_DRIVER/UE_IP/local.h
@@ -90,7 +90,7 @@ typedef struct pdcp_data_req_header_s {
   sdu_size_t          data_size;
   signed int          inst;
   ip_traffic_type_t   traffic_type;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   uint32_t sourceL2Id;
   uint32_t destinationL2Id;
 #endif
@@ -101,7 +101,7 @@ typedef struct pdcp_data_ind_header_s {
   sdu_size_t          data_size;
   signed int          inst;
   ip_traffic_type_t   dummy_traffic_type;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   uint32_t sourceL2Id;
   uint32_t destinationL2Id;
 #endif
diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c
index bd9f4bb8b22a11ab908a11fa62442db3017eb7af..9ebee10f9b53a16ce39b1082df6723dfcbec8f12 100644
--- a/openair2/PHY_INTERFACE/IF_Module.c
+++ b/openair2/PHY_INTERFACE/IF_Module.c
@@ -33,13 +33,13 @@ void handle_rach(UL_IND_t *UL_info) {
 		     UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.preamble,
 		     UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.timing_advance,
 		     UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.rnti
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		     ,0
 #endif
 		     );
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) 
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) 
   if (UL_info->rach_ind_br.rach_indication_body.number_of_preambles>0) {
 
     AssertFatal(UL_info->rach_ind_br.rach_indication_body.number_of_preambles<5,"More than 4 preambles not supported\n");
diff --git a/openair2/PHY_INTERFACE/IF_Module.h b/openair2/PHY_INTERFACE/IF_Module.h
index 0390a9055179d236615b399b9717b6f021c369e4..26c9a60476b35ece534d996b3cb9bdab2eda9f24 100644
--- a/openair2/PHY_INTERFACE/IF_Module.h
+++ b/openair2/PHY_INTERFACE/IF_Module.h
@@ -76,7 +76,7 @@ typedef struct{
   /// RACH indication list
   nfapi_rach_indication_t rach_ind;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// RACH indication list for BR UEs
   nfapi_rach_indication_t rach_ind_br;
 #endif
diff --git a/openair2/PHY_INTERFACE/IF_Module_NB_IoT.h b/openair2/PHY_INTERFACE/IF_Module_NB_IoT.h
index 479bd47d947d0c2fd79c96b84c72badf21557712..954eaaa2813b5f60b5e24e6ba9a7a7e306b5bbe3 100644
--- a/openair2/PHY_INTERFACE/IF_Module_NB_IoT.h
+++ b/openair2/PHY_INTERFACE/IF_Module_NB_IoT.h
@@ -10,7 +10,7 @@
 
 #include "nfapi_interface.h"
 //#include "openair1/PHY/LTE_TRANSPORT/defs_NB_IoT.h"
-#include "PhysicalConfigDedicated-NB-r13.h"
+#include "LTE_PhysicalConfigDedicated-NB-r13.h"
 //#include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h"
 #include "openair2/COMMON/platform_types.h"
 //#include "openair1/SCHED/IF_Module_L1_primitives_NB_IoT.h"
@@ -54,7 +54,7 @@ typedef struct{
 	uint16_t npdcch_Offset_USS; //Alfa_offset (see TS 36.213 ch 16.6)
 
 
-	ACK_NACK_NumRepetitions_NB_r13_t *ack_nack_numRepetitions_MSG4; //pointer to the first cell of a list of ack_nack_num_repetitions
+	LTE_ACK_NACK_NumRepetitions_NB_r13_t *ack_nack_numRepetitions_MSG4; //pointer to the first cell of a list of ack_nack_num_repetitions
 
     //ulPowerControlCommon (UE side)
     uint16_t p0_nominal_npusch;
diff --git a/openair2/RRC/LTE/L2_interface.c b/openair2/RRC/LTE/L2_interface.c
index 74e735bc85a42e9596e1dbba0488fc8b73b482db..db3d7947fbe57005d180c29886f700709b90be4a 100644
--- a/openair2/RRC/LTE/L2_interface.c
+++ b/openair2/RRC/LTE/L2_interface.c
@@ -71,7 +71,7 @@ mac_rrc_data_req(
 
   eNB_RRC_INST *rrc;
   rrc_eNB_carrier_data_t *carrier;
-  BCCH_BCH_Message_t *mib;
+  LTE_BCCH_BCH_Message_t *mib;
 
 
     rrc     = RC.rrc[Mod_idP];
@@ -126,7 +126,7 @@ mac_rrc_data_req(
     if( (Srb_id & RAB_OFFSET ) == MIBCH) {
 
         mib->message.systemFrameNumber.buf = &sfn;
-	enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
+	enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_BCH_Message,
 					 NULL,
 					 (void*)mib,
 					 carrier->MIB,
@@ -178,7 +178,7 @@ mac_rrc_data_req(
       return (Sdu_size);
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     if((Srb_id & RAB_OFFSET) == MCCH) {
       if(RC.rrc[Mod_idP]->carrier[CC_id].MCCH_MESS[mbsfn_sync_area].Active==0) {
@@ -202,9 +202,9 @@ mac_rrc_data_req(
      return (RC.rrc[Mod_idP]->carrier[CC_id].sizeof_MCCH_MESSAGE[mbsfn_sync_area]);
     }
 
-#endif // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#endif // #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     if ((Srb_id & RAB_OFFSET) == BCCH_SIB1_BR){
         memcpy(&buffer_pP[0],
                RC.rrc[Mod_idP]->carrier[CC_id].SIB1_BR,
diff --git a/openair2/RRC/LTE/L2_interface_ue.c b/openair2/RRC/LTE/L2_interface_ue.c
index 3b7219af42913d844ca30f96a8029cc85aab60a6..9dfbeed61e4316109f909f4842f181d624831f9c 100644
--- a/openair2/RRC/LTE/L2_interface_ue.c
+++ b/openair2/RRC/LTE/L2_interface_ue.c
@@ -63,7 +63,7 @@ mac_rrc_data_req_ue(
   LOG_D(RRC,"[eNB %d] mac_rrc_data_req to SRB ID=%d\n",Mod_idP,Srb_id);
 
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
      LOG_D(RRC,"[UE %d] Frame %d Filling SL DISCOVERY SRB_ID %d\n",Mod_idP,frameP,Srb_id);
      LOG_D(RRC,"[UE %d] Frame %d buffer_pP status %d,\n",Mod_idP,frameP, UE_rrc_inst[Mod_idP].SL_Discovery[eNB_index].Tx_buffer.payload_size);
 
@@ -217,7 +217,7 @@ mac_rrc_data_ind_ue(
       }
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     if ((srb_idP & RAB_OFFSET) == MCCH) {
       LOG_T(RRC,"[UE %d] Frame %d: Received SDU on MBSFN sync area %d for MCCH on SRB %d from eNB %d\n",
@@ -253,7 +253,7 @@ mac_rrc_data_ind_ue(
     	decode_SL_Discovery_Message(&ctxt, eNB_indexP, sduP, sdu_lenP);
     }
 
-#endif // #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#endif // #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   return(0);
 
@@ -327,7 +327,7 @@ rrc_data_req_ue(
            sdu_sizeP,
            buffer_pP,
            modeP
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,NULL, NULL
 #endif
            );
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c
index 70bb3dda497fcc9b2c4e97dfd6a8f07816f9a6f5..4dc6c987ab190ba0d5c63f63d42ce861a57a2816 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c
@@ -41,43 +41,43 @@
 #include <per_encoder.h>
 
 #include "assertions.h"
-#include "RRCConnectionRequest.h"
-#include "UL-CCCH-Message.h"
-#include "UL-DCCH-Message.h"
-#include "DL-CCCH-Message.h"
-#include "DL-DCCH-Message.h"
-#include "PCCH-Message.h"
+#include "LTE_RRCConnectionRequest.h"
+#include "LTE_UL-CCCH-Message.h"
+#include "LTE_UL-DCCH-Message.h"
+#include "LTE_DL-CCCH-Message.h"
+#include "LTE_DL-DCCH-Message.h"
+#include "LTE_PCCH-Message.h"
 #include "openair3/UTILS/conversions.h"
-#include "EstablishmentCause.h"
-#include "RRCConnectionSetup.h"
-#include "SRB-ToAddModList.h"
-#include "DRB-ToAddModList.h"
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "MCCH-Message.h"
+#include "LTE_EstablishmentCause.h"
+#include "LTE_RRCConnectionSetup.h"
+#include "LTE_SRB-ToAddModList.h"
+#include "LTE_DRB-ToAddModList.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#include "LTE_MCCH-Message.h"
 //#define MRB1 1
 #endif
 
 #include "RRC/LTE/rrc_defs.h"
 #include "RRC/LTE/rrc_extern.h"
-#include "RRCConnectionSetupComplete.h"
-#include "RRCConnectionReconfigurationComplete.h"
-#include "RRCConnectionReconfiguration.h"
-#include "MasterInformationBlock.h"
-#include "SystemInformation.h"
+#include "LTE_RRCConnectionSetupComplete.h"
+#include "LTE_RRCConnectionReconfigurationComplete.h"
+#include "LTE_RRCConnectionReconfiguration.h"
+#include "LTE_MasterInformationBlock.h"
+#include "LTE_SystemInformation.h"
 
-#include "SystemInformationBlockType1.h"
+#include "LTE_SystemInformationBlockType1.h"
 
-#include "SIB-Type.h"
+#include "LTE_SIB-Type.h"
 
-#include "BCCH-DL-SCH-Message.h"
-#include "SBCCH-SL-BCH-MessageType.h"
-#include "SBCCH-SL-BCH-Message.h"
+#include "LTE_BCCH-DL-SCH-Message.h"
+#include "LTE_SBCCH-SL-BCH-MessageType.h"
+#include "LTE_SBCCH-SL-BCH-Message.h"
 
 //#include "PHY/defs.h"
 
-#include "MeasObjectToAddModList.h"
-#include "ReportConfigToAddModList.h"
-#include "MeasIdToAddModList.h"
+#include "LTE_MeasObjectToAddModList.h"
+#include "LTE_ReportConfigToAddModList.h"
+#include "LTE_MeasIdToAddModList.h"
 #include "enb_config.h"
 
 #if defined(ENABLE_ITTI)
@@ -182,7 +182,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
 {
 
   asn_enc_rval_t enc_rval;
-  BCCH_BCH_Message_t *mib = &carrier->mib;
+  LTE_BCCH_BCH_Message_t *mib=&carrier->mib ;
   uint8_t sfn = (uint8_t)((frame>>2)&0xff);
   uint16_t *spare = calloc(1, sizeof(uint16_t));
   if (spare == NULL) abort();
@@ -216,9 +216,9 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
       AssertFatal(1==0,"Unknown dl_Bandwidth %d\n",N_RB_DL);
   }
 
-  AssertFatal(phich_Resource <= PHICH_Config__phich_Resource_two,"Illegal phich_Resource\n");
+  AssertFatal(phich_Resource <= LTE_PHICH_Config__phich_Resource_two,"Illegal phich_Resource\n");
   mib->message.phich_Config.phich_Resource = phich_Resource;
-  AssertFatal(phich_duration <= PHICH_Config__phich_Duration_extended,"Illegal phich_Duration\n");
+  AssertFatal(phich_duration <= LTE_PHICH_Config__phich_Duration_extended,"Illegal phich_Duration\n");
   mib->message.phich_Config.phich_Duration = phich_duration;
   LOG_I(RRC,"[MIB] systemBandwidth %x, phich_duration %x, phich_resource %x, sfn %x\n",
          (uint32_t)mib->message.dl_Bandwidth,
@@ -230,7 +230,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
   mib->message.systemFrameNumber.size = 1;
   mib->message.systemFrameNumber.bits_unused=0;
   mib->message.spare.buf = (uint8_t *)spare;
-#if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(14, 0, 0))
   mib->message.spare.size = 2;
   mib->message.spare.bits_unused = 6;  // This makes a spare of 10 bits
 #else
@@ -239,7 +239,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
   mib->message.schedulingInfoSIB1_BR_r13 = 0; // turn off eMTC
 #endif
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_BCH_Message,
                                    NULL,
                                    (void*)mib,
                                    carrier->MIB,
@@ -280,7 +280,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 {
 
    asn_enc_rval_t enc_rval;
-   SBCCH_SL_BCH_MessageType_t *mib_sl = &UE_rrc_inst[ctxt_pP->module_id].mib_sl[eNB_index];
+   LTE_SBCCH_SL_BCH_MessageType_t *mib_sl = &UE_rrc_inst[ctxt_pP->module_id].mib_sl[eNB_index];
    uint8_t sfn = (uint8_t)((frame>>2)&0xff);
    UE_rrc_inst[ctxt_pP->module_id].MIB = (uint8_t*) malloc16(4);
 
@@ -291,7 +291,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
       if (UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->tdd_Config) {
          mib_sl->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->tdd_Config->subframeAssignment;
       } else {
-         mib_sl->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = TDD_ConfigSL_r12__subframeAssignmentSL_r12_none;
+         mib_sl->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = LTE_TDD_ConfigSL_r12__subframeAssignmentSL_r12_none;
       }
       //if triggered by sl communication
       if (UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index]->commConfig_r12->commSyncConfig_r12->list.array[0]->txParameters_r12->syncInfoReserved_r12){
@@ -319,7 +319,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
   LOG_I(RRC,"[MIB-SL] sfn %x, subframe %x\n", (uint32_t)sfn, (uint8_t)subframe);
 
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_SBCCH_SL_BCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_SBCCH_SL_BCH_Message,
                                    NULL,
                                    (void*)mib_sl,
                                    UE_rrc_inst[ctxt_pP->module_id].MIB,
@@ -350,28 +350,28 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
 #else
   int num_plmn = 1;
 #endif
-  PLMN_IdentityInfo_t PLMN_identity_info[num_plmn];
-  MCC_MNC_Digit_t dummy_mcc[num_plmn][3], dummy_mnc[num_plmn][3];
+  LTE_PLMN_IdentityInfo_t PLMN_identity_info[num_plmn];
+  LTE_MCC_MNC_Digit_t dummy_mcc[num_plmn][3], dummy_mnc[num_plmn][3];
   asn_enc_rval_t enc_rval;
-  SchedulingInfo_t schedulingInfo;
-  SIB_Type_t sib_type;
+  LTE_SchedulingInfo_t schedulingInfo;
+  LTE_SIB_Type_t sib_type;
 
   uint8_t *buffer                      = carrier->SIB1;
-  BCCH_DL_SCH_Message_t *bcch_message  = &carrier->siblock1;
-  SystemInformationBlockType1_t **sib1 = &carrier->sib1;
+  LTE_BCCH_DL_SCH_Message_t *bcch_message  = &carrier->siblock1;
+  LTE_SystemInformationBlockType1_t **sib1 = &carrier->sib1;
   int i;
 
   
-  memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_t));
-  bcch_message->message.present = BCCH_DL_SCH_MessageType_PR_c1;
-  bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1;
+  memset(bcch_message,0,sizeof(LTE_BCCH_DL_SCH_Message_t));
+  bcch_message->message.present = LTE_BCCH_DL_SCH_MessageType_PR_c1;
+  bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1;
   //  memcpy(&bcch_message.message.choice.c1.choice.systemInformationBlockType1,sib1,sizeof(SystemInformationBlockType1_t));
 
   *sib1 = &bcch_message->message.choice.c1.choice.systemInformationBlockType1;
 
-  memset(PLMN_identity_info,0,num_plmn * sizeof(PLMN_IdentityInfo_t));
-  memset(&schedulingInfo,0,sizeof(SchedulingInfo_t));
-  memset(&sib_type,0,sizeof(SIB_Type_t));
+  memset(PLMN_identity_info,0,num_plmn * sizeof(LTE_PLMN_IdentityInfo_t));
+  memset(&schedulingInfo,0,sizeof(LTE_SchedulingInfo_t));
+  memset(&sib_type,0,sizeof(LTE_SIB_Type_t));
 
   /* as per TS 36.311, up to 6 PLMN_identity_info are allowed in list -> add one by one */
   for (i = 0; i < configuration->num_plmn; ++i) {
@@ -426,7 +426,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
     }
 
     //assign_enum(&PLMN_identity_info.cellReservedForOperatorUse,PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved);
-    PLMN_identity_info[i].cellReservedForOperatorUse=PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved;
+    PLMN_identity_info[i].cellReservedForOperatorUse=LTE_PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved;
 
     ASN_SEQUENCE_ADD(&(*sib1)->cellAccessRelatedInfo.plmn_IdentityList.list,&PLMN_identity_info[i]);
   }
@@ -461,10 +461,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
   (*sib1)->cellAccessRelatedInfo.cellIdentity.bits_unused=4;
 
   //  assign_enum(&(*sib1)->cellAccessRelatedInfo.cellBarred,SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred);
-  (*sib1)->cellAccessRelatedInfo.cellBarred=SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred;
+  (*sib1)->cellAccessRelatedInfo.cellBarred=LTE_SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred;
 
   //  assign_enum(&(*sib1)->cellAccessRelatedInfo.intraFreqReselection,SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_allowed);
-  (*sib1)->cellAccessRelatedInfo.intraFreqReselection=SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_notAllowed;
+  (*sib1)->cellAccessRelatedInfo.intraFreqReselection=LTE_SystemInformationBlockType1__cellAccessRelatedInfo__intraFreqReselection_notAllowed;
   (*sib1)->cellAccessRelatedInfo.csg_Indication=0;
 
   (*sib1)->cellSelectionInfo.q_RxLevMin=-65;
@@ -478,10 +478,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
     7;
 #endif
 
-  schedulingInfo.si_Periodicity=SchedulingInfo__si_Periodicity_rf8;
+  schedulingInfo.si_Periodicity=LTE_SchedulingInfo__si_Periodicity_rf8;
 
   // This is for SIB2/3
-  sib_type=SIB_Type_sibType3;
+  sib_type=LTE_SIB_Type_sibType3;
   ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type);
   ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo);
 
@@ -492,7 +492,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
   if (configuration->frame_type[CC_id] == TDD)
 #endif
   {
-    (*sib1)->tdd_Config =                             CALLOC(1,sizeof(struct TDD_Config));
+    (*sib1)->tdd_Config =                             CALLOC(1,sizeof(struct LTE_TDD_Config));
 
     (*sib1)->tdd_Config->subframeAssignment =
 #if defined(ENABLE_ITTI)
@@ -509,14 +509,14 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
 #endif
   }
 
-  (*sib1)->si_WindowLength=SystemInformationBlockType1__si_WindowLength_ms20;
+  (*sib1)->si_WindowLength=LTE_SystemInformationBlockType1__si_WindowLength_ms20;
   (*sib1)->systemInfoValueTag=0;
   //  (*sib1).nonCriticalExtension = calloc(1,sizeof(*(*sib1).nonCriticalExtension));
 
 #ifdef XER_PRINT
   xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
 #endif
-  enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message,
                                    NULL,
                                    (void*)bcch_message,
                                    buffer,
@@ -530,7 +530,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
     char        message_string[10000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_BCCH, message_string_size + sizeof (IttiMsgText));
@@ -560,46 +560,46 @@ uint8_t do_SIB23(uint8_t Mod_id,
                 )
 {
 
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
+  struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   //TTN - for D2D
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib18_part, *sib19_part, *sib21_part;
-  SL_CommRxPoolList_r12_t *SL_CommRxPoolList; //for SIB18
-  struct SL_CommResourcePool_r12 *SL_CommResourcePool; //for SIB18
-  SL_DiscRxPoolList_r12_t *SL_DiscRxPoolList; //for SIB19 (discRxPool)
-  struct SL_DiscResourcePool_r12 *SL_DiscResourcePool; //for SIB19 (discRxPool)
+  struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib18_part, *sib19_part, *sib21_part;
+  LTE_SL_CommRxPoolList_r12_t *SL_CommRxPoolList; //for SIB18
+  struct LTE_SL_CommResourcePool_r12 *SL_CommResourcePool; //for SIB18
+  LTE_SL_DiscRxPoolList_r12_t *SL_DiscRxPoolList; //for SIB19 (discRxPool)
+  struct LTE_SL_DiscResourcePool_r12 *SL_DiscResourcePool; //for SIB19 (discRxPool)
   //SL_DiscRxPoolList_r12_t *SL_DiscRxPoolPSList; //for SIB19 (discRxPoolPS)
   //struct SL_DiscResourcePool_r12 *SL_DiscResourcePoolPS; //for SIB19 (discRxPoolPS)
   //struct SL_V2X_ConfigCommon_r14 *SL_V2X_ConfigCommon;
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
-  MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
-  MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
-  struct MBSFN_AreaInfo_r9 *MBSFN_Area1, *MBSFN_Area2;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
+  LTE_MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
+  LTE_MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
+  struct LTE_MBSFN_AreaInfo_r9 *MBSFN_Area1, *MBSFN_Area2;
 #endif
   asn_enc_rval_t enc_rval;
 
   uint8_t                           *buffer       = RC.rrc[Mod_id]->carrier[CC_id].SIB23;
-  BCCH_DL_SCH_Message_t             *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation;
-  SystemInformationBlockType2_t     **sib2        = &RC.rrc[Mod_id]->carrier[CC_id].sib2;
-  SystemInformationBlockType3_t     **sib3        = &RC.rrc[Mod_id]->carrier[CC_id].sib3;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  SystemInformationBlockType13_r9_t **sib13       = &RC.rrc[Mod_id]->carrier[CC_id].sib13;
+  LTE_BCCH_DL_SCH_Message_t             *bcch_message = &RC.rrc[Mod_id]->carrier[CC_id].systemInformation;
+  LTE_SystemInformationBlockType2_t     **sib2        = &RC.rrc[Mod_id]->carrier[CC_id].sib2;
+  LTE_SystemInformationBlockType3_t     **sib3        = &RC.rrc[Mod_id]->carrier[CC_id].sib3;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  LTE_SystemInformationBlockType13_r9_t **sib13       = &RC.rrc[Mod_id]->carrier[CC_id].sib13;
   uint8_t                           MBMS_flag     = RC.rrc[Mod_id]->carrier[CC_id].MBMS_flag;
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   //TTN - for D2D
-  SystemInformationBlockType18_r12_t     **sib18        = &RC.rrc[Mod_id]->carrier[CC_id].sib18;
-  SystemInformationBlockType19_r12_t     **sib19        = &RC.rrc[Mod_id]->carrier[CC_id].sib19;
-  SystemInformationBlockType21_r14_t     **sib21        = &RC.rrc[Mod_id]->carrier[CC_id].sib21;
+  LTE_SystemInformationBlockType18_r12_t     **sib18        = &RC.rrc[Mod_id]->carrier[CC_id].sib18;
+  LTE_SystemInformationBlockType19_r12_t     **sib19        = &RC.rrc[Mod_id]->carrier[CC_id].sib19;
+  LTE_SystemInformationBlockType21_r14_t     **sib21        = &RC.rrc[Mod_id]->carrier[CC_id].sib21;
 #endif
 
   if (bcch_message) {
-    memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_t));
+    memset(bcch_message,0,sizeof(LTE_BCCH_DL_SCH_Message_t));
   } else {
     LOG_E(RRC,"[eNB %d] BCCH_MESSAGE is null, exiting\n", Mod_id);
     exit(-1);
@@ -615,45 +615,45 @@ uint8_t do_SIB23(uint8_t Mod_id,
     exit(-1);
   }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag);
 #else
   LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id);
 #endif
-  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  sib3_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib3_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib2_part = CALLOC(1,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib3_part = CALLOC(1,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  memset(sib2_part,0,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  memset(sib3_part,0,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
 
-  sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2;
-  sib3_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3;
+  sib2_part->present = LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2;
+  sib3_part->present = LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3;
 
   *sib2 = &sib2_part->choice.sib2;
   *sib3 = &sib3_part->choice.sib3;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flag > 0) {
-    sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-    memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-    sib13_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920;
+    sib13_part = CALLOC(1,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+    memset(sib13_part,0,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+    sib13_part->present = LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920;
     *sib13 = &sib13_part->choice.sib13_v920;
   }
 
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   //TTN - for D2D
-  sib18_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  sib19_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  sib21_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib18_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib19_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib21_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib18_part = CALLOC(1,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib19_part = CALLOC(1,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib21_part = CALLOC(1,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  memset(sib18_part,0,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  memset(sib19_part,0,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  memset(sib21_part,0,sizeof(struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
 
-  sib18_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250;
-  sib19_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250;
-  sib21_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430;
+  sib18_part->present = LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250;
+  sib19_part->present = LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250;
+  sib21_part->present = LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430;
 
   *sib18 = &sib18_part->choice.sib18_v1250;
   *sib19 = &sib19_part->choice.sib19_v1250;
@@ -665,7 +665,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   // sib2
 
   (*sib2)->ac_BarringInfo = NULL;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   (*sib2)->ext1 = NULL;
   (*sib2)->ext2 = NULL;
 #endif
@@ -677,7 +677,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
   if (configuration->rach_preamblesGroupAConfig[CC_id]) {
     (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig
-      = CALLOC(1,sizeof(struct RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig));
+      = CALLOC(1,sizeof(struct LTE_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig));
     (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->sizeOfRA_PreamblesGroupA
       = configuration->rach_sizeOfRA_PreamblesGroupA[CC_id];
     (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig->messageSizeGroupA
@@ -752,7 +752,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
     = configuration->pucch_nRB_CQI[CC_id];
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN
     = configuration->pucch_nCS_AN[CC_id];
-//#if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
+//#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN
     = configuration->pucch_n1_AN[CC_id];
 //#endif
@@ -760,7 +760,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   // SRS Config
   if (configuration->srs_enable[CC_id]==1) {
     (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present
-      = SoundingRS_UL_ConfigCommon_PR_setup;
+      = LTE_SoundingRS_UL_ConfigCommon_PR_setup;
     (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig
       = configuration->srs_BandwidthConfig[CC_id];
     (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig
@@ -778,7 +778,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
     RC.rrc[Mod_id]->srs_enable[CC_id] = 1;
   } else {
     RC.rrc[Mod_id]->srs_enable[CC_id] = 0;
-    (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release;
+    (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=LTE_SoundingRS_UL_ConfigCommon_PR_release;
     (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0;
   }
 
@@ -821,23 +821,23 @@ uint8_t do_SIB23(uint8_t Mod_id,
     = configuration->ue_TimersAndConstants_n311[CC_id];
 
 #else
-  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64;
+  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.numberOfRA_Preambles=LTE_RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64;
   (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.preambleInfo.preamblesGroupAConfig = NULL;
-  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2;
+  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.powerRampingStep=LTE_RACH_ConfigCommon__powerRampingParameters__powerRampingStep_dB2;
   (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower=
     RACH_ConfigCommon__powerRampingParameters__preambleInitialReceivedTargetPower_dBm_100;
-  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax=RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10;
-  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize=RACH_ConfigCommon__ra_SupervisionInfo__ra_ResponseWindowSize_sf10;
+  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax=LTE_RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10;
+  (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.ra_ResponseWindowSize=LTE_RACH_ConfigCommon__ra_SupervisionInfo__ra_ResponseWindowSize_sf10;
   (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer=
-    RACH_ConfigCommon__ra_SupervisionInfo__mac_ContentionResolutionTimer_sf48;
+    LTE_RACH_ConfigCommon__ra_SupervisionInfo__mac_ContentionResolutionTimer_sf48;
   (*sib2)->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx = 4;
 
   // BCCH-Config
   (*sib2)->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff=BCCH_Config__modificationPeriodCoeff_n2;
 
   // PCCH-Config
-  (*sib2)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128;
-  (*sib2)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT;
+  (*sib2)->radioResourceConfigCommon.pcch_Config.defaultPagingCycle = LTE_PCCH_Config__defaultPagingCycle_rf128;
+  (*sib2)->radioResourceConfigCommon.pcch_Config.nB=LTE_PCCH_Config__nB_oneT;
 
   // PRACH-Config
   (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384;
@@ -854,7 +854,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
   // PUSCH-Config
   (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB=1;
-  (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode=PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame;
+  (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.hoppingMode=LTE_PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame;
   (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.pusch_HoppingOffset=0;
   (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.enable64QAM=0;
   (*sib2)->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.groupHoppingEnabled=1;
@@ -864,28 +864,28 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
   // PUCCH-Config
 
-  (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift=PUCCH_ConfigCommon__deltaPUCCH_Shift_ds1;
+  (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift=LTE_PUCCH_ConfigCommon__deltaPUCCH_Shift_ds1;
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI = 1;
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN = 0;
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN = 32;
 
 
-  (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=SoundingRS_UL_ConfigCommon_PR_release;
+  (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present=LTE_SoundingRS_UL_ConfigCommon_PR_release;
   (*sib2)->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.release=0;
 
   // uplinkPowerControlCommon
 
   (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108;
   (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108;
-  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha=UplinkPowerControlCommon__alpha_al1;
-  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1=DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2;
-  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b=DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3;
+  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.alpha=LTE_UplinkPowerControlCommon__alpha_al1;
+  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1=LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2;
+  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format1b=LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3;
 
-  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2=DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0;
+  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2=LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0;
 
-  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a=DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0;
+  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2a=LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0;
 
-  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b=DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0;
+  (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b=LTE_DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0;
 
   (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 = 6;
 
@@ -910,20 +910,20 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib2)->freqInfo.ul_Bandwidth = NULL;
   //  (*sib2)->mbsfn_SubframeConfigList = NULL;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flag > 0) {
     LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n");
-    MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig1;
-    (*sib2)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct MBSFN_SubframeConfigList));
+    LTE_MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig1;
+    (*sib2)->mbsfn_SubframeConfigList = CALLOC(1,sizeof(struct LTE_MBSFN_SubframeConfigList));
     MBSFNSubframeConfigList = (*sib2)->mbsfn_SubframeConfigList;
 
     sib2_mbsfn_SubframeConfig1= CALLOC(1,sizeof(*sib2_mbsfn_SubframeConfig1));
     memset((void*)sib2_mbsfn_SubframeConfig1,0,sizeof(*sib2_mbsfn_SubframeConfig1));
 
-    sib2_mbsfn_SubframeConfig1->radioframeAllocationPeriod= MBSFN_SubframeConfig__radioframeAllocationPeriod_n4;
+    sib2_mbsfn_SubframeConfig1->radioframeAllocationPeriod= LTE_MBSFN_SubframeConfig__radioframeAllocationPeriod_n4;
     sib2_mbsfn_SubframeConfig1->radioframeAllocationOffset= 1;
-    sib2_mbsfn_SubframeConfig1->subframeAllocation.present= MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame;
+    sib2_mbsfn_SubframeConfig1->subframeAllocation.present= LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame;
     sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf= MALLOC(1);
     sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.size= 1;
     sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.bits_unused= 2;
@@ -934,13 +934,13 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
     if (MBMS_flag == 4 ) {
       LOG_I(RRC,"Adding MBSFN subframe Configuration 2 to SIB2\n");
-      MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig2;
+      LTE_MBSFN_SubframeConfig_t *sib2_mbsfn_SubframeConfig2;
       sib2_mbsfn_SubframeConfig2= CALLOC(1,sizeof(*sib2_mbsfn_SubframeConfig2));
       memset((void*)sib2_mbsfn_SubframeConfig2,0,sizeof(*sib2_mbsfn_SubframeConfig2));
 
-      sib2_mbsfn_SubframeConfig2->radioframeAllocationPeriod= MBSFN_SubframeConfig__radioframeAllocationPeriod_n4;
+      sib2_mbsfn_SubframeConfig2->radioframeAllocationPeriod= LTE_MBSFN_SubframeConfig__radioframeAllocationPeriod_n4;
       sib2_mbsfn_SubframeConfig2->radioframeAllocationOffset= 1;
-      sib2_mbsfn_SubframeConfig2->subframeAllocation.present= MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame;
+      sib2_mbsfn_SubframeConfig2->subframeAllocation.present= LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame;
       sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.buf= MALLOC(1);
       sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.size= 1;
       sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.bits_unused= 2;
@@ -956,13 +956,13 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib2)->mbsfn_SubframeConfigList = NULL;
 #endif
 
-  (*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
+  (*sib2)->timeAlignmentTimerCommon=LTE_TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
 
   /// (*SIB3)
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   (*sib3)->ext1 = NULL;
 #endif
-  (*sib3)->cellReselectionInfoCommon.q_Hyst=SystemInformationBlockType3__cellReselectionInfoCommon__q_Hyst_dB4;
+  (*sib3)->cellReselectionInfoCommon.q_Hyst=LTE_SystemInformationBlockType3__cellReselectionInfoCommon__q_Hyst_dB4;
 
   (*sib3)->cellReselectionInfoCommon.speedStateReselectionPars=NULL;
 
@@ -976,7 +976,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   *(*sib3)->intraFreqCellReselectionInfo.s_IntraSearch = 31;
   (*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth=CALLOC(1,sizeof(*(*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth));
 
-  *(*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth = AllowedMeasBandwidth_mbw6;
+  *(*sib3)->intraFreqCellReselectionInfo.allowedMeasBandwidth = LTE_AllowedMeasBandwidth_mbw6;
 
   (*sib3)->intraFreqCellReselectionInfo.presenceAntennaPort1 = 0;
   (*sib3)->intraFreqCellReselectionInfo.neighCellConfig.buf = CALLOC(8,1);
@@ -984,15 +984,15 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib3)->intraFreqCellReselectionInfo.neighCellConfig.buf[0] = 1 << 6;
   (*sib3)->intraFreqCellReselectionInfo.neighCellConfig.bits_unused = 6;
   (*sib3)->intraFreqCellReselectionInfo.t_ReselectionEUTRA = 1;
-  (*sib3)->intraFreqCellReselectionInfo.t_ReselectionEUTRA_SF = (struct SpeedStateScaleFactors *)NULL;
+  (*sib3)->intraFreqCellReselectionInfo.t_ReselectionEUTRA_SF = (struct LTE_SpeedStateScaleFactors *)NULL;
 
   // SIB13
   // fill in all elements of SIB13 if present
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 
   if (MBMS_flag > 0 ) {
     //  Notification for mcch change
-    (*sib13)->notificationConfig_r9.notificationRepetitionCoeff_r9= MBMS_NotificationConfig_r9__notificationRepetitionCoeff_r9_n2;
+    (*sib13)->notificationConfig_r9.notificationRepetitionCoeff_r9= LTE_MBMS_NotificationConfig_r9__notificationRepetitionCoeff_r9_n2;
     (*sib13)->notificationConfig_r9.notificationOffset_r9= 0;
     (*sib13)->notificationConfig_r9.notificationSF_Index_r9= 1;
 
@@ -1002,11 +1002,11 @@ uint8_t do_SIB23(uint8_t Mod_id,
     // MBSFN Area 1
     MBSFN_Area1= CALLOC(1, sizeof(*MBSFN_Area1));
     MBSFN_Area1->mbsfn_AreaId_r9= 1;
-    MBSFN_Area1->non_MBSFNregionLength= MBSFN_AreaInfo_r9__non_MBSFNregionLength_s2;
+    MBSFN_Area1->non_MBSFNregionLength= LTE_MBSFN_AreaInfo_r9__non_MBSFNregionLength_s2;
     MBSFN_Area1->notificationIndicator_r9= 0;
-    MBSFN_Area1->mcch_Config_r9.mcch_RepetitionPeriod_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_RepetitionPeriod_r9_rf32;
+    MBSFN_Area1->mcch_Config_r9.mcch_RepetitionPeriod_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_RepetitionPeriod_r9_rf32;
     MBSFN_Area1->mcch_Config_r9.mcch_Offset_r9= 1; // in accordance with mbsfn subframe configuration in sib2
-    MBSFN_Area1->mcch_Config_r9.mcch_ModificationPeriod_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_ModificationPeriod_r9_rf512;
+    MBSFN_Area1->mcch_Config_r9.mcch_ModificationPeriod_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_ModificationPeriod_r9_rf512;
     //  Subframe Allocation Info
     MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf= MALLOC(1);
     MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.size= 1;
@@ -1016,7 +1016,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
     MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2;
 
-    MBSFN_Area1->mcch_Config_r9.signallingMCS_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7;
+    MBSFN_Area1->mcch_Config_r9.signallingMCS_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7;
 
     ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area1);
 
@@ -1024,11 +1024,11 @@ uint8_t do_SIB23(uint8_t Mod_id,
     if (MBMS_flag == 4 ) {
       MBSFN_Area2= CALLOC(1, sizeof(*MBSFN_Area2));
       MBSFN_Area2->mbsfn_AreaId_r9= 2;
-      MBSFN_Area2->non_MBSFNregionLength= MBSFN_AreaInfo_r9__non_MBSFNregionLength_s2;
+      MBSFN_Area2->non_MBSFNregionLength= LTE_MBSFN_AreaInfo_r9__non_MBSFNregionLength_s2;
       MBSFN_Area2->notificationIndicator_r9= 1;
-      MBSFN_Area2->mcch_Config_r9.mcch_RepetitionPeriod_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_RepetitionPeriod_r9_rf32;
+      MBSFN_Area2->mcch_Config_r9.mcch_RepetitionPeriod_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_RepetitionPeriod_r9_rf32;
       MBSFN_Area2->mcch_Config_r9.mcch_Offset_r9= 1;
-      MBSFN_Area2->mcch_Config_r9.mcch_ModificationPeriod_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_ModificationPeriod_r9_rf512;
+      MBSFN_Area2->mcch_Config_r9.mcch_ModificationPeriod_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__mcch_ModificationPeriod_r9_rf512;
       // Subframe Allocation Info
       MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.buf= MALLOC(1);
       MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.size= 1;
@@ -1037,7 +1037,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
       MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=0x04<<2;  // FDD: SF6
      
 
-      MBSFN_Area2->mcch_Config_r9.signallingMCS_r9= MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7;
+      MBSFN_Area2->mcch_Config_r9.signallingMCS_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7;
 
       ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area2);
     }
@@ -1048,7 +1048,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
 #endif
 
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   //TTN - for D2D
   // SIB18
   //commRxPool_r12
@@ -1068,44 +1068,44 @@ uint8_t do_SIB23(uint8_t Mod_id,
   SL_CommResourcePool->sc_TF_ResourceConfig_r12.prb_End_r12 = configuration->rxPool_ResourceConfig_prb_End[CC_id];
   SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present = configuration->rxPool_ResourceConfig_offsetIndicator_present[CC_id];
 
-  if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) {
+  if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == LTE_SL_OffsetIndicator_r12_PR_small_r12 ) {
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->rxPool_ResourceConfig_offsetIndicator_choice[CC_id] ;
-  } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){
+  } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present == LTE_SL_OffsetIndicator_r12_PR_large_r12 ){
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->rxPool_ResourceConfig_offsetIndicator_choice[CC_id] ;
   }
 
   SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present = configuration->rxPool_ResourceConfig_subframeBitmap_present[CC_id];
-  if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){
+  if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs4_r12){
      //for BS4
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){
+  } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs8_r12){
      //for BS8
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){
+  } else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs12_r12){
      //for BS12
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){
+  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs16_r12){
      //for BS16
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){
+  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs30_r12){
      //for BS30
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){
+  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs40_r12){
      //for BS40
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){
+  }else if (SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs42_r12){
      //for BS42
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_CommResourcePool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf  = (uint8_t *)configuration->rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
@@ -1114,7 +1114,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
   //dataHoppingConfig_r12
   SL_CommResourcePool->dataHoppingConfig_r12.hoppingParameter_r12 = 0;
-  SL_CommResourcePool->dataHoppingConfig_r12.numSubbands_r12  =  SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
+  SL_CommResourcePool->dataHoppingConfig_r12.numSubbands_r12  =  LTE_SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
   SL_CommResourcePool->dataHoppingConfig_r12.rb_Offset_r12 = 0;
 
   //ue_SelectedResourceConfig_r12
@@ -1122,9 +1122,9 @@ uint8_t do_SIB23(uint8_t Mod_id,
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Num_r12 = 20;
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Start_r12 = 5;
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_End_r12 = 44;
-  SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.present = SL_OffsetIndicator_r12_PR_small_r12;
+  SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.present = LTE_SL_OffsetIndicator_r12_PR_small_r12;
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = 0 ;
-  SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.present = SubframeBitmapSL_r12_PR_bs40_r12;
+  SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.present = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = 5;
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf  = CALLOC(1,5);
   SL_CommResourcePool->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = 0;
@@ -1142,7 +1142,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   SL_CommResourcePool->rxParametersNCell_r12->syncConfigIndex_r12 = 0;
   //txParameters_r12
   SL_CommResourcePool->txParameters_r12 = CALLOC (1, sizeof (*SL_CommResourcePool->txParameters_r12));
-  SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.alpha_r12 = Alpha_r12_al0;
+  SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.alpha_r12 = LTE_Alpha_r12_al0;
   SL_CommResourcePool->txParameters_r12->sc_TxParameters_r12.p0_r12 = 0;
 
   SL_CommResourcePool->ext1 = NULL ;
@@ -1178,43 +1178,43 @@ uint8_t do_SIB23(uint8_t Mod_id,
   SL_DiscResourcePool->tf_ResourceConfig_r12.prb_Start_r12 = configuration->discRxPool_ResourceConfig_prb_Start[CC_id];
   SL_DiscResourcePool->tf_ResourceConfig_r12.prb_End_r12 = configuration->discRxPool_ResourceConfig_prb_End[CC_id];
   SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present = configuration->discRxPool_ResourceConfig_offsetIndicator_present[CC_id];
-  if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_small_r12 ) {
+  if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == LTE_SL_OffsetIndicator_r12_PR_small_r12 ) {
      SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = configuration->discRxPool_ResourceConfig_offsetIndicator_choice[CC_id] ;
-  } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == SL_OffsetIndicator_r12_PR_large_r12 ){
+  } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.present == LTE_SL_OffsetIndicator_r12_PR_large_r12 ){
      SL_DiscResourcePool->tf_ResourceConfig_r12.offsetIndicator_r12.choice.large_r12 = configuration->discRxPool_ResourceConfig_offsetIndicator_choice[CC_id] ;
   }
   SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present = configuration->discRxPool_ResourceConfig_subframeBitmap_present[CC_id];
-  if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs4_r12){
+  if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs4_r12){
      //for BS4
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf  =  (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs8_r12){
+  } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs8_r12){
      //for BS8
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.buf  = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs8_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs12_r12){
+  } else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs12_r12){
      //for BS12
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.buf  = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs12_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs16_r12){
+  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs16_r12){
      //for BS16
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.buf  = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs16_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs30_r12){
+  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs30_r12){
      //for BS30
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.buf  = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs30_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs40_r12){
+  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs40_r12){
      //for BS40
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf  = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[CC_id];
-  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == SubframeBitmapSL_r12_PR_bs42_r12){
+  }else if (SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.present == LTE_SubframeBitmapSL_r12_PR_bs42_r12){
      //for BS42
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.size = configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[CC_id];
      SL_DiscResourcePool->tf_ResourceConfig_r12.subframeBitmap_r12.choice.bs42_r12.buf  = (uint8_t *)configuration->discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[CC_id];;
@@ -1301,8 +1301,8 @@ uint8_t do_SIB23(uint8_t Mod_id,
   //SL_V2X_ConfigCommon= (*sib21)->sl_V2X_ConfigCommon_r14;
   memset((*sib21)->sl_V2X_ConfigCommon_r14,0,sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14));
 
-  struct SL_CommRxPoolListV2X_r14 *SL_CommRxPoolListV2X;
-  struct SL_CommResourcePoolV2X_r14 *SL_CommResourcePoolV2X;
+  struct LTE_SL_CommRxPoolListV2X_r14 *SL_CommRxPoolListV2X;
+  struct LTE_SL_CommResourcePoolV2X_r14 *SL_CommResourcePoolV2X;
   (*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14 = CALLOC(1, sizeof(*(*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14));
   SL_CommRxPoolListV2X = (*sib21)->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14;
 
@@ -1310,9 +1310,9 @@ uint8_t do_SIB23(uint8_t Mod_id,
   memset(SL_CommResourcePoolV2X,0,sizeof(*SL_CommResourcePoolV2X));
 
   SL_CommResourcePoolV2X->sl_OffsetIndicator_r14 = CALLOC(1, sizeof(*SL_CommResourcePoolV2X->sl_OffsetIndicator_r14));
-  SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->present  = SL_OffsetIndicator_r12_PR_small_r12;
+  SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->present  = LTE_SL_OffsetIndicator_r12_PR_small_r12;
   SL_CommResourcePoolV2X->sl_OffsetIndicator_r14->choice.small_r12 = 0;
-  SL_CommResourcePoolV2X->sl_Subframe_r14.present = SubframeBitmapSL_r14_PR_bs40_r14;
+  SL_CommResourcePoolV2X->sl_Subframe_r14.present = LTE_SubframeBitmapSL_r14_PR_bs40_r14;
   SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.size =  5;
   SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.buf =  CALLOC(1,5);
   SL_CommResourcePoolV2X->sl_Subframe_r14.choice.bs40_r14.bits_unused = 0;
@@ -1339,14 +1339,14 @@ uint8_t do_SIB23(uint8_t Mod_id,
 #endif
  
 
-  bcch_message->message.present = BCCH_DL_SCH_MessageType_PR_c1;
-  bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType__c1_PR_systemInformation;
+  bcch_message->message.present = LTE_BCCH_DL_SCH_MessageType_PR_c1;
+  bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformation;
 
   /*  memcpy((void*)&bcch_message.message.choice.c1.choice.systemInformation,
    (void*)systemInformation,
    sizeof(SystemInformation_t));*/
 
-  bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.present = SystemInformation__criticalExtensions_PR_systemInformation_r8;
+  bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.present = LTE_SystemInformation__criticalExtensions_PR_systemInformation_r8;
   bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count=0;
 
   //  asn_set_empty(&systemInformation->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list);//.size=0;
@@ -1355,7 +1355,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
                    sib2_part);
   ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,
                    sib3_part);
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flag > 0) {
     ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,sib13_part);
@@ -1363,9 +1363,9 @@ uint8_t do_SIB23(uint8_t Mod_id,
 #endif
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
+     xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message, (void*)bcch_message);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message,
                                    NULL,
                                    (void*)bcch_message,
                                    buffer,
@@ -1380,7 +1380,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
     char        message_string[15000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_BCCH, message_string_size + sizeof (IttiMsgText));
@@ -1409,20 +1409,20 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
   asn_enc_rval_t enc_rval;
   uint8_t buf[5],buf2=0;
 
-  UL_CCCH_Message_t ul_ccch_msg;
+  LTE_UL_CCCH_Message_t ul_ccch_msg;
 
-  RRCConnectionRequest_t *rrcConnectionRequest;
+  LTE_RRCConnectionRequest_t *rrcConnectionRequest;
 
-  memset((void *)&ul_ccch_msg,0,sizeof(UL_CCCH_Message_t));
+  memset((void *)&ul_ccch_msg,0,sizeof(LTE_UL_CCCH_Message_t));
 
-  ul_ccch_msg.message.present           = UL_CCCH_MessageType_PR_c1;
-  ul_ccch_msg.message.choice.c1.present = UL_CCCH_MessageType__c1_PR_rrcConnectionRequest;
+  ul_ccch_msg.message.present           = LTE_UL_CCCH_MessageType_PR_c1;
+  ul_ccch_msg.message.choice.c1.present = LTE_UL_CCCH_MessageType__c1_PR_rrcConnectionRequest;
   rrcConnectionRequest          = &ul_ccch_msg.message.choice.c1.choice.rrcConnectionRequest;
 
-  rrcConnectionRequest->criticalExtensions.present = RRCConnectionRequest__criticalExtensions_PR_rrcConnectionRequest_r8;
+  rrcConnectionRequest->criticalExtensions.present = LTE_RRCConnectionRequest__criticalExtensions_PR_rrcConnectionRequest_r8;
 
   if (1) {
-    rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.present = InitialUE_Identity_PR_randomValue;
+    rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.present = LTE_InitialUE_Identity_PR_randomValue;
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.randomValue.size = 5;
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.randomValue.bits_unused = 0;
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.randomValue.buf = buf;
@@ -1432,7 +1432,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.randomValue.buf[3] = rv[3];
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.randomValue.buf[4] = rv[4];
   } else {
-    rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.present = InitialUE_Identity_PR_s_TMSI;
+    rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.present = LTE_InitialUE_Identity_PR_s_TMSI;
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.s_TMSI.mmec.size = 1;
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.s_TMSI.mmec.bits_unused = 0;
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.s_TMSI.mmec.buf = buf;
@@ -1446,14 +1446,14 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
     rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.ue_Identity.choice.s_TMSI.m_TMSI.buf[3] = 0x9a;
   }
 
-  rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.establishmentCause = EstablishmentCause_mo_Signalling; //EstablishmentCause_mo_Data;
+  rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.establishmentCause = LTE_EstablishmentCause_mo_Signalling; //EstablishmentCause_mo_Data;
 
   rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.spare.buf = &buf2;
   rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.spare.size=1;
   rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.spare.bits_unused = 7;
 
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_CCCH_Message,
                                    NULL,
                                    (void*)&ul_ccch_msg,
                                    buffer,
@@ -1467,7 +1467,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_CCCH_Message, (void *) &ul_ccch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_CCCH_Message, (void *) &ul_ccch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -1488,30 +1488,30 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
 
 
 //TTN for D2D - 3GPP TS 36.331 (Section 5.10.2.3)
-uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode)
+uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode)
 {
 
    asn_enc_rval_t enc_rval;
-   UL_DCCH_Message_t ul_dcch_msg;
-   SidelinkUEInformation_r12_t *sidelinkUEInformation;
-   ARFCN_ValueEUTRA_r9_t carrierFreq = 25655;//sidelink communication frequency (hardcoded - should come from SIB2)
-
-   memset((void *)&ul_dcch_msg,0,sizeof(UL_DCCH_Message_t));
-   ul_dcch_msg.message.present = UL_DCCH_MessageType_PR_messageClassExtension;
-   ul_dcch_msg.message.choice.messageClassExtension.present  = UL_DCCH_MessageType__messageClassExtension_PR_c2;
-   ul_dcch_msg.message.choice.messageClassExtension.choice.c2.present =  UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12;
+   LTE_UL_DCCH_Message_t ul_dcch_msg;
+   LTE_SidelinkUEInformation_r12_t *sidelinkUEInformation;
+   LTE_ARFCN_ValueEUTRA_r9_t carrierFreq = 25655;//sidelink communication frequency (hardcoded - should come from SIB2)
+
+   memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
+   ul_dcch_msg.message.present = LTE_UL_DCCH_MessageType_PR_messageClassExtension;
+   ul_dcch_msg.message.choice.messageClassExtension.present  = LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2;
+   ul_dcch_msg.message.choice.messageClassExtension.choice.c2.present =  LTE_UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12;
    sidelinkUEInformation            = &ul_dcch_msg.message.choice.messageClassExtension.choice.c2.choice.sidelinkUEInformation_r12;
 
    //3GPP TS 36.331 (Section 5.10.2.3)
-   sidelinkUEInformation->criticalExtensions.present = SidelinkUEInformation_r12__criticalExtensions_PR_c1;
-   sidelinkUEInformation->criticalExtensions.choice.c1.present = SidelinkUEInformation_r12__criticalExtensions__c1_PR_sidelinkUEInformation_r12;
+   sidelinkUEInformation->criticalExtensions.present = LTE_SidelinkUEInformation_r12__criticalExtensions_PR_c1;
+   sidelinkUEInformation->criticalExtensions.choice.c1.present = LTE_SidelinkUEInformation_r12__criticalExtensions__c1_PR_sidelinkUEInformation_r12;
    switch(mode) {
    //if SIB18 is available
    case SL_RECEIVE_COMMUNICATION: // to receive sidelink communication
       sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commRxInterestedFreq_r12 = CALLOC(1,
             sizeof(*sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commRxInterestedFreq_r12));
       memcpy((void*)sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commRxInterestedFreq_r12, (void*)&carrierFreq,
-            sizeof(ARFCN_ValueEUTRA_r9_t));
+            sizeof(LTE_ARFCN_ValueEUTRA_r9_t));
       break;
 
    case SL_TRANSMIT_NON_RELAY_ONE_TO_MANY: //to transmit non-relay related one-to-many sidelink communication
@@ -1521,10 +1521,10 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
       sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->carrierFreq_r12 = CALLOC(1,
             sizeof(*sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->carrierFreq_r12));
       memcpy((void*)sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->carrierFreq_r12, (void*)&carrierFreq,
-            sizeof(ARFCN_ValueEUTRA_r9_t));
+            sizeof(LTE_ARFCN_ValueEUTRA_r9_t));
       memcpy(&sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12,
             destinationInfoList,
-            sizeof(SL_DestinationInfoList_r12_t));
+            sizeof(LTE_SL_DestinationInfoList_r12_t));
       break;
 
    case SL_TRANSMIT_NON_RELAY_ONE_TO_ONE://transmit non-relay related one-to-one sidelink communication
@@ -1537,10 +1537,10 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
       sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->carrierFreq_r12 = CALLOC(1,
             sizeof(*sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->carrierFreq_r12));
       memcpy((void*)sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->carrierFreq_r12, (void*)&carrierFreq,
-            sizeof (ARFCN_ValueEUTRA_r9_t));
+            sizeof (LTE_ARFCN_ValueEUTRA_r9_t));
       memcpy(&sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->destinationInfoList_r12,
             destinationInfoList,
-            sizeof(SL_DestinationInfoList_r12_t));
+            sizeof(LTE_SL_DestinationInfoList_r12_t));
       break;
 
    case SL_TRANSMIT_RELAY_ONE_TO_ONE: //transmit relay related one-to-one sidelink communication
@@ -1555,7 +1555,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
             destinationInfoList,
             sizeof(*destinationInfoList));
       //set ue-type to relayUE or remoteUE
-      sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->ue_Type_r13 =SidelinkUEInformation_v1310_IEs__commTxResourceInfoReqRelay_r13__ue_Type_r13_relayUE;
+      sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->ue_Type_r13 =LTE_SidelinkUEInformation_v1310_IEs__commTxResourceInfoReqRelay_r13__ue_Type_r13_relayUE;
       //sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12->nonCriticalExtension->commTxResourceInfoReqRelay_r13->ue_Type_r13 =SidelinkUEInformation_v1310_IEs__commTxResourceInfoReqRelay_r13__ue_Type_r13_remoteUE;
       break;
 
@@ -1568,7 +1568,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
             sizeof(*sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13));
       sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13 = CALLOC(1,
             sizeof(*sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13));
-      sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->ue_Type_r13 =SidelinkUEInformation_v1310_IEs__commTxResourceInfoReqRelay_r13__ue_Type_r13_relayUE;
+      sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->ue_Type_r13 = LTE_SidelinkUEInformation_v1310_IEs__commTxResourceInfoReqRelay_r13__ue_Type_r13_relayUE;
       memcpy(&sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12,
             destinationInfoList,
             sizeof(*destinationInfoList));
@@ -1580,7 +1580,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
 
       sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.discRxInterest_r12 = CALLOC(1,
             sizeof(*sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.discRxInterest_r12));
-      *sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.discRxInterest_r12 = SidelinkUEInformation_r12_IEs__discRxInterest_r12_true;
+      *sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.discRxInterest_r12 = LTE_SidelinkUEInformation_r12_IEs__discRxInterest_r12_true;
       break;
    case SL_TRANSMIT_NON_PS_DISCOVERY://to transmit non-PS related sidelink discovery announcements
       //for the first frequency
@@ -1617,11 +1617,11 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
    }
 
    if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-      xer_fprint(stdout, &asn_DEF_UL_DCCH_Message, (void*)&ul_dcch_msg);
+      xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void*)&ul_dcch_msg);
    }
 
 
-   enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
+   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message,
          NULL,                                   
          (void*)&ul_dcch_msg,
          buffer,
@@ -1635,7 +1635,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer,  SL_Destinatio
       char        message_string[20000];
       size_t      message_string_size;
 
-      if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
+      if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
          MessageDef *msg_p;
 
          msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -1663,19 +1663,19 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin
 
   asn_enc_rval_t enc_rval;
 
-  UL_DCCH_Message_t ul_dcch_msg;
+  LTE_UL_DCCH_Message_t ul_dcch_msg;
 
-  RRCConnectionSetupComplete_t *rrcConnectionSetupComplete;
+  LTE_RRCConnectionSetupComplete_t *rrcConnectionSetupComplete;
 
-  memset((void *)&ul_dcch_msg,0,sizeof(UL_DCCH_Message_t));
+  memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
 
-  ul_dcch_msg.message.present           = UL_DCCH_MessageType_PR_c1;
-  ul_dcch_msg.message.choice.c1.present = UL_DCCH_MessageType__c1_PR_rrcConnectionSetupComplete;
+  ul_dcch_msg.message.present           = LTE_UL_DCCH_MessageType_PR_c1;
+  ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionSetupComplete;
   rrcConnectionSetupComplete            = &ul_dcch_msg.message.choice.c1.choice.rrcConnectionSetupComplete;
 
   rrcConnectionSetupComplete->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionSetupComplete->criticalExtensions.present = RRCConnectionSetupComplete__criticalExtensions_PR_c1;
-  rrcConnectionSetupComplete->criticalExtensions.choice.c1.present = RRCConnectionSetupComplete__criticalExtensions__c1_PR_rrcConnectionSetupComplete_r8;
+  rrcConnectionSetupComplete->criticalExtensions.present = LTE_RRCConnectionSetupComplete__criticalExtensions_PR_c1;
+  rrcConnectionSetupComplete->criticalExtensions.choice.c1.present = LTE_RRCConnectionSetupComplete__criticalExtensions__c1_PR_rrcConnectionSetupComplete_r8;
 
   rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.nonCriticalExtension=CALLOC(1,
       sizeof(*rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.nonCriticalExtension));
@@ -1703,7 +1703,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin
     rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.registeredMME->mmec.bits_unused=0;
   */
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message,
                                    NULL,
                                    (void*)&ul_dcch_msg,
                                    buffer,
@@ -1717,7 +1717,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -1749,22 +1749,22 @@ do_RRCConnectionReconfigurationComplete(
 
   asn_enc_rval_t enc_rval;
 
-  UL_DCCH_Message_t ul_dcch_msg;
+  LTE_UL_DCCH_Message_t ul_dcch_msg;
 
-  RRCConnectionReconfigurationComplete_t *rrcConnectionReconfigurationComplete;
+  LTE_RRCConnectionReconfigurationComplete_t *rrcConnectionReconfigurationComplete;
 
-  memset((void *)&ul_dcch_msg,0,sizeof(UL_DCCH_Message_t));
+  memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
 
-  ul_dcch_msg.message.present                     = UL_DCCH_MessageType_PR_c1;
-  ul_dcch_msg.message.choice.c1.present           = UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete;
+  ul_dcch_msg.message.present                     = LTE_UL_DCCH_MessageType_PR_c1;
+  ul_dcch_msg.message.choice.c1.present           = LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete;
   rrcConnectionReconfigurationComplete            = &ul_dcch_msg.message.choice.c1.choice.rrcConnectionReconfigurationComplete;
 
   rrcConnectionReconfigurationComplete->rrc_TransactionIdentifier = Transaction_id;
   rrcConnectionReconfigurationComplete->criticalExtensions.present =
-    RRCConnectionReconfigurationComplete__criticalExtensions_PR_rrcConnectionReconfigurationComplete_r8;
+    LTE_RRCConnectionReconfigurationComplete__criticalExtensions_PR_rrcConnectionReconfigurationComplete_r8;
   rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL;
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message,
                                    NULL,
                                    (void*)&ul_dcch_msg,
                                    buffer,
@@ -1778,7 +1778,7 @@ do_RRCConnectionReconfigurationComplete(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -1806,8 +1806,8 @@ do_RRCConnectionSetup(
   uint8_t*                   const buffer,
   const uint8_t              transmission_mode,
   const uint8_t              Transaction_id,
-  SRB_ToAddModList_t  **SRB_configList,
-  struct PhysicalConfigDedicated  **physicalConfigDedicated)
+  LTE_SRB_ToAddModList_t  **SRB_configList,
+  struct LTE_PhysicalConfigDedicated  **physicalConfigDedicated)
 {
 
   asn_enc_rval_t enc_rval;
@@ -1815,27 +1815,27 @@ do_RRCConnectionSetup(
   rrc_eNB_carrier_data_t *carrier = &rrc->carrier[CC_id];
  
   long* logicalchannelgroup = NULL;
-  struct SRB_ToAddMod* SRB1_config = NULL;
-  struct SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL;
-  struct SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL;
+  struct LTE_SRB_ToAddMod* SRB1_config = NULL;
+  struct LTE_SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL;
+  struct LTE_SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL;
 
 #ifdef CBA
-  struct PUSCH_CBAConfigDedicated_vlola*  pusch_CBAConfigDedicated_vlola = NULL;
+  struct LTE_PUSCH_CBAConfigDedicated_vlola*  pusch_CBAConfigDedicated_vlola = NULL;
   long* betaOffset_CBA_Index = NULL;
   long* cShift_CBA = NULL;
 #endif
-  PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
+  LTE_PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
 
-  DL_CCCH_Message_t dl_ccch_msg;
+  LTE_DL_CCCH_Message_t dl_ccch_msg;
 
-  RRCConnectionSetup_t* rrcConnectionSetup = NULL;
+  LTE_RRCConnectionSetup_t* rrcConnectionSetup = NULL;
 
   LTE_DL_FRAME_PARMS *frame_parms = &RC.eNB[ctxt_pP->module_id][CC_id]->frame_parms;
 
-  memset((void *)&dl_ccch_msg,0,sizeof(DL_CCCH_Message_t));
-  dl_ccch_msg.message.present           = DL_CCCH_MessageType_PR_c1;
-  dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionSetup;
+  memset((void *)&dl_ccch_msg,0,sizeof(LTE_DL_CCCH_Message_t));
+  dl_ccch_msg.message.present           = LTE_DL_CCCH_MessageType_PR_c1;
+  dl_ccch_msg.message.choice.c1.present = LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionSetup;
   rrcConnectionSetup          = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionSetup;
 
   // RRCConnectionSetup
@@ -1846,7 +1846,7 @@ do_RRCConnectionSetup(
     free(*SRB_configList);
   }
 
-  *SRB_configList = CALLOC(1,sizeof(SRB_ToAddModList_t));
+  *SRB_configList = CALLOC(1,sizeof(LTE_SRB_ToAddModList_t));
 
   /// SRB1
   SRB1_config = CALLOC(1,sizeof(*SRB1_config));
@@ -1855,8 +1855,8 @@ do_RRCConnectionSetup(
   SRB1_rlc_config = CALLOC(1,sizeof(*SRB1_rlc_config));
   SRB1_config->rlc_Config   = SRB1_rlc_config;
 
-  SRB1_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue;
-  SRB1_rlc_config->choice.explicitValue.present=RLC_Config_PR_am;
+  SRB1_rlc_config->present = LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue;
+  SRB1_rlc_config->choice.explicitValue.present=LTE_RLC_Config_PR_am;
 #if defined(ENABLE_ITTI)
   SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = rrc->srb1_timer_poll_retransmit;
   SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU          = rrc->srb1_poll_pdu;
@@ -1865,18 +1865,18 @@ do_RRCConnectionSetup(
   SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering     = rrc->srb1_timer_reordering;
   SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = rrc->srb1_timer_status_prohibit;
 #else 
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms20;;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU          = PollPDU_p4;;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte         = PollByte_kBinfinity;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8;
-  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering     = T_Reordering_ms35;
-  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms0;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms20;;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU          = LTE_PollPDU_p4;;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte         = LTE_PollByte_kBinfinity;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
+  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering     = LTE_T_Reordering_ms35;
+  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms0;
 #endif 
 
   SRB1_lchan_config = CALLOC(1,sizeof(*SRB1_lchan_config));
   SRB1_config->logicalChannelConfig   = SRB1_lchan_config;
 
-  SRB1_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
+  SRB1_lchan_config->present = LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
   SRB1_ul_SpecificParameters = CALLOC(1,sizeof(*SRB1_ul_SpecificParameters));
 
   SRB1_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB1_ul_SpecificParameters;
@@ -1885,10 +1885,10 @@ do_RRCConnectionSetup(
   SRB1_ul_SpecificParameters->priority = 1;
 
   //assign_enum(&SRB1_ul_SpecificParameters->prioritisedBitRate,LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity);
-  SRB1_ul_SpecificParameters->prioritisedBitRate=LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+  SRB1_ul_SpecificParameters->prioritisedBitRate=LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
 
   //assign_enum(&SRB1_ul_SpecificParameters->bucketSizeDuration,LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50);
-  SRB1_ul_SpecificParameters->bucketSizeDuration=LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+  SRB1_ul_SpecificParameters->bucketSizeDuration=LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   logicalchannelgroup = CALLOC(1,sizeof(long));
   *logicalchannelgroup=0;
@@ -1920,12 +1920,12 @@ do_RRCConnectionSetup(
   //assign_enum(&physicalConfigDedicated2->pdsch_ConfigDedicated->p_a,
   //        PDSCH_ConfigDedicated__p_a_dB0);
   if (carrier->p_eNB==2)
-    physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   PDSCH_ConfigDedicated__p_a_dB_3;
+    physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   LTE_PDSCH_ConfigDedicated__p_a_dB_3;
   else
-    physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   PDSCH_ConfigDedicated__p_a_dB0;
+    physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   LTE_PDSCH_ConfigDedicated__p_a_dB0;
 
   // PUCCH
-  physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present=PUCCH_ConfigDedicated__ackNackRepetition_PR_release;
+  physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present=LTE_PUCCH_ConfigDedicated__ackNackRepetition_PR_release;
   physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.choice.release=0;
 
   if (carrier->sib1->tdd_Config == NULL) {
@@ -1933,7 +1933,7 @@ do_RRCConnectionSetup(
   } else { //TDD
     physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode= CALLOC(1,sizeof(long));
     *(physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode) =
-      PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_bundling;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing;
+      LTE_PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_bundling;//PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing;
   }
 
   // Pusch_config_dedicated
@@ -1945,19 +1945,19 @@ do_RRCConnectionSetup(
   physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUSCH = 0; // 0 dB
   //assign_enum(&physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled,
   // UplinkPowerControlDedicated__deltaMCS_Enabled_en1);
-  physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled= UplinkPowerControlDedicated__deltaMCS_Enabled_en1;
+  physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled= LTE_UplinkPowerControlDedicated__deltaMCS_Enabled_en1;
   physicalConfigDedicated2->uplinkPowerControlDedicated->accumulationEnabled = 1;  // TRUE
   physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUCCH = 0; // 0 dB
   physicalConfigDedicated2->uplinkPowerControlDedicated->pSRS_Offset = 0; // 0 dB
   physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient = CALLOC(1,
       sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient));
   //  assign_enum(physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient,FilterCoefficient_fc4); // fc4 dB
-  *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient=FilterCoefficient_fc4; // fc4 dB
+  *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient=LTE_FilterCoefficient_fc4; // fc4 dB
 
   // TPC-PDCCH-Config
 
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->present=TPC_PDCCH_Config_PR_setup;
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_Index.present = TPC_Index_PR_indexOfFormat3;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->present=LTE_TPC_PDCCH_Config_PR_setup;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_Index.present = LTE_TPC_Index_PR_indexOfFormat3;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_Index.choice.indexOfFormat3 = 1;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.buf=CALLOC(1,2);
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.size=2;
@@ -1965,8 +1965,8 @@ do_RRCConnectionSetup(
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.buf[1]=0x34+ue_context_pP->local_uid;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.bits_unused=0;
 
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->present=TPC_PDCCH_Config_PR_setup;
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_Index.present = TPC_Index_PR_indexOfFormat3;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->present=LTE_TPC_PDCCH_Config_PR_setup;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_Index.present = LTE_TPC_Index_PR_indexOfFormat3;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_Index.choice.indexOfFormat3 = 1;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_RNTI.buf=CALLOC(1,2);
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_RNTI.size=2;
@@ -1977,16 +1977,16 @@ do_RRCConnectionSetup(
   // CQI ReportConfig
 
   physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic));
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= LTE_CQI_ReportModeAperiodic_rm30;
 #else
-  *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI
+  *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=LTE_CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI
 #endif
   physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB
   //physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL;
   
   physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
-  physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present =  CQI_ReportPeriodic_PR_release;
+  physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present =  LTE_CQI_ReportPeriodic_PR_release;
     /*
     physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present =  CQI_ReportPeriodic_PR_setup;
     physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0;  // n2_pucch
@@ -2000,16 +2000,16 @@ do_RRCConnectionSetup(
 
   //soundingRS-UL-ConfigDedicated
   if (rrc->srs_enable[CC_id]==1) {
-    physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = SoundingRS_UL_ConfigDedicated_PR_setup;
+    physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->present = LTE_SoundingRS_UL_ConfigDedicated_PR_setup;
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_Bandwidth =
-                                                             SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0;
+                                                             LTE_SoundingRS_UL_ConfigDedicated__setup__srs_Bandwidth_bw0;
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_HoppingBandwidth =
-          SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0;
+          LTE_SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0;
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0;
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1;
     if (carrier->sib1->tdd_Config==NULL) { // FDD
       if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present
-	  == SoundingRS_UL_ConfigCommon_PR_setup)
+	  == LTE_SoundingRS_UL_ConfigCommon_PR_setup)
 	if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=0) 
 	  LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %zd. Expect undefined behaviour!\n",
 		carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig);
@@ -2022,7 +2022,7 @@ do_RRCConnectionSetup(
     }
     else {
       if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present
-	  == SoundingRS_UL_ConfigCommon_PR_setup)
+	  == LTE_SoundingRS_UL_ConfigCommon_PR_setup)
 	if (carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig!=7) {
 	  LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %zd and %zd. Expect undefined behaviour!\n",
 		carrier->sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig,
@@ -2039,13 +2039,13 @@ do_RRCConnectionSetup(
 	  physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb);
 
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift=
-          SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0;
+          LTE_SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0;
   }
 
 
   //AntennaInfoDedicated
   physicalConfigDedicated2->antennaInfo = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo));
-  physicalConfigDedicated2->antennaInfo->present = PhysicalConfigDedicated__antennaInfo_PR_explicitValue;
+  physicalConfigDedicated2->antennaInfo->present = LTE_PhysicalConfigDedicated__antennaInfo_PR_explicitValue;
   //assign_enum(&physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode,
   //     AntennaInfoDedicated__transmissionMode_tm2);
 
@@ -2053,11 +2053,11 @@ do_RRCConnectionSetup(
   default:
     LOG_W(RRC,"At RRCConnectionSetup Transmission mode can only take values 1 or 2! Defaulting to 1!\n");
   case 1:
-    physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm1;
+    physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm1;
     break;
 
   case 2:
-    physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm2;
+    physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm2;
     break;
     /*
   case 3:
@@ -2092,12 +2092,12 @@ do_RRCConnectionSetup(
   }
 
 
-  physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.present = AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_release;
+  physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.present = LTE_AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_release;
   physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.choice.release = 0;
 
   // SchedulingRequestConfig
 
-  physicalConfigDedicated2->schedulingRequestConfig->present = SchedulingRequestConfig_PR_setup;
+  physicalConfigDedicated2->schedulingRequestConfig->present = LTE_SchedulingRequestConfig_PR_setup;
   if (carrier->sib1->tdd_Config == NULL) {
     physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = 71 - ue_context_pP->local_uid/10;//ue_context_pP->local_uid;
   } else {
@@ -2149,11 +2149,11 @@ do_RRCConnectionSetup(
   //  assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax,
   //SchedulingRequestConfig__setup__dsr_TransMax_n4);
   //  assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4;
-  physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4;
+  physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = LTE_SchedulingRequestConfig__setup__dsr_TransMax_n4;
 
   rrcConnectionSetup->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionSetup->criticalExtensions.present = RRCConnectionSetup__criticalExtensions_PR_c1;
-  rrcConnectionSetup->criticalExtensions.choice.c1.present =RRCConnectionSetup__criticalExtensions__c1_PR_rrcConnectionSetup_r8 ;
+  rrcConnectionSetup->criticalExtensions.present = LTE_RRCConnectionSetup__criticalExtensions_PR_c1;
+  rrcConnectionSetup->criticalExtensions.choice.c1.present = LTE_RRCConnectionSetup__criticalExtensions__c1_PR_rrcConnectionSetup_r8 ;
   rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.srb_ToAddModList = *SRB_configList;
   rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.drb_ToAddModList = NULL;
   rrcConnectionSetup->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated.drb_ToReleaseList = NULL;
@@ -2172,9 +2172,9 @@ do_RRCConnectionSetup(
 
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message, (void*)&dl_ccch_msg);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message,
                                    NULL,
                                    (void*)&dl_ccch_msg,
                                    buffer,
@@ -2191,7 +2191,7 @@ do_RRCConnectionSetup(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -2227,29 +2227,29 @@ do_SecurityModeCommand(
 )
 //------------------------------------------------------------------------------
 {
-  DL_DCCH_Message_t dl_dcch_msg;
+  LTE_DL_DCCH_Message_t dl_dcch_msg;
   asn_enc_rval_t enc_rval;
 
-  memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t));
+  memset(&dl_dcch_msg,0,sizeof(LTE_DL_DCCH_Message_t));
 
-  dl_dcch_msg.message.present           = DL_DCCH_MessageType_PR_c1;
-  dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_securityModeCommand;
+  dl_dcch_msg.message.present           = LTE_DL_DCCH_MessageType_PR_c1;
+  dl_dcch_msg.message.choice.c1.present = LTE_DL_DCCH_MessageType__c1_PR_securityModeCommand;
 
   dl_dcch_msg.message.choice.c1.choice.securityModeCommand.rrc_TransactionIdentifier = Transaction_id;
-  dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.present = SecurityModeCommand__criticalExtensions_PR_c1;
+  dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.present = LTE_SecurityModeCommand__criticalExtensions_PR_c1;
 
   dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.present =
-    SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
+    LTE_SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
   // the two following information could be based on the mod_id
   dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm
-    = (CipheringAlgorithm_r12_t)cipheringAlgorithm;
+    = (LTE_CipheringAlgorithm_r12_t)cipheringAlgorithm;
   dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm
-    = (e_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
+    = (e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message, (void*)&dl_dcch_msg);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message,
                                    NULL,
                                    (void*)&dl_dcch_msg,
                                    buffer,
@@ -2266,7 +2266,7 @@ do_SecurityModeCommand(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -2307,29 +2307,29 @@ do_UECapabilityEnquiry(
 //------------------------------------------------------------------------------
 {
 
-  DL_DCCH_Message_t dl_dcch_msg;
+  LTE_DL_DCCH_Message_t dl_dcch_msg;
 
-  RAT_Type_t rat=RAT_Type_eutra;
+  LTE_RAT_Type_t rat=LTE_RAT_Type_eutra;
   asn_enc_rval_t enc_rval;
 
-  memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t));
+  memset(&dl_dcch_msg,0,sizeof(LTE_DL_DCCH_Message_t));
 
-  dl_dcch_msg.message.present           = DL_DCCH_MessageType_PR_c1;
-  dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry;
+  dl_dcch_msg.message.present           = LTE_DL_DCCH_MessageType_PR_c1;
+  dl_dcch_msg.message.choice.c1.present = LTE_DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry;
 
   dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.rrc_TransactionIdentifier = Transaction_id;
 
-  dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.present = UECapabilityEnquiry__criticalExtensions_PR_c1;
+  dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.present = LTE_UECapabilityEnquiry__criticalExtensions_PR_c1;
   dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.present =
-    UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8;
+    LTE_UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8;
   dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count=0;
   ASN_SEQUENCE_ADD(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list,
                    &rat);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message, (void*)&dl_dcch_msg);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message,
                                    NULL,
                                    (void*)&dl_dcch_msg,
                                    buffer,
@@ -2346,7 +2346,7 @@ do_UECapabilityEnquiry(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -2381,27 +2381,27 @@ do_RRCConnectionReconfiguration(
   const protocol_ctxt_t*        const ctxt_pP,
   uint8_t                            *buffer,
   uint8_t                             Transaction_id,
-  SRB_ToAddModList_t                 *SRB_list,
-  DRB_ToAddModList_t                 *DRB_list,
-  DRB_ToReleaseList_t                *DRB_list2,
-  struct SPS_Config                  *sps_Config,
-  struct PhysicalConfigDedicated     *physicalConfigDedicated,
-  MeasObjectToAddModList_t           *MeasObj_list,
-  ReportConfigToAddModList_t         *ReportConfig_list,
-  QuantityConfig_t                   *quantityConfig,
-  MeasIdToAddModList_t               *MeasId_list,
-  MAC_MainConfig_t                   *mac_MainConfig,
-  MeasGapConfig_t                    *measGapConfig,
-  MobilityControlInfo_t              *mobilityInfo,
-  struct MeasConfig__speedStatePars  *speedStatePars,
-  RSRP_Range_t                       *rsrp,
-  C_RNTI_t                           *cba_rnti,
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList
+  LTE_SRB_ToAddModList_t                 *SRB_list,
+  LTE_DRB_ToAddModList_t                 *DRB_list,
+  LTE_DRB_ToReleaseList_t                *DRB_list2,
+  struct LTE_SPS_Config                  *sps_Config,
+  struct LTE_PhysicalConfigDedicated     *physicalConfigDedicated,
+  LTE_MeasObjectToAddModList_t           *MeasObj_list,
+  LTE_ReportConfigToAddModList_t         *ReportConfig_list,
+  LTE_QuantityConfig_t                   *quantityConfig,
+  LTE_MeasIdToAddModList_t               *MeasId_list,
+  LTE_MAC_MainConfig_t                   *mac_MainConfig,
+  LTE_MeasGapConfig_t                    *measGapConfig,
+  LTE_MobilityControlInfo_t              *mobilityInfo,
+  struct LTE_MeasConfig__speedStatePars  *speedStatePars,
+  LTE_RSRP_Range_t                       *rsrp,
+  LTE_C_RNTI_t                           *cba_rnti,
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList
   *dedicatedInfoNASList,
-  SL_CommConfig_r12_t                *sl_CommConfig,
-  SL_DiscConfig_r12_t                *sl_DiscConfig
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  , SCellToAddMod_r10_t  *SCell_config
+  LTE_SL_CommConfig_r12_t                *sl_CommConfig,
+  LTE_SL_DiscConfig_r12_t                *sl_DiscConfig
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  , LTE_SCellToAddMod_r10_t  *SCell_config
 #endif
 
 )
@@ -2410,20 +2410,20 @@ do_RRCConnectionReconfiguration(
 
   asn_enc_rval_t enc_rval;
 
-  DL_DCCH_Message_t dl_dcch_msg;
-  RRCConnectionReconfiguration_t *rrcConnectionReconfiguration;
+  LTE_DL_DCCH_Message_t dl_dcch_msg;
+  LTE_RRCConnectionReconfiguration_t *rrcConnectionReconfiguration;
 
 
-  memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t));
+  memset(&dl_dcch_msg,0,sizeof(LTE_DL_DCCH_Message_t));
 
-  dl_dcch_msg.message.present           = DL_DCCH_MessageType_PR_c1;
-  dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration;
+  dl_dcch_msg.message.present           = LTE_DL_DCCH_MessageType_PR_c1;
+  dl_dcch_msg.message.choice.c1.present = LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration;
   rrcConnectionReconfiguration          = &dl_dcch_msg.message.choice.c1.choice.rrcConnectionReconfiguration;
 
   // RRCConnectionReconfiguration
   rrcConnectionReconfiguration->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionReconfiguration->criticalExtensions.present = RRCConnectionReconfiguration__criticalExtensions_PR_c1;
-  rrcConnectionReconfiguration->criticalExtensions.choice.c1.present =RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8 ;
+  rrcConnectionReconfiguration->criticalExtensions.present = LTE_RRCConnectionReconfiguration__criticalExtensions_PR_c1;
+  rrcConnectionReconfiguration->criticalExtensions.choice.c1.present = LTE_RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8 ;
 
   rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated = CALLOC(1,
       sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated));
@@ -2440,7 +2440,7 @@ do_RRCConnectionReconfiguration(
     rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig = CALLOC(1,
         sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig));
     rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->present
-      =RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue;
+      =LTE_RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue;
     memcpy(&rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue,
            mac_MainConfig,
            sizeof(*mac_MainConfig));
@@ -2486,7 +2486,7 @@ do_RRCConnectionReconfiguration(
     rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo = CALLOC(1,
         sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo));
     memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo, (void*)mobilityInfo,
-           sizeof(MobilityControlInfo_t));
+           sizeof(LTE_MobilityControlInfo_t));
 
   } else {
     rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo  = NULL;
@@ -2512,7 +2512,7 @@ do_RRCConnectionReconfiguration(
      rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12 = CALLOC(1,
            sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12));
      memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12, (void*)sl_CommConfig,
-               sizeof(SL_CommConfig_r12_t));
+               sizeof(LTE_SL_CommConfig_r12_t));
   }
 
   //allocate dedicated resource pools for SL discovery (sl_DiscConfig)
@@ -2531,10 +2531,10 @@ do_RRCConnectionReconfiguration(
      rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12 = CALLOC(1,
             sizeof(*rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12));
      memcpy((void*)rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12, (void*)sl_DiscConfig,
-            sizeof(SL_DiscConfig_r12_t));
+            sizeof(LTE_SL_DiscConfig_r12_t));
   }
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message,
                                    NULL,
                                    (void*)&dl_dcch_msg,
                                    buffer,
@@ -2546,7 +2546,7 @@ do_RRCConnectionReconfiguration(
      return -1;
   }
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)&dl_dcch_msg);
+     xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message,(void*)&dl_dcch_msg);
   }
 
 #if defined(ENABLE_ITTI)
@@ -2555,7 +2555,7 @@ do_RRCConnectionReconfiguration(
     char        message_string[30000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message, (void *) &dl_dcch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -2586,41 +2586,41 @@ do_RRCConnectionReestablishment(
   uint8_t*                   const buffer,
   const uint8_t                    transmission_mode,
   const uint8_t                    Transaction_id,
-  SRB_ToAddModList_t               **SRB_configList,
-  struct PhysicalConfigDedicated   **physicalConfigDedicated)
+  LTE_SRB_ToAddModList_t               **SRB_configList,
+  struct LTE_PhysicalConfigDedicated   **physicalConfigDedicated)
 {
   asn_enc_rval_t enc_rval;
 
   long* logicalchannelgroup = NULL;
-  struct SRB_ToAddMod* SRB1_config = NULL;
-  struct SRB_ToAddMod* SRB2_config = NULL;
-  struct SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL;
-  struct SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL;
+  struct LTE_SRB_ToAddMod* SRB1_config = NULL;
+  struct LTE_SRB_ToAddMod* SRB2_config = NULL;
+  struct LTE_SRB_ToAddMod__rlc_Config* SRB1_rlc_config = NULL;
+  struct LTE_SRB_ToAddMod__logicalChannelConfig* SRB1_lchan_config = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters* SRB1_ul_SpecificParameters = NULL;
   eNB_RRC_INST *rrc               = RC.rrc[ctxt_pP->module_id];
 
 #ifdef CBA
-  struct PUSCH_CBAConfigDedicated_vlola* pusch_CBAConfigDedicated_vlola = NULL;
+  struct LTE_PUSCH_CBAConfigDedicated_vlola* pusch_CBAConfigDedicated_vlola = NULL;
   long* betaOffset_CBA_Index = NULL;
   long* cShift_CBA = NULL;
 #endif
-  PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
+  LTE_PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
 
-  DL_CCCH_Message_t dl_ccch_msg;
+  LTE_DL_CCCH_Message_t dl_ccch_msg;
 
-  RRCConnectionReestablishment_t* rrcConnectionReestablishment = NULL;
+  LTE_RRCConnectionReestablishment_t* rrcConnectionReestablishment = NULL;
 
   int i = 0;
-  SRB_ToAddModList_t **SRB_configList2 = NULL;
+  LTE_SRB_ToAddModList_t **SRB_configList2 = NULL;
   SRB_configList2 = &ue_context_pP->ue_context.SRB_configList2[Transaction_id];
   if (*SRB_configList2) {
     free(*SRB_configList2);
   }
-  *SRB_configList2 = CALLOC(1, sizeof(SRB_ToAddModList_t));
+  *SRB_configList2 = CALLOC(1, sizeof(LTE_SRB_ToAddModList_t));
 
-  memset((void *)&dl_ccch_msg, 0, sizeof(DL_CCCH_Message_t));
-  dl_ccch_msg.message.present           = DL_CCCH_MessageType_PR_c1;
-  dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishment;
+  memset((void *)&dl_ccch_msg, 0, sizeof(LTE_DL_CCCH_Message_t));
+  dl_ccch_msg.message.present           = LTE_DL_CCCH_MessageType_PR_c1;
+  dl_ccch_msg.message.choice.c1.present = LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishment;
   rrcConnectionReestablishment          = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionReestablishment;
 
   // RRCConnectionReestablishment
@@ -2650,8 +2650,8 @@ do_RRCConnectionReestablishment(
     SRB1_rlc_config = CALLOC(1, sizeof(*SRB1_rlc_config));
     SRB1_config->rlc_Config   = SRB1_rlc_config;
 
-    SRB1_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue;
-    SRB1_rlc_config->choice.explicitValue.present=RLC_Config_PR_am;
+    SRB1_rlc_config->present = LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue;
+    SRB1_rlc_config->choice.explicitValue.present=LTE_RLC_Config_PR_am;
   #if defined(ENABLE_ITTI)
     SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = rrc->srb1_timer_poll_retransmit;
     SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU          = rrc->srb1_poll_pdu;
@@ -2660,28 +2660,28 @@ do_RRCConnectionReestablishment(
     SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering     = rrc->srb1_timer_reordering;
     SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = rrc->srb1_timer_status_prohibit;
   #else
-    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms20;;
-    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU          = PollPDU_p4;;
-    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte         = PollByte_kBinfinity;
-    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8;
-    SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering     = T_Reordering_ms35;
-    SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms0;
+    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms20;;
+    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU          = LTE_PollPDU_p4;;
+    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte         = LTE_PollByte_kBinfinity;
+    SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
+    SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering     = LTE_T_Reordering_ms35;
+    SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms0;
   #endif
 
     SRB1_lchan_config = CALLOC(1, sizeof(*SRB1_lchan_config));
     SRB1_config->logicalChannelConfig = SRB1_lchan_config;
 
-    SRB1_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
+    SRB1_lchan_config->present = LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
     SRB1_ul_SpecificParameters = CALLOC(1, sizeof(*SRB1_ul_SpecificParameters));
 
     SRB1_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB1_ul_SpecificParameters;
     SRB1_ul_SpecificParameters->priority = 1;
 
     //assign_enum(&SRB1_ul_SpecificParameters->prioritisedBitRate,LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity);
-    SRB1_ul_SpecificParameters->prioritisedBitRate=LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    SRB1_ul_SpecificParameters->prioritisedBitRate=LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
 
     //assign_enum(&SRB1_ul_SpecificParameters->bucketSizeDuration,LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50);
-    SRB1_ul_SpecificParameters->bucketSizeDuration=LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    SRB1_ul_SpecificParameters->bucketSizeDuration=LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
     logicalchannelgroup = CALLOC(1, sizeof(long));
     *logicalchannelgroup = 0;
@@ -2698,15 +2698,15 @@ do_RRCConnectionReestablishment(
     free(*SRB_configList);
   }
 
-  *SRB_configList = CALLOC(1, sizeof(SRB_ToAddModList_t));
+  *SRB_configList = CALLOC(1, sizeof(LTE_SRB_ToAddModList_t));
 
   ASN_SEQUENCE_ADD(&(*SRB_configList)->list,SRB1_config);
 
   physicalConfigDedicated2 = *physicalConfigDedicated;
 
   rrcConnectionReestablishment->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionReestablishment->criticalExtensions.present = RRCConnectionReestablishment__criticalExtensions_PR_c1;
-  rrcConnectionReestablishment->criticalExtensions.choice.c1.present = RRCConnectionReestablishment__criticalExtensions__c1_PR_rrcConnectionReestablishment_r8;
+  rrcConnectionReestablishment->criticalExtensions.present = LTE_RRCConnectionReestablishment__criticalExtensions_PR_c1;
+  rrcConnectionReestablishment->criticalExtensions.choice.c1.present = LTE_RRCConnectionReestablishment__criticalExtensions__c1_PR_rrcConnectionReestablishment_r8;
   rrcConnectionReestablishment->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r8.radioResourceConfigDedicated.srb_ToAddModList = *SRB_configList;
   rrcConnectionReestablishment->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r8.radioResourceConfigDedicated.drb_ToAddModList = NULL;
   rrcConnectionReestablishment->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r8.radioResourceConfigDedicated.drb_ToReleaseList = NULL;
@@ -2749,9 +2749,9 @@ do_RRCConnectionReestablishment(
   rrcConnectionReestablishment->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r8.nonCriticalExtension = NULL;
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message, (void*)&dl_ccch_msg);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message,
                                    NULL,
                                    (void*)&dl_ccch_msg,
                                    buffer,
@@ -2768,7 +2768,7 @@ do_RRCConnectionReestablishment(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -2799,21 +2799,21 @@ do_RRCConnectionReestablishmentReject(
 
   asn_enc_rval_t enc_rval;
 
-  DL_CCCH_Message_t dl_ccch_msg;
-  RRCConnectionReestablishmentReject_t *rrcConnectionReestablishmentReject;
+  LTE_DL_CCCH_Message_t dl_ccch_msg;
+  LTE_RRCConnectionReestablishmentReject_t *rrcConnectionReestablishmentReject;
 
-  memset((void *)&dl_ccch_msg,0,sizeof(DL_CCCH_Message_t));
-  dl_ccch_msg.message.present           = DL_CCCH_MessageType_PR_c1;
-  dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentReject;
+  memset((void *)&dl_ccch_msg,0,sizeof(LTE_DL_CCCH_Message_t));
+  dl_ccch_msg.message.present           = LTE_DL_CCCH_MessageType_PR_c1;
+  dl_ccch_msg.message.choice.c1.present = LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentReject;
   rrcConnectionReestablishmentReject    = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionReestablishmentReject;
 
   // RRCConnectionReestablishmentReject
-  rrcConnectionReestablishmentReject->criticalExtensions.present = RRCConnectionReestablishmentReject__criticalExtensions_PR_rrcConnectionReestablishmentReject_r8;
+  rrcConnectionReestablishmentReject->criticalExtensions.present = LTE_RRCConnectionReestablishmentReject__criticalExtensions_PR_rrcConnectionReestablishmentReject_r8;
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message, (void*)&dl_ccch_msg);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message,
                                    NULL,
                                    (void*)&dl_ccch_msg,
                                    buffer,
@@ -2830,7 +2830,7 @@ do_RRCConnectionReestablishmentReject(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -2859,24 +2859,24 @@ do_RRCConnectionReject(
 
   asn_enc_rval_t enc_rval;
 
-  DL_CCCH_Message_t dl_ccch_msg;
-  RRCConnectionReject_t *rrcConnectionReject;
+  LTE_DL_CCCH_Message_t dl_ccch_msg;
+  LTE_RRCConnectionReject_t *rrcConnectionReject;
 
-  memset((void *)&dl_ccch_msg,0,sizeof(DL_CCCH_Message_t));
-  dl_ccch_msg.message.present           = DL_CCCH_MessageType_PR_c1;
-  dl_ccch_msg.message.choice.c1.present = DL_CCCH_MessageType__c1_PR_rrcConnectionReject;
+  memset((void *)&dl_ccch_msg,0,sizeof(LTE_DL_CCCH_Message_t));
+  dl_ccch_msg.message.present           = LTE_DL_CCCH_MessageType_PR_c1;
+  dl_ccch_msg.message.choice.c1.present = LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReject;
   rrcConnectionReject                   = &dl_ccch_msg.message.choice.c1.choice.rrcConnectionReject;
 
   // RRCConnectionReject
-  rrcConnectionReject->criticalExtensions.present = RRCConnectionReject__criticalExtensions_PR_c1;
-  rrcConnectionReject->criticalExtensions.choice.c1.present = RRCConnectionReject__criticalExtensions__c1_PR_rrcConnectionReject_r8;
+  rrcConnectionReject->criticalExtensions.present = LTE_RRCConnectionReject__criticalExtensions_PR_c1;
+  rrcConnectionReject->criticalExtensions.choice.c1.present = LTE_RRCConnectionReject__criticalExtensions__c1_PR_rrcConnectionReject_r8;
   /* let's put a wait time of 1s for the moment */
   rrcConnectionReject->criticalExtensions.choice.c1.choice.rrcConnectionReject_r8.waitTime = 1;
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message, (void*)&dl_ccch_msg);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message,
                                    NULL,
                                    (void*)&dl_ccch_msg,
                                    buffer,
@@ -2893,7 +2893,7 @@ do_RRCConnectionReject(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message, (void *) &dl_ccch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -2920,29 +2920,29 @@ uint8_t do_RRCConnectionRelease(
 
   asn_enc_rval_t enc_rval;
 
-  DL_DCCH_Message_t dl_dcch_msg;
-  RRCConnectionRelease_t *rrcConnectionRelease;
+  LTE_DL_DCCH_Message_t dl_dcch_msg;
+  LTE_RRCConnectionRelease_t *rrcConnectionRelease;
 
 
-  memset(&dl_dcch_msg,0,sizeof(DL_DCCH_Message_t));
+  memset(&dl_dcch_msg,0,sizeof(LTE_DL_DCCH_Message_t));
 
-  dl_dcch_msg.message.present           = DL_DCCH_MessageType_PR_c1;
-  dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_rrcConnectionRelease;
+  dl_dcch_msg.message.present           = LTE_DL_DCCH_MessageType_PR_c1;
+  dl_dcch_msg.message.choice.c1.present = LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionRelease;
   rrcConnectionRelease                  = &dl_dcch_msg.message.choice.c1.choice.rrcConnectionRelease;
 
   // RRCConnectionRelease
   rrcConnectionRelease->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionRelease->criticalExtensions.present = RRCConnectionRelease__criticalExtensions_PR_c1;
-  rrcConnectionRelease->criticalExtensions.choice.c1.present =RRCConnectionRelease__criticalExtensions__c1_PR_rrcConnectionRelease_r8 ;
+  rrcConnectionRelease->criticalExtensions.present = LTE_RRCConnectionRelease__criticalExtensions_PR_c1;
+  rrcConnectionRelease->criticalExtensions.choice.c1.present =LTE_RRCConnectionRelease__criticalExtensions__c1_PR_rrcConnectionRelease_r8 ;
 
-  rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.releaseCause = ReleaseCause_other;
+  rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.releaseCause = LTE_ReleaseCause_other;
   rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.redirectedCarrierInfo = NULL;
   rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.idleModeMobilityControlInfo = NULL;
 
   rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension=CALLOC(1,
       sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension));
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message,
                                    NULL,
                                    (void*)&dl_dcch_msg,
                                    buffer,
@@ -2954,26 +2954,26 @@ uint8_t do_RRCConnectionRelease(
 uint8_t TMGI[5] = {4,3,2,1,0};//TMGI is a string of octet, ref. TS 24.008 fig. 10.5.4a
 
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
                            uint8_t sync_area,
                            uint8_t *buffer,
-                           MCCH_Message_t *mcch_message,
-                           MBSFNAreaConfiguration_r9_t **mbsfnAreaConfiguration)
+                           LTE_MCCH_Message_t *mcch_message,
+                           LTE_MBSFNAreaConfiguration_r9_t **mbsfnAreaConfiguration)
 {
 
   asn_enc_rval_t enc_rval;
-  MBSFN_SubframeConfig_t *mbsfn_SubframeConfig1;
-  PMCH_Info_r9_t *pmch_Info_1;
-  MBMS_SessionInfo_r9_t *mbms_Session_1;
+  LTE_MBSFN_SubframeConfig_t *mbsfn_SubframeConfig1;
+  LTE_PMCH_Info_r9_t *pmch_Info_1;
+  LTE_MBMS_SessionInfo_r9_t *mbms_Session_1;
   // MBMS_SessionInfo_r9_t *mbms_Session_2;
   eNB_RRC_INST *rrc               = RC.rrc[Mod_id];
   rrc_eNB_carrier_data_t *carrier = &rrc->carrier[0];
  
 
-  memset(mcch_message,0,sizeof(MCCH_Message_t));
-  mcch_message->message.present = MCCH_MessageType_PR_c1;
-  mcch_message->message.choice.c1.present = MCCH_MessageType__c1_PR_mbsfnAreaConfiguration_r9;
+  memset(mcch_message,0,sizeof(LTE_MCCH_Message_t));
+  mcch_message->message.present = LTE_MCCH_MessageType_PR_c1;
+  mcch_message->message.choice.c1.present = LTE_MCCH_MessageType__c1_PR_mbsfnAreaConfiguration_r9;
   *mbsfnAreaConfiguration = &mcch_message->message.choice.c1.choice.mbsfnAreaConfiguration_r9;
 
   // Common Subframe Allocation (CommonSF-Alloc-r9)
@@ -2981,9 +2981,9 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
   mbsfn_SubframeConfig1= CALLOC(1,sizeof(*mbsfn_SubframeConfig1));
   memset((void*)mbsfn_SubframeConfig1,0,sizeof(*mbsfn_SubframeConfig1));
   //
-  mbsfn_SubframeConfig1->radioframeAllocationPeriod= MBSFN_SubframeConfig__radioframeAllocationPeriod_n4;
+  mbsfn_SubframeConfig1->radioframeAllocationPeriod= LTE_MBSFN_SubframeConfig__radioframeAllocationPeriod_n4;
   mbsfn_SubframeConfig1->radioframeAllocationOffset= 1;
-  mbsfn_SubframeConfig1->subframeAllocation.present= MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame;
+  mbsfn_SubframeConfig1->subframeAllocation.present= LTE_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame;
   mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf= MALLOC(1);
   mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.size= 1;
   mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.bits_unused= 2;
@@ -3013,12 +3013,12 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
   ASN_SEQUENCE_ADD(&(*mbsfnAreaConfiguration)->commonSF_Alloc_r9.list,mbsfn_SubframeConfig1);
 
   //  commonSF-AllocPeriod-r9
-  (*mbsfnAreaConfiguration)->commonSF_AllocPeriod_r9= MBSFNAreaConfiguration_r9__commonSF_AllocPeriod_r9_rf16;
+  (*mbsfnAreaConfiguration)->commonSF_AllocPeriod_r9= LTE_MBSFNAreaConfiguration_r9__commonSF_AllocPeriod_r9_rf16;
 
   // PMCHs Information List (PMCH-InfoList-r9)
   // PMCH_1  Config
-  pmch_Info_1 = CALLOC(1,sizeof(PMCH_Info_r9_t));
-  memset((void*)pmch_Info_1,0,sizeof(PMCH_Info_r9_t));
+  pmch_Info_1 = CALLOC(1,sizeof(LTE_PMCH_Info_r9_t));
+  memset((void*)pmch_Info_1,0,sizeof(LTE_PMCH_Info_r9_t));
 
   /*
    * take the value of last mbsfn subframe in this CSA period because there is only one PMCH in this mbsfn area
@@ -3026,15 +3026,15 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
    */
   pmch_Info_1->pmch_Config_r9.sf_AllocEnd_r9= 3;
   pmch_Info_1->pmch_Config_r9.dataMCS_r9= 7;
-  pmch_Info_1->pmch_Config_r9.mch_SchedulingPeriod_r9= PMCH_Config_r9__mch_SchedulingPeriod_r9_rf16;
+  pmch_Info_1->pmch_Config_r9.mch_SchedulingPeriod_r9= LTE_PMCH_Config_r9__mch_SchedulingPeriod_r9_rf16;
 
   // MBMSs-SessionInfoList-r9
   //  pmch_Info_1->mbms_SessionInfoList_r9 = CALLOC(1,sizeof(struct MBMS_SessionInfoList_r9));
   //  Session 1
-  mbms_Session_1 = CALLOC(1,sizeof(MBMS_SessionInfo_r9_t));
-  memset(mbms_Session_1,0,sizeof(MBMS_SessionInfo_r9_t));
+  mbms_Session_1 = CALLOC(1,sizeof(LTE_MBMS_SessionInfo_r9_t));
+  memset(mbms_Session_1,0,sizeof(LTE_MBMS_SessionInfo_r9_t));
   // TMGI value
-  mbms_Session_1->tmgi_r9.plmn_Id_r9.present= TMGI_r9__plmn_Id_r9_PR_plmn_Index_r9;
+  mbms_Session_1->tmgi_r9.plmn_Id_r9.present= LTE_TMGI_r9__plmn_Id_r9_PR_plmn_Index_r9;
   mbms_Session_1->tmgi_r9.plmn_Id_r9.choice.plmn_Index_r9= 1;
   // Service ID
   memset(&mbms_Session_1->tmgi_r9.serviceId_r9,0,sizeof(OCTET_STRING_t));// need to check
@@ -3068,9 +3068,9 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
   ASN_SEQUENCE_ADD(&(*mbsfnAreaConfiguration)->pmch_InfoList_r9.list,pmch_Info_1);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_MCCH_Message,(void*)mcch_message);
+     xer_fprint(stdout,&asn_DEF_LTE_MCCH_Message,(void*)mcch_message);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_MCCH_Message,
                                    NULL,
                                    (void*)mcch_message,
                                    buffer,
@@ -3087,7 +3087,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_MCCH_Message, (void *) &mcch_message)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_MCCH_Message, (void *) &mcch_message)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB, RRC_DL_MCCH, message_string_size);
@@ -3116,21 +3116,21 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
 
   asn_enc_rval_t enc_rval;
 
-  UL_DCCH_Message_t ul_dcch_msg;
+  LTE_UL_DCCH_Message_t ul_dcch_msg;
 
-  MeasurementReport_t  *measurementReport;
+  LTE_MeasurementReport_t  *measurementReport;
 
-  ul_dcch_msg.message.present                     = UL_DCCH_MessageType_PR_c1;
-  ul_dcch_msg.message.choice.c1.present           = UL_DCCH_MessageType__c1_PR_measurementReport;
+  ul_dcch_msg.message.present                     = LTE_UL_DCCH_MessageType_PR_c1;
+  ul_dcch_msg.message.choice.c1.present           = LTE_UL_DCCH_MessageType__c1_PR_measurementReport;
   measurementReport            = &ul_dcch_msg.message.choice.c1.choice.measurementReport;
 
-  measurementReport->criticalExtensions.present=MeasurementReport__criticalExtensions_PR_c1;
-  measurementReport->criticalExtensions.choice.c1.present=MeasurementReport__criticalExtensions__c1_PR_measurementReport_r8;
+  measurementReport->criticalExtensions.present=LTE_MeasurementReport__criticalExtensions_PR_c1;
+  measurementReport->criticalExtensions.choice.c1.present=LTE_MeasurementReport__criticalExtensions__c1_PR_measurementReport_r8;
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension=CALLOC(1,
       sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension));
 
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measId=measid;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrpResult=rsrp_s;
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrqResult=rsrq_s;
 #else
@@ -3139,16 +3139,16 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
 #endif
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells=CALLOC(1,
       sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells));
-  measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->present=MeasResults__measResultNeighCells_PR_measResultListEUTRA;
+  measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->present=LTE_MeasResults__measResultNeighCells_PR_measResultListEUTRA;
 
-  MeasResultListEUTRA_t  *measResultListEUTRA2;
+  LTE_MeasResultListEUTRA_t  *measResultListEUTRA2;
   measResultListEUTRA2 = CALLOC(1,sizeof(*measResultListEUTRA2));
 
-  struct MeasResultEUTRA *measresulteutra2;
+  struct LTE_MeasResultEUTRA *measresulteutra2;
   measresulteutra2 = CALLOC(1,sizeof(*measresulteutra2));
   measresulteutra2->physCellId=phy_id;//1;
 
-  struct MeasResultEUTRA__cgi_Info *measresult_cgi2;
+  struct LTE_MeasResultEUTRA__cgi_Info *measresult_cgi2;
   measresult_cgi2 = CALLOC(1,sizeof(*measresult_cgi2));
 
   memset(&measresult_cgi2->cellGlobalId.plmn_Identity,0,sizeof(measresult_cgi2->cellGlobalId.plmn_Identity));
@@ -3158,7 +3158,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
 
   asn_set_empty(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list);//.size=0;
 
-  MCC_MNC_Digit_t dummy;
+  LTE_MCC_MNC_Digit_t dummy;
   dummy=2;
   ASN_SEQUENCE_ADD(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy);
   dummy=6;
@@ -3190,7 +3190,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
 
   measresulteutra2->cgi_Info=measresult_cgi2;
 
-  struct MeasResultEUTRA__measResult meas2;
+  struct LTE_MeasResultEUTRA__measResult meas2;
   //    int rsrp_va=10;
 
   meas2.rsrpResult=&(rsrp_t);
@@ -3203,7 +3203,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
 
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2);
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message,
                                    NULL,
                                    (void*)&ul_dcch_msg,
                                    buffer,
@@ -3220,7 +3220,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -3242,21 +3242,21 @@ uint8_t do_DLInformationTransfer(uint8_t Mod_id, uint8_t **buffer, uint8_t trans
 {
   ssize_t encoded;
 
-  DL_DCCH_Message_t dl_dcch_msg;
+  LTE_DL_DCCH_Message_t dl_dcch_msg;
 
-  memset(&dl_dcch_msg, 0, sizeof(DL_DCCH_Message_t));
+  memset(&dl_dcch_msg, 0, sizeof(LTE_DL_DCCH_Message_t));
 
-  dl_dcch_msg.message.present           = DL_DCCH_MessageType_PR_c1;
-  dl_dcch_msg.message.choice.c1.present = DL_DCCH_MessageType__c1_PR_dlInformationTransfer;
+  dl_dcch_msg.message.present           = LTE_DL_DCCH_MessageType_PR_c1;
+  dl_dcch_msg.message.choice.c1.present = LTE_DL_DCCH_MessageType__c1_PR_dlInformationTransfer;
   dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.rrc_TransactionIdentifier = transaction_id;
-  dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.present = DLInformationTransfer__criticalExtensions_PR_c1;
-  dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.choice.c1.present = DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8;
+  dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.present = LTE_DLInformationTransfer__criticalExtensions_PR_c1;
+  dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.choice.c1.present = LTE_DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8;
   dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType.present =
-    DLInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS;
+    LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS;
   dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType.choice.dedicatedInfoNAS.size = pdu_length;
   dl_dcch_msg.message.choice.c1.choice.dlInformationTransfer.criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType.choice.dedicatedInfoNAS.buf = pdu_buffer;
 
-  encoded = uper_encode_to_new_buffer (&asn_DEF_DL_DCCH_Message, NULL, (void*) &dl_dcch_msg, (void **) buffer);
+  encoded = uper_encode_to_new_buffer (&asn_DEF_LTE_DL_DCCH_Message, NULL, (void*) &dl_dcch_msg, (void **) buffer);
 
   /*
 #if defined(ENABLE_ITTI)
@@ -3287,12 +3287,12 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
   LOG_D(RRC, "[eNB %d] do_Paging start\n", Mod_id);
   asn_enc_rval_t enc_rval;
 
-  PCCH_Message_t pcch_msg;
-  PagingRecord_t *paging_record_p;
+  LTE_PCCH_Message_t pcch_msg;
+  LTE_PagingRecord_t *paging_record_p;
   int j;
 
-  pcch_msg.message.present           = PCCH_MessageType_PR_c1;
-  pcch_msg.message.choice.c1.present = PCCH_MessageType__c1_PR_paging;
+  pcch_msg.message.present           = LTE_PCCH_MessageType_PR_c1;
+  pcch_msg.message.choice.c1.present = LTE_PCCH_MessageType__c1_PR_paging;
 
   pcch_msg.message.choice.c1.choice.paging.pagingRecordList = CALLOC(1,sizeof(*pcch_msg.message.choice.c1.choice.paging.pagingRecordList));
 
@@ -3303,16 +3303,16 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
   asn_set_empty(&pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list);
   pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count = 0;
 
-  if ((paging_record_p = calloc(1, sizeof(PagingRecord_t))) == NULL) {
+  if ((paging_record_p = calloc(1, sizeof(LTE_PagingRecord_t))) == NULL) {
     /* Possible error on calloc */
     return (-1);
   }
 
-  memset(paging_record_p, 0, sizeof(PagingRecord_t));
+  memset(paging_record_p, 0, sizeof(LTE_PagingRecord_t));
 
   /* convert ue_paging_identity_t to PagingUE_Identity_t */
   if (ue_paging_identity.presenceMask == UE_PAGING_IDENTITY_s_tmsi) {
-    paging_record_p->ue_Identity.present = PagingUE_Identity_PR_s_TMSI;
+    paging_record_p->ue_Identity.present = LTE_PagingUE_Identity_PR_s_TMSI;
     MME_CODE_TO_OCTET_STRING(ue_paging_identity.choice.s_tmsi.mme_code,
                              &paging_record_p->ue_Identity.choice.s_TMSI.mmec);
     paging_record_p->ue_Identity.choice.s_TMSI.mmec.bits_unused = 0;
@@ -3320,26 +3320,26 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
                              &paging_record_p->ue_Identity.choice.s_TMSI.m_TMSI);
     paging_record_p->ue_Identity.choice.s_TMSI.m_TMSI.bits_unused = 0;
   } else if (ue_paging_identity.presenceMask == UE_PAGING_IDENTITY_imsi) {
-    paging_record_p->ue_Identity.present = PagingUE_Identity_PR_imsi;
-    IMSI_Digit_t imsi_digit[21];
+    paging_record_p->ue_Identity.present = LTE_PagingUE_Identity_PR_imsi;
+    LTE_IMSI_Digit_t imsi_digit[21];
     for (j = 0; j< ue_paging_identity.choice.imsi.length; j++) {  /* IMSI size */
-      imsi_digit[j] = (IMSI_Digit_t)ue_paging_identity.choice.imsi.buffer[j];
+      imsi_digit[j] = (LTE_IMSI_Digit_t)ue_paging_identity.choice.imsi.buffer[j];
       ASN_SEQUENCE_ADD(&paging_record_p->ue_Identity.choice.imsi.list, &imsi_digit[j]);
     }
   }
 
   /* set cn_domain */
   if (cn_domain == CN_DOMAIN_PS) {
-    paging_record_p->cn_Domain = PagingRecord__cn_Domain_ps;
+    paging_record_p->cn_Domain = LTE_PagingRecord__cn_Domain_ps;
   } else {
-    paging_record_p->cn_Domain = PagingRecord__cn_Domain_cs;
+    paging_record_p->cn_Domain = LTE_PagingRecord__cn_Domain_cs;
   }
   /* add to list */
   ASN_SEQUENCE_ADD(&pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list, paging_record_p);
   LOG_D(RRC, "[eNB %d] do_Paging paging_record: cn_Domain %ld, ue_paging_identity.presenceMask %d, PagingRecordList.count %d\n",
           Mod_id, paging_record_p->cn_Domain, ue_paging_identity.presenceMask, pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count);
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, NULL, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_PCCH_Message, NULL, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
   if(enc_rval.encoded == -1)
   {
      LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
@@ -3347,7 +3347,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
      return -1;
   }
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_PCCH_Message, (void*)&pcch_msg);
+     xer_fprint(stdout, &asn_DEF_LTE_PCCH_Message, (void*)&pcch_msg);
   }
 
   return((enc_rval.encoded+7)/8);
@@ -3357,20 +3357,20 @@ uint8_t do_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8_t
 {
   ssize_t encoded;
 
-  UL_DCCH_Message_t ul_dcch_msg;
+  LTE_UL_DCCH_Message_t ul_dcch_msg;
 
-  memset(&ul_dcch_msg, 0, sizeof(UL_DCCH_Message_t));
+  memset(&ul_dcch_msg, 0, sizeof(LTE_UL_DCCH_Message_t));
 
-  ul_dcch_msg.message.present           = UL_DCCH_MessageType_PR_c1;
-  ul_dcch_msg.message.choice.c1.present = UL_DCCH_MessageType__c1_PR_ulInformationTransfer;
-  ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.present = ULInformationTransfer__criticalExtensions_PR_c1;
-  ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.choice.c1.present = DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8;
+  ul_dcch_msg.message.present           = LTE_UL_DCCH_MessageType_PR_c1;
+  ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_ulInformationTransfer;
+  ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.present = LTE_ULInformationTransfer__criticalExtensions_PR_c1;
+  ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.choice.c1.present = LTE_DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8;
   ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.choice.c1.choice.ulInformationTransfer_r8.dedicatedInfoType.present =
-    ULInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS;
+    LTE_ULInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS;
   ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.choice.c1.choice.ulInformationTransfer_r8.dedicatedInfoType.choice.dedicatedInfoNAS.size = pdu_length;
   ul_dcch_msg.message.choice.c1.choice.ulInformationTransfer.criticalExtensions.choice.c1.choice.ulInformationTransfer_r8.dedicatedInfoType.choice.dedicatedInfoNAS.buf = pdu_buffer;
 
-  encoded = uper_encode_to_new_buffer (&asn_DEF_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, (void **) buffer);
+  encoded = uper_encode_to_new_buffer (&asn_DEF_LTE_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, (void **) buffer);
 
   return encoded;
 }
@@ -3378,17 +3378,17 @@ uint8_t do_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8_t
 OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
 {
   static OAI_UECapability_t UECapability; /* TODO declared static to allow returning this has an address should be allocated in a cleaner way. */
-  static SupportedBandEUTRA_t Bandlist[4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it
-  static InterFreqBandInfo_t InterFreqBandInfo[4][4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it
-  static BandInfoEUTRA_t BandInfoEUTRA[4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it
+  static LTE_SupportedBandEUTRA_t Bandlist[4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it
+  static LTE_InterFreqBandInfo_t InterFreqBandInfo[4][4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it
+  static LTE_BandInfoEUTRA_t BandInfoEUTRA[4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it
 
   asn_enc_rval_t enc_rval;
   asn_dec_rval_t dec_rval;
 
-  long maxNumberROHC_ContextSessions = PDCP_Parameters__maxNumberROHC_ContextSessions_cs16;
+  long maxNumberROHC_ContextSessions = LTE_PDCP_Parameters__maxNumberROHC_ContextSessions_cs16;
   int i;
 
-  UE_EUTRA_Capability_t *UE_EUTRA_Capability;
+  LTE_UE_EUTRA_Capability_t *UE_EUTRA_Capability;
   char UE_EUTRA_Capability_xer[8192];
   size_t size;
 
@@ -3506,15 +3506,15 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
       return(NULL);
     }
 
-    dec_rval = xer_decode(0, &asn_DEF_UE_EUTRA_Capability, (void*)UE_EUTRA_Capability, UE_EUTRA_Capability_xer, size);
+    dec_rval = xer_decode(0, &asn_DEF_LTE_UE_EUTRA_Capability, (void*)UE_EUTRA_Capability, UE_EUTRA_Capability_xer, size);
     assert(dec_rval.code == RC_OK);
   }
 
   UECapability.UE_EUTRA_Capability = UE_EUTRA_Capability;
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability);
+     xer_fprint(stdout,&asn_DEF_LTE_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UE_EUTRA_Capability,
                                    NULL,
                                    (void*)UE_EUTRA_Capability,
                                    &UECapability.sdu[0],
@@ -3537,7 +3537,7 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
     char        message_string[10000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UE_EUTRA_Capability, (void *)UE_EUTRA_Capability)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UE_EUTRA_Capability, (void *)UE_EUTRA_Capability)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UE_EUTRA_CAPABILITY, message_string_size + sizeof (IttiMsgText));
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.h b/openair2/RRC/LTE/MESSAGES/asn1_msg.h
index db24521cd5372c8429db15c64aab861caa7cdbfc..562f7c33ba40ce9a696807abf86686cb98689c9c 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg.h
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.h
@@ -40,7 +40,7 @@
 #include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */
 
 #include "RRC/LTE/rrc_defs.h"
-#include "SL-DestinationInfoList-r12.h"
+#include "LTE_SL-DestinationInfoList-r12.h"
 
 /*
  * The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
@@ -110,7 +110,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv);
 @param discTxResourceReq Pointer to  number of discovery messages for discovery announcements for which  UE requests E-UTRAN to assign dedicated resources
 @param mode Indicates different requests from upper layers
 @returns Size of encoded bit stream in bytes*/
-uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode);
+uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode);
 
 /** \brief Generate an RRCConnectionSetupComplete UL-DCCH-Message (UE)
 @param buffer Pointer to PER-encoded ASN.1 description of UL-DCCH-Message PDU
@@ -149,8 +149,8 @@ do_RRCConnectionSetup(
   uint8_t*                   const buffer,
   const uint8_t                    transmission_mode,
   const uint8_t                    Transaction_id,
-  SRB_ToAddModList_t**             SRB_configList,
-  struct PhysicalConfigDedicated** physicalConfigDedicated
+  LTE_SRB_ToAddModList_t**             SRB_configList,
+  struct LTE_PhysicalConfigDedicated** physicalConfigDedicated
 );
 
 /**
@@ -180,26 +180,26 @@ do_RRCConnectionReconfiguration(
   const protocol_ctxt_t*        const ctxt_pP,
     uint8_t                            *buffer,
     uint8_t                             Transaction_id,
-    SRB_ToAddModList_t                 *SRB_list,
-    DRB_ToAddModList_t                 *DRB_list,
-    DRB_ToReleaseList_t                *DRB_list2,
-    struct SPS_Config                  *sps_Config,
-    struct PhysicalConfigDedicated     *physicalConfigDedicated,
-    MeasObjectToAddModList_t           *MeasObj_list,
-    ReportConfigToAddModList_t         *ReportConfig_list,
-    QuantityConfig_t                   *quantityConfig,
-    MeasIdToAddModList_t               *MeasId_list,
-    MAC_MainConfig_t                   *mac_MainConfig,
-    MeasGapConfig_t                    *measGapConfig,
-    MobilityControlInfo_t              *mobilityInfo,
-    struct MeasConfig__speedStatePars  *speedStatePars,
-    RSRP_Range_t                       *rsrp,
-    C_RNTI_t                           *cba_rnti,
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList,
-  SL_CommConfig_r12_t                *sl_CommConfig,
-  SL_DiscConfig_r12_t                *sl_DiscConfig
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-    , SCellToAddMod_r10_t  *SCell_config
+    LTE_SRB_ToAddModList_t                 *SRB_list,
+    LTE_DRB_ToAddModList_t                 *DRB_list,
+    LTE_DRB_ToReleaseList_t                *DRB_list2,
+    struct LTE_SPS_Config                  *sps_Config,
+    struct LTE_PhysicalConfigDedicated     *physicalConfigDedicated,
+    LTE_MeasObjectToAddModList_t           *MeasObj_list,
+    LTE_ReportConfigToAddModList_t         *ReportConfig_list,
+    LTE_QuantityConfig_t                   *quantityConfig,
+    LTE_MeasIdToAddModList_t               *MeasId_list,
+    LTE_MAC_MainConfig_t                   *mac_MainConfig,
+    LTE_MeasGapConfig_t                    *measGapConfig,
+    LTE_MobilityControlInfo_t              *mobilityInfo,
+    struct LTE_MeasConfig__speedStatePars  *speedStatePars,
+    LTE_RSRP_Range_t                       *rsrp,
+    LTE_C_RNTI_t                           *cba_rnti,
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList,
+  LTE_SL_CommConfig_r12_t                *sl_CommConfig,
+  LTE_SL_DiscConfig_r12_t                *sl_DiscConfig
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+    , LTE_SCellToAddMod_r10_t  *SCell_config
 #endif
                                         );
 /**
@@ -222,8 +222,8 @@ do_RRCConnectionReestablishment(
   uint8_t*                   const buffer,
   const uint8_t                    transmission_mode,
   const uint8_t                    Transaction_id,
-  SRB_ToAddModList_t               **SRB_configList,
-  struct PhysicalConfigDedicated   **physicalConfigDedicated);
+  LTE_SRB_ToAddModList_t               **SRB_configList,
+  struct LTE_PhysicalConfigDedicated   **physicalConfigDedicated);
 
 /**
 \brief Generate an RRCConnectionReestablishmentReject DL-CCCH-Message (eNB).
@@ -261,7 +261,7 @@ uint8_t do_RRCConnectionRelease(uint8_t Mod_id, uint8_t *buffer,int Transaction_
  * @returns Size of encoded bit stream in bytes
 */
 uint8_t do_MCCHMessage(uint8_t *buffer);
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 /***
  * \brief Generate an MCCH-Message (eNB). This routine configures MBSFNAreaConfiguration (PMCH-InfoList and Subframe Allocation for MBMS data)
  * @param buffer Pointer to PER-encoded ASN.1 description of MCCH-Message PDU
@@ -270,8 +270,8 @@ uint8_t do_MCCHMessage(uint8_t *buffer);
 uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
                            uint8_t sync_area,
                            uint8_t *buffer,
-                           MCCH_Message_t *mcch_message,
-                           MBSFNAreaConfiguration_r9_t **mbsfnAreaConfiguration);
+                           LTE_MCCH_Message_t *mcch_message,
+                           LTE_MBSFNAreaConfiguration_r9_t **mbsfnAreaConfiguration);
 #endif
 
 uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_id,long rsrp_s,long rsrq_s,long rsrp_t,long rsrq_t);
@@ -282,7 +282,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
 
 uint8_t do_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8_t *pdu_buffer);
 
-OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer);
+OAI_UECapability_t *fill_ue_capability(char *LTE_UE_EUTRA_Capability_xer);
 
 uint8_t
 do_UECapabilityEnquiry(
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
index 20962f3ca159741224898017637a3400df005c90..4c63db1d03cc8c72dd021bc1f51ccb6891997e89 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
@@ -43,26 +43,26 @@
 
 
 //#include for NB-IoT-------------------
-#include "RRCConnectionRequest-NB.h"
-#include "BCCH-DL-SCH-Message-NB.h"
-#include "UL-CCCH-Message-NB.h"
-#include "UL-DCCH-Message-NB.h"
-#include "DL-CCCH-Message-NB.h"
-#include "DL-DCCH-Message-NB.h"
-#include "EstablishmentCause-NB-r13.h"
-#include "RRCConnectionSetup-NB.h"
-#include "SRB-ToAddModList-NB-r13.h"
-#include "DRB-ToAddModList-NB-r13.h"
+#include "LTE_RRCConnectionRequest-NB.h"
+#include "LTE_BCCH-DL-SCH-Message-NB.h"
+#include "LTE_UL-CCCH-Message-NB.h"
+#include "LTE_UL-DCCH-Message-NB.h"
+#include "LTE_DL-CCCH-Message-NB.h"
+#include "LTE_DL-DCCH-Message-NB.h"
+#include "LTE_EstablishmentCause-NB-r13.h"
+#include "LTE_RRCConnectionSetup-NB.h"
+#include "LTE_SRB-ToAddModList-NB-r13.h"
+#include "LTE_DRB-ToAddModList-NB-r13.h"
 #include "RRC/LTE/defs_NB_IoT.h"
-#include "RRCConnectionSetupComplete-NB.h"
-#include "RRCConnectionReconfigurationComplete-NB.h"
-#include "RRCConnectionReconfiguration-NB.h"
-#include "MasterInformationBlock-NB.h"
-#include "SystemInformation-NB.h"
-#include "SystemInformationBlockType1.h"
-#include "SIB-Type-NB-r13.h"
-#include "RRCConnectionResume-NB.h"
-#include "RRCConnectionReestablishment-NB.h"
+#include "LTE_RRCConnectionSetupComplete-NB.h"
+#include "LTE_RRCConnectionReconfigurationComplete-NB.h"
+#include "LTE_RRCConnectionReconfiguration-NB.h"
+#include "LTE_MasterInformationBlock-NB.h"
+#include "LTE_SystemInformation-NB.h"
+#include "LTE_SystemInformationBlockType1.h"
+#include "LTE_SIB-Type-NB-r13.h"
+#include "LTE_RRCConnectionResume-NB.h"
+#include "LTE_RRCConnectionReestablishment-NB.h"
 #include "../defs_NB_IoT.h"
 //----------------------------------------
 
@@ -84,7 +84,7 @@ uint8_t do_MIB_NB_IoT(
     uint32_t hyper_frame)
 {
   asn_enc_rval_t enc_rval;
-  BCCH_BCH_Message_NB_t *mib_NB_IoT = &(carrier->mib_NB_IoT);
+  LTE_BCCH_BCH_Message_NB_t *mib_NB_IoT = &(carrier->mib_NB_IoT);
 
   /*
    * systemFrameNumber-MSB: (TS 36.331 pag 576)
@@ -123,14 +123,14 @@ uint8_t do_MIB_NB_IoT(
   mib_NB_IoT->message.ab_Enabled_r13 = 0;
 
   //to be decided
-  mib_NB_IoT->message.operationModeInfo_r13.present = MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_SamePCI_r13;
+  mib_NB_IoT->message.operationModeInfo_r13.present = LTE_MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_SamePCI_r13;
   mib_NB_IoT->message.operationModeInfo_r13.choice.inband_SamePCI_r13.eutra_CRS_SequenceInfo_r13 = 0;
 
   printf("[MIB] Initialization of frame information,sfn_MSB %x, hsfn_LSB %x\n",
          (uint32_t)sfn_MSB,
 		 (uint32_t)hsfn_LSB);
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_BCH_Message_NB,
                                    NULL,
                                    (void*)mib_NB_IoT,
                                    carrier->MIB_NB_IoT,
@@ -155,16 +155,16 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
 				uint32_t frame
                )
 {
-  BCCH_DL_SCH_Message_NB_t *bcch_message= &(carrier->siblock1_NB_IoT);
-  SystemInformationBlockType1_NB_t **sib1_NB_IoT= &(carrier->sib1_NB_IoT);
+  LTE_BCCH_DL_SCH_Message_NB_t *bcch_message= &(carrier->siblock1_NB_IoT);
+  LTE_SystemInformationBlockType1_NB_t **sib1_NB_IoT= &(carrier->sib1_NB_IoT);
   
 
   asn_enc_rval_t enc_rval;
 
-  PLMN_IdentityInfo_NB_r13_t PLMN_identity_info_NB_IoT;
-  MCC_MNC_Digit_t dummy_mcc[3],dummy_mnc[3];
-  SchedulingInfo_NB_r13_t *schedulingInfo_NB_IoT;
-  SIB_Type_NB_r13_t *sib_type_NB_IoT;
+  LTE_PLMN_IdentityInfo_NB_r13_t PLMN_identity_info_NB_IoT;
+  LTE_MCC_MNC_Digit_t dummy_mcc[3],dummy_mnc[3];
+  LTE_SchedulingInfo_NB_r13_t *schedulingInfo_NB_IoT;
+  LTE_SIB_Type_NB_r13_t *sib_type_NB_IoT;
 
 
   long* attachWithoutPDN_Connectivity = NULL;
@@ -175,9 +175,9 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
    eutraControlRegionSize = CALLOC(1,sizeof(long));
   long systemInfoValueTagSI = 0;
 
-  memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_NB_t));
-  bcch_message->message.present = BCCH_DL_SCH_MessageType_NB_PR_c1;
-  bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformationBlockType1_r13;
+  memset(bcch_message,0,sizeof(LTE_BCCH_DL_SCH_Message_NB_t));
+  bcch_message->message.present = LTE_BCCH_DL_SCH_MessageType_NB_PR_c1;
+  bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformationBlockType1_r13;
 
   //allocation
   *sib1_NB_IoT = &bcch_message->message.choice.c1.choice.systemInformationBlockType1_r13;
@@ -195,7 +195,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
   (*sib1_NB_IoT)->hyperSFN_MSB_r13.size = 1;
   (*sib1_NB_IoT)->hyperSFN_MSB_r13.bits_unused = 0;
 
-  memset(&PLMN_identity_info_NB_IoT,0,sizeof(PLMN_IdentityInfo_NB_r13_t));
+  memset(&PLMN_identity_info_NB_IoT,0,sizeof(LTE_PLMN_IdentityInfo_NB_r13_t));
 
   PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc = CALLOC(1,sizeof(*PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc));
   memset(PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc,0,sizeof(*PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc));
@@ -251,7 +251,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
   }
 
   //still set to "notReserved" as in the previous case
-  PLMN_identity_info_NB_IoT.cellReservedForOperatorUse_r13=PLMN_IdentityInfo_NB_r13__cellReservedForOperatorUse_r13_notReserved;
+  PLMN_identity_info_NB_IoT.cellReservedForOperatorUse_r13=LTE_PLMN_IdentityInfo_NB_r13__cellReservedForOperatorUse_r13_notReserved;
 
   *attachWithoutPDN_Connectivity = 0;
   PLMN_identity_info_NB_IoT.attachWithoutPDN_Connectivity_r13 = attachWithoutPDN_Connectivity;
@@ -289,16 +289,16 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellIdentity_r13.bits_unused=4;
 
   //Still set to "notBarred" as in the previous case
-  (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellBarred_r13=SystemInformationBlockType1_NB__cellAccessRelatedInfo_r13__cellBarred_r13_notBarred;
+  (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellBarred_r13=LTE_SystemInformationBlockType1_NB__cellAccessRelatedInfo_r13__cellBarred_r13_notBarred;
 
   //Still Set to "notAllowed" like in the previous case
-  (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.intraFreqReselection_r13=SystemInformationBlockType1_NB__cellAccessRelatedInfo_r13__intraFreqReselection_r13_notAllowed;
+  (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.intraFreqReselection_r13=LTE_SystemInformationBlockType1_NB__cellAccessRelatedInfo_r13__intraFreqReselection_r13_notAllowed;
 
 
   (*sib1_NB_IoT)->cellSelectionInfo_r13.q_RxLevMin_r13=-65; //which value?? TS 36.331 V14.2.1 pag. 589
   (*sib1_NB_IoT)->cellSelectionInfo_r13.q_QualMin_r13 = 0; //FIXME new parameter for SIB1-NB, not present in SIB1 (for cell reselection but if not used the UE should apply the default value)
 
-  (*sib1_NB_IoT)->p_Max_r13 = CALLOC(1, sizeof(P_Max_t));
+  (*sib1_NB_IoT)->p_Max_r13 = CALLOC(1, sizeof(LTE_P_Max_t));
   *((*sib1_NB_IoT)->p_Max_r13) = 23;
 
   //FIXME
@@ -318,8 +318,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
        */
 
 
-   (*sib1_NB_IoT)->downlinkBitmap_r13 = CALLOC(1, sizeof(struct DL_Bitmap_NB_r13));
-   ((*sib1_NB_IoT)->downlinkBitmap_r13)->present= DL_Bitmap_NB_r13_PR_NOTHING;
+   (*sib1_NB_IoT)->downlinkBitmap_r13 = CALLOC(1, sizeof(struct LTE_DL_Bitmap_NB_r13));
+   ((*sib1_NB_IoT)->downlinkBitmap_r13)->present= LTE_DL_Bitmap_NB_r13_PR_NOTHING;
 
    *eutraControlRegionSize = 1;
    (*sib1_NB_IoT)->eutraControlRegionSize_r13 = eutraControlRegionSize;
@@ -328,22 +328,22 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
    *nrs_CRS_PowerOffset= 0;
    (*sib1_NB_IoT)->nrs_CRS_PowerOffset_r13 = nrs_CRS_PowerOffset;
 
-   schedulingInfo_NB_IoT = (SchedulingInfo_NB_r13_t*) malloc (3*sizeof(SchedulingInfo_NB_r13_t));
-   sib_type_NB_IoT = (SIB_Type_NB_r13_t *) malloc (3*sizeof(SIB_Type_NB_r13_t));
+   schedulingInfo_NB_IoT = (LTE_SchedulingInfo_NB_r13_t*) malloc (3*sizeof(LTE_SchedulingInfo_NB_r13_t));
+   sib_type_NB_IoT = (LTE_SIB_Type_NB_r13_t *) malloc (3*sizeof(LTE_SIB_Type_NB_r13_t));
 
-  memset(&schedulingInfo_NB_IoT[0],0,sizeof(SchedulingInfo_NB_r13_t));
-  memset(&schedulingInfo_NB_IoT[1],0,sizeof(SchedulingInfo_NB_r13_t));
-  memset(&schedulingInfo_NB_IoT[2],0,sizeof(SchedulingInfo_NB_r13_t));    
-  memset(&sib_type_NB_IoT[0],0,sizeof(SIB_Type_NB_r13_t));
-  memset(&sib_type_NB_IoT[1],0,sizeof(SIB_Type_NB_r13_t));
-  memset(&sib_type_NB_IoT[2],0,sizeof(SIB_Type_NB_r13_t));
+  memset(&schedulingInfo_NB_IoT[0],0,sizeof(LTE_SchedulingInfo_NB_r13_t));
+  memset(&schedulingInfo_NB_IoT[1],0,sizeof(LTE_SchedulingInfo_NB_r13_t));
+  memset(&schedulingInfo_NB_IoT[2],0,sizeof(LTE_SchedulingInfo_NB_r13_t));    
+  memset(&sib_type_NB_IoT[0],0,sizeof(LTE_SIB_Type_NB_r13_t));
+  memset(&sib_type_NB_IoT[1],0,sizeof(LTE_SIB_Type_NB_r13_t));
+  memset(&sib_type_NB_IoT[2],0,sizeof(LTE_SIB_Type_NB_r13_t));
 
 
   // Now, follow the scheduler SIB configuration
   // There is only one sib2+sib3 common setting
-  schedulingInfo_NB_IoT[0].si_Periodicity_r13=SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096;
-  schedulingInfo_NB_IoT[0].si_RepetitionPattern_r13=SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF; //This Indicates the starting radio frames within the SI window used for SI message transmission.
-  schedulingInfo_NB_IoT[0].si_TB_r13= SchedulingInfo_NB_r13__si_TB_r13_b680;//208 bits
+  schedulingInfo_NB_IoT[0].si_Periodicity_r13=LTE_SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096;
+  schedulingInfo_NB_IoT[0].si_RepetitionPattern_r13=LTE_SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF; //This Indicates the starting radio frames within the SI window used for SI message transmission.
+  schedulingInfo_NB_IoT[0].si_TB_r13= LTE_SchedulingInfo_NB_r13__si_TB_r13_b680;//208 bits
   
 
   // This is for SIB2/3
@@ -351,7 +351,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
     *  in the first SystemInformation message
     * listed in the schedulingInfoList list.
     * */
-  sib_type_NB_IoT[0]=SIB_Type_NB_r13_sibType3_NB_r13;
+  sib_type_NB_IoT[0]=LTE_SIB_Type_NB_r13_sibType3_NB_r13;
 
   ASN_SEQUENCE_ADD(&schedulingInfo_NB_IoT[0].sib_MappingInfo_r13.list,&sib_type_NB_IoT[0]);
   ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->schedulingInfoList_r13.list,&schedulingInfo_NB_IoT[0]);
@@ -369,7 +369,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
   }
 
   //FIXME which value chose for the following parameter
-  (*sib1_NB_IoT)->si_WindowLength_r13=SystemInformationBlockType1_NB__si_WindowLength_r13_ms160;
+  (*sib1_NB_IoT)->si_WindowLength_r13=LTE_SystemInformationBlockType1_NB__si_WindowLength_r13_ms160;
   (*sib1_NB_IoT)->si_RadioFrameOffset_r13= 0;
 
   /*In Nb-IoT change/update of specific SI message can additionally be indicated by a SI message specific value tag
@@ -377,17 +377,17 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
    *contained in systemInfoValueTagList_r13
    **/
   //FIXME correct?
-  (*sib1_NB_IoT)->systemInfoValueTagList_r13 = CALLOC(1, sizeof(struct SystemInfoValueTagList_NB_r13));
+  (*sib1_NB_IoT)->systemInfoValueTagList_r13 = CALLOC(1, sizeof(struct LTE_SystemInfoValueTagList_NB_r13));
   asn_set_empty(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list);
   ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list,&systemInfoValueTagSI);
 
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
+     xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
   }
 
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message_NB,
                                    NULL,
                                    (void*)bcch_message,
                                    carrier->SIB1_NB_IoT,
@@ -417,16 +417,16 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
                         rrc_eNB_carrier_data_NB_IoT_t *carrier,//MP: this is already a carrier[CC_id]
                         NbIoTRrcConfigurationReq *configuration ) //openair2/COMMON/rrc_messages_types.h
 {
-  struct SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member *sib2_NB_part;
-  struct SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member *sib3_NB_part;
+  struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member *sib2_NB_part;
+  struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member *sib3_NB_part;
 
-  BCCH_DL_SCH_Message_NB_t *bcch_message = &(carrier->systemInformation_NB_IoT); //is the systeminformation-->BCCH_DL_SCH_Message_NB
-  SystemInformationBlockType2_NB_r13_t *sib2_NB_IoT;
-  SystemInformationBlockType3_NB_r13_t *sib3_NB_IoT;
+  LTE_BCCH_DL_SCH_Message_NB_t *bcch_message = &(carrier->systemInformation_NB_IoT); //is the systeminformation-->BCCH_DL_SCH_Message_NB
+  LTE_SystemInformationBlockType2_NB_r13_t *sib2_NB_IoT;
+  LTE_SystemInformationBlockType3_NB_r13_t *sib3_NB_IoT;
 
   asn_enc_rval_t enc_rval;
-  RACH_Info_NB_r13_t rach_Info_NB_IoT;
-  NPRACH_Parameters_NB_r13_t *nprach_parameters;
+  LTE_RACH_Info_NB_r13_t rach_Info_NB_IoT;
+  LTE_NPRACH_Parameters_NB_r13_t *nprach_parameters;
 
   //optional
   long *connEstFailOffset = NULL;
@@ -435,16 +435,16 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
 //  RSRP_ThresholdsNPRACH_InfoList_NB_r13_t *rsrp_ThresholdsPrachInfoList;
 //  RSRP_Range_t rsrp_range;
 
-  ACK_NACK_NumRepetitions_NB_r13_t ack_nack_repetition;
-  struct NPUSCH_ConfigCommon_NB_r13__dmrs_Config_r13 *dmrs_config;
-  struct DL_GapConfig_NB_r13	*dl_Gap;
+  LTE_ACK_NACK_NumRepetitions_NB_r13_t ack_nack_repetition;
+  struct LTE_NPUSCH_ConfigCommon_NB_r13__dmrs_Config_r13 *dmrs_config;
+  struct LTE_DL_GapConfig_NB_r13	*dl_Gap;
 
   long *srs_SubframeConfig;
   srs_SubframeConfig= CALLOC(1, sizeof(long));
 
 
   if (bcch_message) {
-    memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_NB_t));
+    memset(bcch_message,0,sizeof(LTE_BCCH_DL_SCH_Message_NB_t));
   } else {
     LOG_E(RRC,"[NB-IoT %d] BCCH_MESSAGE_NB is null, exiting\n", Mod_id);
     exit(-1);
@@ -464,13 +464,13 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
 
   LOG_I(RRC,"[NB-IoT %d] Configuration SIB2/3\n", Mod_id);
 
-  sib2_NB_part = CALLOC(1,sizeof(struct SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
-  sib3_NB_part = CALLOC(1,sizeof(struct SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
-  memset(sib2_NB_part,0,sizeof(struct SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
-  memset(sib3_NB_part,0,sizeof(struct SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
+  sib2_NB_part = CALLOC(1,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
+  sib3_NB_part = CALLOC(1,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
+  memset(sib2_NB_part,0,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
+  memset(sib3_NB_part,0,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
 
-  sib2_NB_part->present = SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member_PR_sib2_r13;
-  sib3_NB_part->present = SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member_PR_sib3_r13;
+  sib2_NB_part->present = LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member_PR_sib2_r13;
+  sib3_NB_part->present = LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member_PR_sib3_r13;
 
   //may bug if not correct allocation of memory
   carrier->sib2_NB_IoT = &sib2_NB_part->choice.sib2_r13;
@@ -478,11 +478,11 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   sib2_NB_IoT = carrier->sib2_NB_IoT;
   sib3_NB_IoT = carrier->sib3_NB_IoT;
 
-  nprach_parameters = (NPRACH_Parameters_NB_r13_t *) malloc (3*sizeof(NPRACH_Parameters_NB_r13_t));
+  nprach_parameters = (LTE_NPRACH_Parameters_NB_r13_t *) malloc (3*sizeof(LTE_NPRACH_Parameters_NB_r13_t));
 
-  memset(&nprach_parameters[0],0,sizeof(NPRACH_Parameters_NB_r13_t));
-  memset(&nprach_parameters[1],0,sizeof(NPRACH_Parameters_NB_r13_t));
-  memset(&nprach_parameters[2],0,sizeof(NPRACH_Parameters_NB_r13_t));
+  memset(&nprach_parameters[0],0,sizeof(LTE_NPRACH_Parameters_NB_r13_t));
+  memset(&nprach_parameters[1],0,sizeof(LTE_NPRACH_Parameters_NB_r13_t));
+  memset(&nprach_parameters[2],0,sizeof(LTE_NPRACH_Parameters_NB_r13_t));
 
 /// SIB2-NB-----------------------------------------
 
@@ -582,7 +582,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
 
 
   /*OPTIONAL*/
-  dmrs_config = CALLOC(1,sizeof(struct NPUSCH_ConfigCommon_NB_r13__dmrs_Config_r13));
+  dmrs_config = CALLOC(1,sizeof(struct LTE_NPUSCH_ConfigCommon_NB_r13__dmrs_Config_r13));
   dmrs_config->threeTone_CyclicShift_r13 = configuration->npusch_threeTone_CyclicShift_r13;
   dmrs_config->sixTone_CyclicShift_r13 = configuration->npusch_sixTone_CyclicShift_r13;
 
@@ -606,7 +606,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
 
 
   //dl_GAP---------------------------------------------------------------------------------/*OPTIONAL*/
-  dl_Gap = CALLOC(1,sizeof(struct DL_GapConfig_NB_r13));
+  dl_Gap = CALLOC(1,sizeof(struct LTE_DL_GapConfig_NB_r13));
   dl_Gap->dl_GapDurationCoeff_r13= configuration-> dl_GapDurationCoeff_NB;
   dl_Gap->dl_GapPeriodicity_r13= configuration->dl_GapPeriodicity_NB;
   dl_Gap->dl_GapThreshold_r13= configuration->dl_GapThreshold_NB;
@@ -631,14 +631,14 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   sib2_NB_IoT->freqInfo_r13.additionalSpectrumEmission_r13 = 1;
   sib2_NB_IoT->freqInfo_r13.ul_CarrierFreq_r13 = NULL; /*OPTIONAL*/
 
-  sib2_NB_IoT->timeAlignmentTimerCommon_r13=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
+  sib2_NB_IoT->timeAlignmentTimerCommon_r13=LTE_TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
 
   /*OPTIONAL*/
   sib2_NB_IoT->multiBandInfoList_r13 = NULL;
 
 /// SIB3-NB-------------------------------------------------------
 
-  sib3_NB_IoT->cellReselectionInfoCommon_r13.q_Hyst_r13=SystemInformationBlockType3_NB_r13__cellReselectionInfoCommon_r13__q_Hyst_r13_dB4;
+  sib3_NB_IoT->cellReselectionInfoCommon_r13.q_Hyst_r13=LTE_SystemInformationBlockType3_NB_r13__cellReselectionInfoCommon_r13__q_Hyst_r13_dB4;
   sib3_NB_IoT->cellReselectionServingFreqInfo_r13.s_NonIntraSearch_r13=0; //or define in configuration?
 
   sib3_NB_IoT->intraFreqCellReselectionInfo_r13.q_RxLevMin_r13 = -70;
@@ -656,10 +656,10 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
 
 
 ///BCCH message (generate the SI message)
-  bcch_message->message.present = BCCH_DL_SCH_MessageType_NB_PR_c1;
-  bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformation_r13;
+  bcch_message->message.present = LTE_BCCH_DL_SCH_MessageType_NB_PR_c1;
+  bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformation_r13;
 
-  bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.present = SystemInformation_NB__criticalExtensions_PR_systemInformation_r13;
+  bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.present = LTE_SystemInformation_NB__criticalExtensions_PR_systemInformation_r13;
   bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list.count=0;
 
   ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list,
@@ -668,9 +668,9 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
                    sib3_NB_part);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
+     xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message_NB,
                                    NULL,
                                    (void*)bcch_message,
                                    carrier->SIB23_NB_IoT,
@@ -704,8 +704,8 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
   uint8_t*                   const buffer, //Srb0.Tx_buffer.Payload
   const uint8_t                    Transaction_id,
   const NB_IoT_DL_FRAME_PARMS* const frame_parms, // maybe not used
-  SRB_ToAddModList_NB_r13_t**             SRB_configList_NB_IoT, //for both SRB1bis and SRB1
-  struct PhysicalConfigDedicated_NB_r13** physicalConfigDedicated_NB_IoT
+  LTE_SRB_ToAddModList_NB_r13_t**             SRB_configList_NB_IoT, //for both SRB1bis and SRB1
+  struct LTE_PhysicalConfigDedicated_NB_r13** physicalConfigDedicated_NB_IoT
 )
 
 {
@@ -725,26 +725,26 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
 // struct SRB_ToAddMod_NB_r13__rlc_Config_r13* SRB1_rlc_config_NB = NULL;
 // struct SRB_ToAddMod_NB_r13__logicalChannelConfig_r13* SRB1_lchan_config_NB = NULL;
 
- struct SRB_ToAddMod_NB_r13* SRB1bis_config_NB_IoT = NULL;
- struct SRB_ToAddMod_NB_r13__rlc_Config_r13* SRB1bis_rlc_config_NB_IoT = NULL;
- struct SRB_ToAddMod_NB_r13__logicalChannelConfig_r13* SRB1bis_lchan_config_NB_IoT = NULL;
+ struct LTE_SRB_ToAddMod_NB_r13* SRB1bis_config_NB_IoT = NULL;
+ struct LTE_SRB_ToAddMod_NB_r13__rlc_Config_r13* SRB1bis_rlc_config_NB_IoT = NULL;
+ struct LTE_SRB_ToAddMod_NB_r13__logicalChannelConfig_r13* SRB1bis_lchan_config_NB_IoT = NULL;
 
  //No UL_specific parameters for NB-IoT in LogicalChanelConfig-NB
 
- PhysicalConfigDedicated_NB_r13_t* physicalConfigDedicated2_NB_IoT = NULL;
- DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
- RRCConnectionSetup_NB_t* rrcConnectionSetup_NB_IoT = NULL;
+ LTE_PhysicalConfigDedicated_NB_r13_t* physicalConfigDedicated2_NB_IoT = NULL;
+ LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
+ LTE_RRCConnectionSetup_NB_t* rrcConnectionSetup_NB_IoT = NULL;
 
- memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(DL_CCCH_Message_NB_t));
- dl_ccch_msg_NB_IoT.message.present = DL_CCCH_MessageType_NB_PR_c1;
- dl_ccch_msg_NB_IoT.message.choice.c1.present = DL_CCCH_MessageType_NB__c1_PR_rrcConnectionSetup_r13;
+ memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
+ dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
+ dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionSetup_r13;
  rrcConnectionSetup_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionSetup_r13;
 
 
  if (*SRB_configList_NB_IoT) {
    free(*SRB_configList_NB_IoT);
  }
- *SRB_configList_NB_IoT = CALLOC(1,sizeof(SRB_ToAddModList_NB_r13_t));
+ *SRB_configList_NB_IoT = CALLOC(1,sizeof(LTE_SRB_ToAddModList_NB_r13_t));
 
 /// SRB1--------------------
  {
@@ -796,18 +796,18 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
 		 SRB1bis_rlc_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_rlc_config_NB_IoT));
 		 SRB1bis_config_NB_IoT->rlc_Config_r13   = SRB1bis_rlc_config_NB_IoT;
 
-		 SRB1bis_rlc_config_NB_IoT->present = SRB_ToAddMod_NB_r13__rlc_Config_r13_PR_explicitValue;
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.present=RLC_Config_NB_r13_PR_am;//MP: the only possible RLC config in NB_IoT
+		 SRB1bis_rlc_config_NB_IoT->present = LTE_SRB_ToAddMod_NB_r13__rlc_Config_r13_PR_explicitValue;
+		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.present=LTE_RLC_Config_NB_r13_PR_am;//MP: the only possible RLC config in NB_IoT
 
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = T_PollRetransmit_NB_r13_ms25000;
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = UL_AM_RLC_NB_r13__maxRetxThreshold_r13_t8;
+		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = LTE_T_PollRetransmit_NB_r13_ms25000;
+		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = LTE_UL_AM_RLC_NB_r13__maxRetxThreshold_r13_t8;
 		 //(musT be disabled--> SRB1 config pag 640 specs )
 		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 =NULL;
 
 		 SRB1bis_lchan_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_lchan_config_NB_IoT));
 		 SRB1bis_config_NB_IoT->logicalChannelConfig_r13  = SRB1bis_lchan_config_NB_IoT;
 
-		 SRB1bis_lchan_config_NB_IoT->present = SRB_ToAddMod_NB_r13__logicalChannelConfig_r13_PR_explicitValue;
+		 SRB1bis_lchan_config_NB_IoT->present = LTE_SRB_ToAddMod_NB_r13__logicalChannelConfig_r13_PR_explicitValue;
 
 		 prioritySRB1bis = CALLOC(1, sizeof(long));
 		 *prioritySRB1bis = 1; //same as SRB1?
@@ -846,13 +846,13 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
   //DL
 
  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_CarrierFreq_r13.carrierFreq_r13=0;//random value set
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13= CALLOC(1,sizeof(struct DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13));
+ physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13= CALLOC(1,sizeof(struct LTE_DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13));
 		 physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13->present=
-				 	 	 	 	 	 	 	 	 DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13_PR_useNoBitmap_r13;
+				 	 	 	 	 	 	 	 	 LTE_DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13_PR_useNoBitmap_r13;
 
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13 = CALLOC(1,sizeof(struct DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13));
+ physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13 = CALLOC(1,sizeof(struct LTE_DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13));
  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13->present =
-		  	  	  	  	  	  	  	  	  	  	  DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13_PR_useNoGap_r13;
+		  	  	  	  	  	  	  	  	  	  	  LTE_DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13_PR_useNoGap_r13;
 
  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.inbandCarrierInfo_r13= NULL;
 
@@ -877,8 +877,8 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
 
  //Fill the rrcConnectionSetup-NB message
  rrcConnectionSetup_NB_IoT->rrc_TransactionIdentifier = Transaction_id; //input value
- rrcConnectionSetup_NB_IoT->criticalExtensions.present = RRCConnectionSetup_NB__criticalExtensions_PR_c1;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.present =RRCConnectionSetup_NB__criticalExtensions__c1_PR_rrcConnectionSetup_r13 ;
+ rrcConnectionSetup_NB_IoT->criticalExtensions.present = LTE_RRCConnectionSetup_NB__criticalExtensions_PR_c1;
+ rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.present =LTE_RRCConnectionSetup_NB__criticalExtensions__c1_PR_rrcConnectionSetup_r13 ;
  //MP: carry only SRB1bis at the moment and phyConfigDedicated
  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = *SRB_configList_NB_IoT;
  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
@@ -888,9 +888,9 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.mac_MainConfig_r13 = NULL;
 
  if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-    xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
+    xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
  }
- enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
+ enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
                                   NULL,
                                   (void*)&dl_ccch_msg_NB_IoT,
                                   buffer,
@@ -917,32 +917,32 @@ uint8_t do_SecurityModeCommand_NB_IoT(
   const uint8_t cipheringAlgorithm,
   const uint8_t integrityProtAlgorithm)
 {
-  DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
+  LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
   asn_enc_rval_t enc_rval;
 
-  memset(&dl_dcch_msg_NB_IoT,0,sizeof(DL_DCCH_Message_NB_t));
+  memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
 
-  dl_dcch_msg_NB_IoT.message.present = DL_DCCH_MessageType_NB_PR_c1;
-  dl_dcch_msg_NB_IoT.message.choice.c1.present = DL_DCCH_MessageType_NB__c1_PR_securityModeCommand_r13;
+  dl_dcch_msg_NB_IoT.message.present = LTE_DL_DCCH_MessageType_NB_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_securityModeCommand_r13;
 
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.rrc_TransactionIdentifier = Transaction_id;
-  dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.present = SecurityModeCommand__criticalExtensions_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.present = LTE_SecurityModeCommand__criticalExtensions_PR_c1;
 
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.choice.c1.present =
-		  SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
+		  LTE_SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
 
   // the two following information could be based on the mod_id
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm
-    = (CipheringAlgorithm_r12_t)cipheringAlgorithm; //bug solved
+    = (LTE_CipheringAlgorithm_r12_t)cipheringAlgorithm; //bug solved
 
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm
-    = (e_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
+    = (e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
 
 //only changed "asn_DEF_DL_DCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
                                    (void*)&dl_dcch_msg_NB_IoT,
                                    buffer,
@@ -983,28 +983,28 @@ uint8_t do_UECapabilityEnquiry_NB_IoT(
 
 {
 
-  DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
+  LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
   //no RAT type in NB-IoT
   asn_enc_rval_t enc_rval;
 
-  memset(&dl_dcch_msg_NB_IoT,0,sizeof(DL_DCCH_Message_NB_t));
+  memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
 
-  dl_dcch_msg_NB_IoT.message.present           = DL_DCCH_MessageType_NB_PR_c1;
-  dl_dcch_msg_NB_IoT.message.choice.c1.present = DL_DCCH_MessageType_NB__c1_PR_ueCapabilityEnquiry_r13;
+  dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_ueCapabilityEnquiry_r13;
 
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.rrc_TransactionIdentifier = Transaction_id;
 
-  dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.criticalExtensions.present = UECapabilityEnquiry_NB__criticalExtensions_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.criticalExtensions.present = LTE_UECapabilityEnquiry_NB__criticalExtensions_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.criticalExtensions.choice.c1.present =
-		  UECapabilityEnquiry_NB__criticalExtensions__c1_PR_ueCapabilityEnquiry_r13;
+		  LTE_UECapabilityEnquiry_NB__criticalExtensions__c1_PR_ueCapabilityEnquiry_r13;
 
   //no ue_CapabilityRequest (list of RAT_Type)
 
 //only changed "asn_DEF_DL_DCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
                                    (void*)&dl_dcch_msg_NB_IoT,
                                    buffer,
@@ -1042,32 +1042,32 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
   const protocol_ctxt_t*        const ctxt_pP,
     uint8_t                            *buffer,
     uint8_t                             Transaction_id,
-    SRB_ToAddModList_NB_r13_t          *SRB1_list_NB, //SRB_ConfigList2 (default)--> only SRB1
-    DRB_ToAddModList_NB_r13_t          *DRB_list_NB_IoT, //DRB_ConfigList (default)
-    DRB_ToReleaseList_NB_r13_t         *DRB_list2_NB_IoT, //is NULL when passed
-    struct PhysicalConfigDedicated_NB_r13     *physicalConfigDedicated_NB_IoT,
-	MAC_MainConfig_NB_r13_t                   *mac_MainConfig_NB_IoT,
-  struct RRCConnectionReconfiguration_NB_r13_IEs__dedicatedInfoNASList_r13* dedicatedInfoNASList_NB_IoT)
+    LTE_SRB_ToAddModList_NB_r13_t          *SRB1_list_NB, //SRB_ConfigList2 (default)--> only SRB1
+    LTE_DRB_ToAddModList_NB_r13_t          *DRB_list_NB_IoT, //DRB_ConfigList (default)
+    LTE_DRB_ToReleaseList_NB_r13_t         *DRB_list2_NB_IoT, //is NULL when passed
+    struct LTE_PhysicalConfigDedicated_NB_r13     *physicalConfigDedicated_NB_IoT,
+	LTE_MAC_MainConfig_NB_r13_t                   *mac_MainConfig_NB_IoT,
+  struct LTE_RRCConnectionReconfiguration_NB_r13_IEs__dedicatedInfoNASList_r13* dedicatedInfoNASList_NB_IoT)
 
 {
 
  //check on DRB_list if contains more than 2 DRB?
 
   asn_enc_rval_t enc_rval;
-  DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
-  RRCConnectionReconfiguration_NB_t *rrcConnectionReconfiguration_NB;
+  LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
+  LTE_RRCConnectionReconfiguration_NB_t *rrcConnectionReconfiguration_NB;
 
 
-  memset(&dl_dcch_msg_NB_IoT,0,sizeof(DL_DCCH_Message_NB_t));
+  memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
 
-  dl_dcch_msg_NB_IoT.message.present           = DL_DCCH_MessageType_NB_PR_c1;
-  dl_dcch_msg_NB_IoT.message.choice.c1.present = DL_DCCH_MessageType_NB__c1_PR_rrcConnectionReconfiguration_r13;
+  dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_rrcConnectionReconfiguration_r13;
   rrcConnectionReconfiguration_NB          = &dl_dcch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReconfiguration_r13;
 
   // RRCConnectionReconfiguration
   rrcConnectionReconfiguration_NB->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionReconfiguration_NB->criticalExtensions.present = RRCConnectionReconfiguration_NB__criticalExtensions_PR_c1;
-  rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.present =RRCConnectionReconfiguration_NB__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r13 ;
+  rrcConnectionReconfiguration_NB->criticalExtensions.present = LTE_RRCConnectionReconfiguration_NB__criticalExtensions_PR_c1;
+  rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.present =LTE_RRCConnectionReconfiguration_NB__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r13 ;
 
   //RAdioResourceconfigDedicated
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13 =
@@ -1083,7 +1083,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
     rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13 =
     		CALLOC(1, sizeof(*rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13));
     rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13->present
-      =RadioResourceConfigDedicated_NB_r13__mac_MainConfig_r13_PR_explicitValue_r13;
+      =LTE_RadioResourceConfigDedicated_NB_r13__mac_MainConfig_r13_PR_explicitValue_r13;
    //why memcopy only this one?
     memcpy(&rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13->choice.explicitValue_r13,
            mac_MainConfig_NB_IoT, sizeof(*mac_MainConfig_NB_IoT));
@@ -1099,7 +1099,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
   //mainly used for cell-reselection/handover purposes??
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.fullConfig_r13 = NULL;
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
                                    (void*)&dl_dcch_msg_NB_IoT,
                                    buffer,
@@ -1111,7 +1111,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
 
   //changed only asn_DEF_DL_DCCH_Message_NB
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_DL_DCCH_Message_NB,(void*)&dl_dcch_msg_NB_IoT);
+     xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message_NB,(void*)&dl_dcch_msg_NB_IoT);
   }
 
 //#if defined(ENABLE_ITTI)
@@ -1131,22 +1131,22 @@ uint8_t do_RRCConnectionReestablishmentReject_NB_IoT(
 
   asn_enc_rval_t enc_rval;
 
-  DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
-  RRCConnectionReestablishmentReject_t *rrcConnectionReestablishmentReject;
+  LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
+  LTE_RRCConnectionReestablishmentReject_t *rrcConnectionReestablishmentReject;
 
-  memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(DL_CCCH_Message_NB_t));
-  dl_ccch_msg_NB_IoT.message.present = DL_CCCH_MessageType_NB_PR_c1;
-  dl_ccch_msg_NB_IoT.message.choice.c1.present = DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishmentReject_r13;
+  memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
+  dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
+  dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishmentReject_r13;
   rrcConnectionReestablishmentReject    = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReestablishmentReject_r13;
 
   // RRCConnectionReestablishmentReject //exactly the same as LTE
-  rrcConnectionReestablishmentReject->criticalExtensions.present = RRCConnectionReestablishmentReject__criticalExtensions_PR_rrcConnectionReestablishmentReject_r8;
+  rrcConnectionReestablishmentReject->criticalExtensions.present = LTE_RRCConnectionReestablishmentReject__criticalExtensions_PR_rrcConnectionReestablishmentReject_r8;
 
   //Only change in "asn_DEF_DL_CCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
                                    NULL,
                                    (void*)&dl_ccch_msg_NB_IoT,
                                    buffer,
@@ -1163,7 +1163,7 @@ uint8_t do_RRCConnectionReestablishmentReject_NB_IoT(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -1193,17 +1193,17 @@ uint8_t do_RRCConnectionReject_NB_IoT(
 
   asn_enc_rval_t enc_rval;
 
-  DL_CCCH_Message_NB_t          dl_ccch_msg_NB_IoT;
-  RRCConnectionReject_NB_t      *rrcConnectionReject_NB_IoT;
+  LTE_DL_CCCH_Message_NB_t          dl_ccch_msg_NB_IoT;
+  LTE_RRCConnectionReject_NB_t      *rrcConnectionReject_NB_IoT;
 
-  memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(DL_CCCH_Message_NB_t));
-  dl_ccch_msg_NB_IoT.message.present           = DL_CCCH_MessageType_NB_PR_c1;
-  dl_ccch_msg_NB_IoT.message.choice.c1.present = DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReject_r13;
+  memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
+  dl_ccch_msg_NB_IoT.message.present           = LTE_DL_CCCH_MessageType_NB_PR_c1;
+  dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReject_r13;
   rrcConnectionReject_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReject_r13;
 
   // RRCConnectionReject-NB_IoT
-  rrcConnectionReject_NB_IoT->criticalExtensions.present = RRCConnectionReject_NB__criticalExtensions_PR_c1;
-  rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.present = RRCConnectionReject_NB__criticalExtensions__c1_PR_rrcConnectionReject_r13;
+  rrcConnectionReject_NB_IoT->criticalExtensions.present = LTE_RRCConnectionReject_NB__criticalExtensions_PR_c1;
+  rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionReject_NB__criticalExtensions__c1_PR_rrcConnectionReject_r13;
   /* let's put an extended wait time of 1s for the moment */
   rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReject_r13.extendedWaitTime_r13 = 1;
   //new-use of suspend indication
@@ -1211,13 +1211,13 @@ uint8_t do_RRCConnectionReject_NB_IoT(
   rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReject_r13.rrc_SuspendIndication_r13=
 		  CALLOC(1, sizeof(long));
   *(rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReject_r13.rrc_SuspendIndication_r13)=
-		  RRCConnectionReject_NB_r13_IEs__rrc_SuspendIndication_r13_true;
+		  LTE_RRCConnectionReject_NB_r13_IEs__rrc_SuspendIndication_r13_true;
 
   //Only Modified "asn_DEF_DL_CCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
+     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
   }
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
                                    NULL,
                                    (void*)&dl_ccch_msg_NB_IoT,
                                    buffer,
@@ -1233,7 +1233,7 @@ uint8_t do_RRCConnectionReject_NB_IoT(
     char        message_string[20000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -1269,19 +1269,19 @@ uint8_t do_DLInformationTransfer_NB_IoT(
 {
   ssize_t encoded;
 
-  DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
+  LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
 
-  memset(&dl_dcch_msg_NB_IoT, 0, sizeof(DL_DCCH_Message_NB_t));
+  memset(&dl_dcch_msg_NB_IoT, 0, sizeof(LTE_DL_DCCH_Message_NB_t));
 
-  dl_dcch_msg_NB_IoT.message.present           = DL_DCCH_MessageType_NB_PR_c1;
-  dl_dcch_msg_NB_IoT.message.choice.c1.present = DL_DCCH_MessageType_NB__c1_PR_dlInformationTransfer_r13;
+  dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_dlInformationTransfer_r13;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.rrc_TransactionIdentifier = transaction_id;
-  dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.present = DLInformationTransfer_NB__criticalExtensions_PR_c1;
-  dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.present = DLInformationTransfer_NB__criticalExtensions__c1_PR_dlInformationTransfer_r13;
+  dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.present = LTE_DLInformationTransfer_NB__criticalExtensions_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.present = LTE_DLInformationTransfer_NB__criticalExtensions__c1_PR_dlInformationTransfer_r13;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.choice.dlInformationTransfer_r13.dedicatedInfoNAS_r13.size = pdu_length;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.choice.dlInformationTransfer_r13.dedicatedInfoNAS_r13.buf = pdu_buffer;
 
-  encoded = uper_encode_to_new_buffer (&asn_DEF_DL_DCCH_Message_NB, NULL, (void*) &dl_dcch_msg_NB_IoT, (void **) buffer);
+  encoded = uper_encode_to_new_buffer (&asn_DEF_LTE_DL_DCCH_Message_NB, NULL, (void*) &dl_dcch_msg_NB_IoT, (void **) buffer);
 
   //only change in "asn_DEF_DL_DCCH_Message_NB"
 #if defined(ENABLE_ITTI)
@@ -1290,7 +1290,7 @@ uint8_t do_DLInformationTransfer_NB_IoT(
     char        message_string[10000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message_NB, (void *)&dl_dcch_msg_NB_IoT)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message_NB, (void *)&dl_dcch_msg_NB_IoT)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -1317,23 +1317,23 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
 		uint8_t* const buffer,
 		const uint8_t     Transaction_id,
 		const NB_IoT_DL_FRAME_PARMS* const frame_parms, //to be changed
-		SRB_ToAddModList_NB_r13_t*      SRB_list_NB_IoT) //should contain SRB1 already configured?
+		LTE_SRB_ToAddModList_NB_r13_t*      SRB_list_NB_IoT) //should contain SRB1 already configured?
 {
 
 	asn_enc_rval_t enc_rval;
-	DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
-	RRCConnectionReestablishment_NB_t* rrcConnectionReestablishment_NB_IoT;
+	LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
+	LTE_RRCConnectionReestablishment_NB_t* rrcConnectionReestablishment_NB_IoT;
 
-	memset(&dl_ccch_msg_NB_IoT, 0, sizeof(DL_CCCH_Message_NB_t));
+	memset(&dl_ccch_msg_NB_IoT, 0, sizeof(LTE_DL_CCCH_Message_NB_t));
 
-	dl_ccch_msg_NB_IoT.message.present = DL_CCCH_MessageType_NB_PR_c1;
-	dl_ccch_msg_NB_IoT.message.choice.c1.present = DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishment_r13;
+	dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
+	dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishment_r13;
 	rrcConnectionReestablishment_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReestablishment_r13;
 
 	//rrcConnectionReestablishment_NB
 	rrcConnectionReestablishment_NB_IoT->rrc_TransactionIdentifier = Transaction_id;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.present = RRCConnectionReestablishment_NB__criticalExtensions_PR_c1;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.present = RRCConnectionReestablishment_NB__criticalExtensions__c1_PR_rrcConnectionReestablishment_r13;
+	rrcConnectionReestablishment_NB_IoT->criticalExtensions.present = LTE_RRCConnectionReestablishment_NB__criticalExtensions_PR_c1;
+	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionReestablishment_NB__criticalExtensions__c1_PR_rrcConnectionReestablishment_r13;
 
 	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = SRB_list_NB_IoT;
 	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
@@ -1344,7 +1344,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
 
 	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
 
-	enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
+	enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
                                            NULL,
 	                                   (void*)&dl_ccch_msg_NB_IoT,
 	                                   buffer,
@@ -1356,7 +1356,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
         }
 
         if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-           xer_fprint(stdout,&asn_DEF_DL_CCCH_Message_NB,(void*)&dl_ccch_msg_NB_IoT);
+           xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message_NB,(void*)&dl_ccch_msg_NB_IoT);
         }
 
 #if defined(ENABLE_ITTI)
@@ -1365,7 +1365,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
     char        message_string[30000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -1391,22 +1391,22 @@ uint8_t do_RRCConnectionRelease_NB_IoT(
 
   asn_enc_rval_t enc_rval;
 
-  DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
-  RRCConnectionRelease_NB_t *rrcConnectionRelease_NB_IoT;
+  LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
+  LTE_RRCConnectionRelease_NB_t *rrcConnectionRelease_NB_IoT;
 
 
-  memset(&dl_dcch_msg_NB_IoT,0,sizeof(DL_DCCH_Message_NB_t));
+  memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
 
-  dl_dcch_msg_NB_IoT.message.present           = DL_DCCH_MessageType_NB_PR_c1;
-  dl_dcch_msg_NB_IoT.message.choice.c1.present = DL_DCCH_MessageType_NB__c1_PR_rrcConnectionRelease_r13;
+  dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
+  dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_rrcConnectionRelease_r13;
   rrcConnectionRelease_NB_IoT                  = &dl_dcch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionRelease_r13;
 
   // RRCConnectionRelease
   rrcConnectionRelease_NB_IoT->rrc_TransactionIdentifier = Transaction_id;
-  rrcConnectionRelease_NB_IoT->criticalExtensions.present = RRCConnectionRelease_NB__criticalExtensions_PR_c1;
-  rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.present =RRCConnectionRelease_NB__criticalExtensions__c1_PR_rrcConnectionRelease_r13 ;
+  rrcConnectionRelease_NB_IoT->criticalExtensions.present = LTE_RRCConnectionRelease_NB__criticalExtensions_PR_c1;
+  rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionRelease_NB__criticalExtensions__c1_PR_rrcConnectionRelease_r13 ;
 
-  rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.releaseCause_r13 = ReleaseCause_NB_r13_other;
+  rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.releaseCause_r13 = LTE_ReleaseCause_NB_r13_other;
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.redirectedCarrierInfo_r13 = NULL;
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.extendedWaitTime_r13 = NULL;
 
@@ -1414,7 +1414,7 @@ uint8_t do_RRCConnectionRelease_NB_IoT(
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension=CALLOC(1,
       sizeof(*rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension));
 
-  enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
                                    (void*)&dl_dcch_msg_NB_IoT,
                                    buffer,
diff --git a/openair2/RRC/LTE/defs_NB_IoT.h b/openair2/RRC/LTE/defs_NB_IoT.h
index 0cc8a37bc08ef4ce836a67f8a644dc8554eb6eea..160d92a610888b1c0e194c3e1d62db6109084e85 100644
--- a/openair2/RRC/LTE/defs_NB_IoT.h
+++ b/openair2/RRC/LTE/defs_NB_IoT.h
@@ -50,17 +50,17 @@
 
 //#include "SystemInformationBlockType1-NB.h"
 //#include "SystemInformation-NB.h"
-#include "RRCConnectionReconfiguration-NB.h"
-#include "RRCConnectionReconfigurationComplete-NB.h"
-#include "RRCConnectionSetup-NB.h"
-#include "RRCConnectionSetupComplete-NB.h"
-#include "RRCConnectionRequest-NB.h"
-#include "RRCConnectionReestablishmentRequest-NB.h"
-#include "BCCH-DL-SCH-Message-NB.h"
-#include "BCCH-BCH-Message-NB.h"
-#include "AS-Config-NB.h"
-#include "AS-Context-NB.h"
-#include "UE-Capability-NB-r13.h" //equivalent of UE-EUTRA-Capability.h
+#include "LTE_RRCConnectionReconfiguration-NB.h"
+#include "LTE_RRCConnectionReconfigurationComplete-NB.h"
+#include "LTE_RRCConnectionSetup-NB.h"
+#include "LTE_RRCConnectionSetupComplete-NB.h"
+#include "LTE_RRCConnectionRequest-NB.h"
+#include "LTE_RRCConnectionReestablishmentRequest-NB.h"
+#include "LTE_BCCH-DL-SCH-Message-NB.h"
+#include "LTE_BCCH-BCH-Message-NB.h"
+#include "LTE_AS-Config-NB.h"
+#include "LTE_AS-Context-NB.h"
+#include "LTE_UE-Capability-NB-r13.h" //equivalent of UE-EUTRA-Capability.h
 //-------------------
 
 #if defined(ENABLE_ITTI)
@@ -122,7 +122,7 @@ typedef struct UE_RRC_INFO_NB_IoT_s {
   uint8_t SIB1systemInfoValueTag;
   uint32_t SIStatus;
   uint32_t SIcnt;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
 #endif
   uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40
@@ -235,14 +235,14 @@ typedef struct SRB_INFO_TABLE_ENTRY_NB_IoT_s {
 //MEAS_REPORT_LIST_s not implemented in NB-IoT but is used at UE side
 //HANDOVER_INFO_UE not implemented in NB-IoT
 typedef struct HANDOVER_INFO_UE_NB_IoT_s {
-  PhysCellId_t targetCellId;
+  LTE_PhysCellId_t targetCellId;
   uint8_t measFlag;
 } HANDOVER_INFO_UE_NB_IoT;
 
 //NB-IoT eNB_RRC_UE_NB_IoT_s--(used as a context in eNB --> ue_context in rrc_eNB_ue_context)------
 typedef struct eNB_RRC_UE_NB_IoT_s {
 
-  EstablishmentCause_t               establishment_cause;
+  LTE_EstablishmentCause_t           establishment_cause;
   uint8_t                            primaryCC_id;
   //in NB-IoT only SRB0, SRB1 and SRB1bis (until AS security activation) exist
 
@@ -256,14 +256,14 @@ typedef struct eNB_RRC_UE_NB_IoT_s {
    * 					   message previously sent by the eNB (e.g. RRCConnectionSetup -- RRCConnectionSetupComplete)
    * 					   this because it could happen that more messages are transmitted at the same time
    */
-  SRB_ToAddModList_NB_r13_t*                SRB_configList;//for SRB1 and SRB1bis
-  SRB_ToAddModList_NB_r13_t*                SRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
-  DRB_ToAddModList_NB_r13_t*                DRB_configList; //for all the DRBs
-  DRB_ToAddModList_NB_r13_t*                DRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER]; //for the configured DRBs of a xid
+  LTE_SRB_ToAddModList_NB_r13_t*            SRB_configList;//for SRB1 and SRB1bis
+  LTE_SRB_ToAddModList_NB_r13_t*            SRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
+  LTE_DRB_ToAddModList_NB_r13_t*            DRB_configList; //for all the DRBs
+  LTE_DRB_ToAddModList_NB_r13_t*            DRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER]; //for the configured DRBs of a xid
   uint8_t                            		DRB_active[2];//in LTE was 8 --> at most 2 for NB-IoT
 
-  struct PhysicalConfigDedicated_NB_r13*    physicalConfigDedicated_NB_IoT;
-  MAC_MainConfig_NB_r13_t*           mac_MainConfig_NB_IoT;
+  struct LTE_PhysicalConfigDedicated_NB_r13*    physicalConfigDedicated_NB_IoT;
+  LTE_MAC_MainConfig_NB_r13_t*           mac_MainConfig_NB_IoT;
 
   //No SPS(semi-persistent scheduling) in NB-IoT
   //No Measurement report in NB-IoT
@@ -279,8 +279,8 @@ typedef struct eNB_RRC_UE_NB_IoT_s {
 #endif
 
   /* Used integrity/ciphering algorithms--> maintained the same for NB-IoT */
-  e_CipheringAlgorithm_r12     ciphering_algorithm; //Specs. TS 36.331 V14.1.0 pag 432 Change position of chipering enumerative w.r.t previous version
-  e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
+  e_LTE_CipheringAlgorithm_r12     ciphering_algorithm; //Specs. TS 36.331 V14.1.0 pag 432 Change position of chipering enumerative w.r.t previous version
+  e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
 
   uint8_t                            Status;
   rnti_t                             rnti;
@@ -290,10 +290,10 @@ typedef struct eNB_RRC_UE_NB_IoT_s {
 
   /* Information from UE RRC ConnectionRequest-NB-r13_IE--> NB-IoT */
   UE_S_TMSI_NB_IoT                          Initialue_identity_s_TMSI;
-  EstablishmentCause_NB_r13_t               establishment_cause_NB_IoT; //different set for NB-IoT
+  LTE_EstablishmentCause_NB_r13_t               establishment_cause_NB_IoT; //different set for NB-IoT
 
   /* Information from UE RRC ConnectionReestablishmentRequest-NB--> NB-IoT */
-  ReestablishmentCause_NB_r13_t             reestablishment_cause_NB_IoT; //different set for NB_IoT
+  LTE_ReestablishmentCause_NB_r13_t             reestablishment_cause_NB_IoT; //different set for NB_IoT
 
   /* UE id for initial connection to S1AP */
   uint16_t                           ue_initial_id;
@@ -389,18 +389,18 @@ typedef struct {
   uint16_t                          physCellId; //not stored in the MIB-NB but is getting through NPSS/NSSS
 
   //are the only static one (memory has been already allocated)
-  BCCH_BCH_Message_NB_t                mib_NB_IoT;
-  BCCH_DL_SCH_Message_NB_t             siblock1_NB_IoT; //SIB1-NB
-  BCCH_DL_SCH_Message_NB_t             systemInformation_NB_IoT; //SI
+  LTE_BCCH_BCH_Message_NB_t                mib_NB_IoT;
+  LTE_BCCH_DL_SCH_Message_NB_t             siblock1_NB_IoT; //SIB1-NB
+  LTE_BCCH_DL_SCH_Message_NB_t             systemInformation_NB_IoT; //SI
 
-  SystemInformationBlockType1_NB_t     		*sib1_NB_IoT;
-  SystemInformationBlockType2_NB_r13_t   	*sib2_NB_IoT;
-  SystemInformationBlockType3_NB_r13_t   	*sib3_NB_IoT;
+  LTE_SystemInformationBlockType1_NB_t     		*sib1_NB_IoT;
+  LTE_SystemInformationBlockType2_NB_r13_t   	*sib2_NB_IoT;
+  LTE_SystemInformationBlockType3_NB_r13_t   	*sib3_NB_IoT;
   //not implemented yet
-  SystemInformationBlockType4_NB_r13_t    	*sib4_NB_IoT;
-  SystemInformationBlockType5_NB_r13_t     	*sib5_NB_IoT;
-  SystemInformationBlockType14_NB_r13_t     *sib14_NB_IoT;
-  SystemInformationBlockType16_NB_r13_t     *sib16_NB_IoT;
+  LTE_SystemInformationBlockType4_NB_r13_t    	*sib4_NB_IoT;
+  LTE_SystemInformationBlockType5_NB_r13_t     	*sib5_NB_IoT;
+  LTE_SystemInformationBlockType14_NB_r13_t     *sib14_NB_IoT;
+  LTE_SystemInformationBlockType16_NB_r13_t     *sib16_NB_IoT;
 
 
   SRB_INFO_NB_IoT                          SI;
@@ -466,7 +466,7 @@ typedef struct OAI_UECapability_NB_IoT_s {
  uint8_t sdu[MAX_UE_CAPABILITY_SIZE_NB_IoT];
  uint8_t sdu_size;
 ////NB-IoT------
-  UE_Capability_NB_r13_t  UE_Capability_NB_IoT; //replace the UE_EUTRA_Capability of LTE
+  LTE_UE_Capability_NB_r13_t  UE_Capability_NB_IoT; //replace the UE_EUTRA_Capability of LTE
 } OAI_UECapability_NB_IoT_t;
 
 #define RRC_BUFFER_SIZE_MAX_NB_IoT 1024
@@ -501,7 +501,7 @@ typedef struct UE_RRC_INST_NB_IoT_s {
   SystemInformationBlockType1_t *sib1[NB_CNX_UE];
   SystemInformation_t *si[NB_CNX_UE]; //!< Temporary storage for an SI message. Decoding happens in decode_SI().
   */
-  SystemInformationBlockType2_t *sib2[NB_CNX_UE];
+  LTE_SystemInformationBlockType2_t *sib2[NB_CNX_UE];
   /*
   SystemInformationBlockType3_t *sib3[NB_CNX_UE];
   SystemInformationBlockType4_t *sib4[NB_CNX_UE];
@@ -513,7 +513,7 @@ typedef struct UE_RRC_INST_NB_IoT_s {
   SystemInformationBlockType10_t *sib10[NB_CNX_UE];
   SystemInformationBlockType11_t *sib11[NB_CNX_UE];
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   uint8_t                           MBMS_flag;
   uint8_t *MCCH_MESSAGE[NB_CNX_UE];
   uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE];
diff --git a/openair2/RRC/LTE/extern_NB_IoT.h b/openair2/RRC/LTE/extern_NB_IoT.h
index f136b57b4787613605ad3f579f779b6005963598..f240e8b2159381376a6888a31665fd83a5f29229 100644
--- a/openair2/RRC/LTE/extern_NB_IoT.h
+++ b/openair2/RRC/LTE/extern_NB_IoT.h
@@ -33,7 +33,7 @@
 #include "RRC/LTE/defs_NB_IoT.h"
 #include "PHY_INTERFACE/IF_Module_NB_IoT.h"
 #include "LAYER2/RLC/rlc.h"
-#include "LogicalChannelConfig-NB-r13.h"
+#include "LTE_LogicalChannelConfig-NB-r13.h"
 #include "LAYER2/MAC/defs_NB_IoT.h"
 
 #include "common/ran_context.h"
@@ -48,8 +48,8 @@ extern PHY_Config_NB_IoT_t 						*config_INFO;
 
 extern rlc_info_t 							Rlc_info_am_NB_IoT,Rlc_info_am_config_NB_IoT;
 extern uint8_t 								DRB2LCHAN_NB_IoT[2];
-extern LogicalChannelConfig_NB_r13_t 		SRB1bis_logicalChannelConfig_defaultValue_NB_IoT;
-extern LogicalChannelConfig_NB_r13_t 		SRB1_logicalChannelConfig_defaultValue_NB_IoT;
+extern LTE_LogicalChannelConfig_NB_r13_t 		SRB1bis_logicalChannelConfig_defaultValue_NB_IoT;
+extern LTE_LogicalChannelConfig_NB_r13_t 		SRB1_logicalChannelConfig_defaultValue_NB_IoT;
 
 extern uint16_t 							T300_NB_IoT[8];
 extern uint16_t 							T301_NB_IoT[8];
diff --git a/openair2/RRC/LTE/proto_NB_IoT.h b/openair2/RRC/LTE/proto_NB_IoT.h
index de09d39fab7b100b9335489cae95a513068baea2..e5c5d8056b58e84f680a6f8041142ba58a90a55b 100644
--- a/openair2/RRC/LTE/proto_NB_IoT.h
+++ b/openair2/RRC/LTE/proto_NB_IoT.h
@@ -203,7 +203,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_NB_IoT(
 void rrc_eNB_process_RRCConnectionSetupComplete_NB_IoT(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_NB_IoT_t*         ue_context_pP,
-  RRCConnectionSetupComplete_NB_r13_IEs_t * rrcConnectionSetupComplete_NB
+  LTE_RRCConnectionSetupComplete_NB_r13_IEs_t * rrcConnectionSetupComplete_NB
 );
 
 void rrc_eNB_generate_SecurityModeCommand_NB_IoT(
diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c
index b111f77871c1292afa40a366b8b2506dcfd2e23b..5a35f7aafe3e0b338a31d05b3a462e608670c064 100644
--- a/openair2/RRC/LTE/rrc_UE.c
+++ b/openair2/RRC/LTE/rrc_UE.c
@@ -46,23 +46,23 @@
 #ifndef CELLULAR
 #include "RRC/LTE/MESSAGES/asn1_msg.h"
 #endif
-#include "RRCConnectionRequest.h"
-#include "RRCConnectionReconfiguration.h"
-#include "UL-CCCH-Message.h"
-#include "DL-CCCH-Message.h"
-#include "UL-DCCH-Message.h"
-#include "DL-DCCH-Message.h"
-#include "BCCH-DL-SCH-Message.h"
-#include "PCCH-Message.h"
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "MCCH-Message.h"
-#endif
-#include "MeasConfig.h"
-#include "MeasGapConfig.h"
-#include "MeasObjectEUTRA.h"
-#include "TDD-Config.h"
-#include "UECapabilityEnquiry.h"
-#include "UE-CapabilityRequest.h"
+#include "LTE_RRCConnectionRequest.h"
+#include "LTE_RRCConnectionReconfiguration.h"
+#include "LTE_UL-CCCH-Message.h"
+#include "LTE_DL-CCCH-Message.h"
+#include "LTE_UL-DCCH-Message.h"
+#include "LTE_DL-DCCH-Message.h"
+#include "LTE_BCCH-DL-SCH-Message.h"
+#include "LTE_PCCH-Message.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#include "LTE_MCCH-Message.h"
+#endif
+#include "LTE_MeasConfig.h"
+#include "LTE_MeasGapConfig.h"
+#include "LTE_MeasObjectEUTRA.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_UECapabilityEnquiry.h"
+#include "LTE_UE-CapabilityRequest.h"
 #include "RRC/NAS/nas_config.h"
 #include "RRC/NAS/rb_config.h"
 #if ENABLE_RAL
@@ -85,8 +85,8 @@
 
 #include "openair2/LAYER2/MAC/mac_extern.h"
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-#include "SL-Preconfiguration-r12.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#include "LTE_SL-Preconfiguration-r12.h"
 
 //for D2D
 int ctrl_sock_fd;
@@ -111,7 +111,7 @@ extern void pdcp_config_set_security(
 
 // internal prototypes
 
-void rrc_ue_process_securityModeCommand( const protocol_ctxt_t* const ctxt_pP, SecurityModeCommand_t* const securityModeCommand, const uint8_t eNB_index );
+void rrc_ue_process_securityModeCommand( const protocol_ctxt_t* const ctxt_pP, LTE_SecurityModeCommand_t* const securityModeCommand, const uint8_t eNB_index );
 
 static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index );
 
@@ -139,12 +139,12 @@ static uint8_t check_trigger_meas_event(
   uint8_t eNB_index,
   uint8_t ue_cnx_index,
   uint8_t meas_index,
-  Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys,
-  Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt);
+  LTE_Q_OffsetRange_t ofn, LTE_Q_OffsetRange_t ocn, LTE_Hysteresis_t hys,
+  LTE_Q_OffsetRange_t ofs, LTE_Q_OffsetRange_t ocs, long a3_offset, LTE_TimeToTrigger_t ttt);
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
-uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode);
+uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode);
 #endif
 
 
@@ -267,69 +267,69 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   UE_rrc_inst[ctxt_pP->module_id].sizeof_SIB1[eNB_index] = 0;
   UE_rrc_inst[ctxt_pP->module_id].sizeof_SI[eNB_index] = 0;
   UE_rrc_inst[ctxt_pP->module_id].SIB1[eNB_index] = (uint8_t*)malloc16_clear( 32 );
-  UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType1_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType2_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType3_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib4[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType4_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType5_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType6_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib7[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType7_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib8[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType8_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType9_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType10_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType11_t) );
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-  UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType12_r9_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType13_r9_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType18_r12_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType19_r12_t) );
-  UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType21_r14_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType1_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType2_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType3_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib4[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType4_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType5_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType6_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib7[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType7_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib8[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType8_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType9_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType10_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType11_t) );
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+  UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType12_r9_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType13_r9_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType18_r12_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType19_r12_t) );
+  UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType21_r14_t) );
 
 #endif
   UE_rrc_inst[ctxt_pP->module_id].SI[eNB_index] = (uint8_t*)malloc16_clear( 64 );
 
-  UE_rrc_inst[ctxt_pP->module_id].si[eNB_index] = (SystemInformation_t*)malloc16_clear( sizeof(SystemInformation_t) );
+  UE_rrc_inst[ctxt_pP->module_id].si[eNB_index] = (LTE_SystemInformation_t*)malloc16_clear( sizeof(LTE_SystemInformation_t) );
 
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus = 0;
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt    = 0;
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
 {
   LOG_I(RRC,"Initializing Sidelink Pre-configuration for UE\n");
 
-  UE->SL_Preconfiguration[eNB_index] = malloc16_clear( sizeof(struct SL_Preconfiguration_r12) );
+  UE->SL_Preconfiguration[eNB_index] = malloc16_clear( sizeof(struct LTE_SL_Preconfiguration_r12) );
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.rohc_Profiles_r12.profile0x0001_r12       = true;
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.carrierFreq_r12                           = 3350;
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.maxTxPower_r12                            = 0;
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.additionalSpectrumEmission_r12            = 0;
-  UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.sl_bandwidth_r12                          = SL_PreconfigGeneral_r12__sl_bandwidth_r12_n50;
-  UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.tdd_ConfigSL_r12.subframeAssignmentSL_r12 = TDD_ConfigSL_r12__subframeAssignmentSL_r12_none;
+  UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.sl_bandwidth_r12                          = LTE_SL_PreconfigGeneral_r12__sl_bandwidth_r12_n50;
+  UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.tdd_ConfigSL_r12.subframeAssignmentSL_r12 = LTE_TDD_ConfigSL_r12__subframeAssignmentSL_r12_none;
 
-  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncCP_Len_r12            = SL_CP_Len_r12_normal;
+  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncCP_Len_r12            = LTE_SL_CP_Len_r12_normal;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncOffsetIndicator1_r12  = 0;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncOffsetIndicator2_r12  = 0;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncTxParameters_r12      = 0;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncTxThreshOoC_r12       = 0;
-  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.filterCoefficient_r12     = FilterCoefficient_fc0;
-  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncRefMinHyst_r12        = SL_PreconfigSync_r12__syncRefMinHyst_r12_dB0;
-  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncRefDiffHyst_r12       = SL_PreconfigSync_r12__syncRefDiffHyst_r12_dB0;
-  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.ext1                      = malloc16_clear(sizeof(struct SL_PreconfigSync_r12__ext1));
+  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.filterCoefficient_r12     = LTE_FilterCoefficient_fc0;
+  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncRefMinHyst_r12        = LTE_SL_PreconfigSync_r12__syncRefMinHyst_r12_dB0;
+  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncRefDiffHyst_r12       = LTE_SL_PreconfigSync_r12__syncRefDiffHyst_r12_dB0;
+  UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.ext1                      = malloc16_clear(sizeof(struct LTE_SL_PreconfigSync_r12__ext1));
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.ext1->syncTxPeriodic_r13  = NULL;
 
-  struct SL_PreconfigCommPool_r12 *preconfigpool = malloc16_clear(sizeof(struct SL_PreconfigCommPool_r12));
-  preconfigpool->sc_CP_Len_r12                                                    = SL_CP_Len_r12_normal;
-  preconfigpool->sc_Period_r12                                                    = SL_PeriodComm_r12_sf40;
+  struct LTE_SL_PreconfigCommPool_r12 *preconfigpool = malloc16_clear(sizeof(struct LTE_SL_PreconfigCommPool_r12));
+  preconfigpool->sc_CP_Len_r12                                                    = LTE_SL_CP_Len_r12_normal;
+  preconfigpool->sc_Period_r12                                                    = LTE_SL_PeriodComm_r12_sf40;
   // 20 PRBs for SL communications
   preconfigpool->sc_TF_ResourceConfig_r12.prb_Num_r12                             = 20;
   preconfigpool->sc_TF_ResourceConfig_r12.prb_Start_r12                           = 5;
   preconfigpool->sc_TF_ResourceConfig_r12.prb_End_r12                             = 44;
   // Offset set to 0 subframes
-  preconfigpool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present             = SL_OffsetIndicator_r12_PR_small_r12;
+  preconfigpool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present             = LTE_SL_OffsetIndicator_r12_PR_small_r12;
   preconfigpool->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12    = 0;
   // 40 ms SL Period
-  preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present              = SubframeBitmapSL_r12_PR_bs40_r12;
+  preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present              = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
   preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf         = CALLOC(1,5);
   preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size        = 5;
   preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = 0;
@@ -341,16 +341,16 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
   preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[4]      = 0;
   preconfigpool->sc_TxParameters_r12                                              = 0;
 
-  preconfigpool->data_CP_Len_r12                                                  = SL_CP_Len_r12_normal;
+  preconfigpool->data_CP_Len_r12                                                  = LTE_SL_CP_Len_r12_normal;
   // 20 PRBs for SL communications
   preconfigpool->data_TF_ResourceConfig_r12.prb_Num_r12                             = 20;
   preconfigpool->data_TF_ResourceConfig_r12.prb_Start_r12                           = 5;
   preconfigpool->data_TF_ResourceConfig_r12.prb_End_r12                             = 44;
   // Offset set to 0 subframes
-  preconfigpool->data_TF_ResourceConfig_r12.offsetIndicator_r12.present             = SL_OffsetIndicator_r12_PR_small_r12;
+  preconfigpool->data_TF_ResourceConfig_r12.offsetIndicator_r12.present             = LTE_SL_OffsetIndicator_r12_PR_small_r12;
   preconfigpool->data_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12    = 0;
   // 40 ms SL Period
-  preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.present              = SubframeBitmapSL_r12_PR_bs40_r12;
+  preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.present              = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf         = CALLOC(1,5);
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size        = 5;
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = 0;
@@ -362,7 +362,7 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[5]      = 0xFF;
 
   preconfigpool->dataHoppingConfig_r12.hoppingParameter_r12                         = 0;
-  preconfigpool->dataHoppingConfig_r12.numSubbands_r12                              = SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
+  preconfigpool->dataHoppingConfig_r12.numSubbands_r12                              = LTE_SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
   preconfigpool->dataHoppingConfig_r12.rb_Offset_r12                                = 0;
 
   preconfigpool->dataTxParameters_r12                                               = 0;
@@ -450,8 +450,8 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
 			   UE->DRB_configList,
 			   (DRB_ToReleaseList_t*) NULL,
 			   0xff, NULL, NULL, NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                           , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                           , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                            ,NULL);
 
@@ -459,8 +459,8 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
 			  (SRB_ToAddModList_t*)NULL,
 			  UE->DRB_configList,
 			  (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			  ,(PMCH_InfoList_r9_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			  ,(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 			  );
 */
@@ -510,11 +510,11 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
   UE_rrc_inst[ctxt.module_id].Srb1[eNB_index].Active=0;
   UE_rrc_inst[ctxt.module_id].Srb2[eNB_index].Active=0;
   UE_rrc_inst[ctxt.module_id].HandoverInfoUe.measFlag=1;
-  UE_rrc_inst[ctxt.module_id].ciphering_algorithm = CipheringAlgorithm_r12_eea0;
-#if (RRC_VERSION >= MAKE_VERSION(9, 2, 0))
-  UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920;
+  UE_rrc_inst[ctxt.module_id].ciphering_algorithm = LTE_CipheringAlgorithm_r12_eea0;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 2, 0))
+  UE_rrc_inst[ctxt.module_id].integrity_algorithm = LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920;
 #else
-  UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_reserved;
+  UE_rrc_inst[ctxt.module_id].integrity_algorithm = LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_reserved;
 #endif
 
   openair_rrc_ue_init_security(&ctxt);
@@ -715,7 +715,7 @@ void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol_ctxt_t
 // Called by L2 interface (MAC)
 int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* const Srb_info, const uint8_t eNB_index )
 {
-  DL_CCCH_Message_t* dl_ccch_msg=NULL;
+  LTE_DL_CCCH_Message_t* dl_ccch_msg=NULL;
   asn_dec_rval_t dec_rval;
   int rval=0;
 
@@ -724,13 +724,13 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
   //  UE_rrc_inst[ue_mod_idP].Info[eNB_index].State);
 
   dec_rval = uper_decode(NULL,
-                         &asn_DEF_DL_CCCH_Message,
+                         &asn_DEF_LTE_DL_CCCH_Message,
                          (void**)&dl_ccch_msg,
                          (uint8_t*)Srb_info->Rx_buffer.Payload,
                          100,0,0);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_DL_CCCH_Message,(void*)dl_ccch_msg);
+     xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message,(void*)dl_ccch_msg);
   }
 
 #if defined(ENABLE_ITTI)
@@ -748,7 +748,7 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
     char        message_string[10000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_CCCH_Message, (void *)dl_ccch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message, (void *)dl_ccch_msg)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
@@ -767,20 +767,20 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
     return -1;
   }
 
-  if (dl_ccch_msg->message.present == DL_CCCH_MessageType_PR_c1) {
+  if (dl_ccch_msg->message.present == LTE_DL_CCCH_MessageType_PR_c1) {
 
     if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_SI_RECEIVED) {
 
       switch (dl_ccch_msg->message.choice.c1.present) {
 
-      case DL_CCCH_MessageType__c1_PR_NOTHING:
+      case LTE_DL_CCCH_MessageType__c1_PR_NOTHING:
         LOG_I(RRC, "[UE%d] Frame %d : Received PR_NOTHING on DL-CCCH-Message\n",
               ctxt_pP->module_id,
               ctxt_pP->frame);
         rval = 0;
         break;
 
-      case DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishment:
+      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishment:
         LOG_I(RRC,
               "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReestablishment\n",
               ctxt_pP->module_id,
@@ -788,7 +788,7 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
         rval = 0;
         break;
 
-      case DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentReject:
+      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentReject:
         LOG_I(RRC,
               "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReestablishmentReject\n",
               ctxt_pP->module_id,
@@ -796,7 +796,7 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
         rval = 0;
         break;
 
-      case DL_CCCH_MessageType__c1_PR_rrcConnectionReject:
+      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReject:
         LOG_I(RRC,
               "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReject \n",
               ctxt_pP->module_id,
@@ -804,7 +804,7 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
         rval = 0;
         break;
 
-      case DL_CCCH_MessageType__c1_PR_rrcConnectionSetup:
+      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionSetup:
         LOG_I(RRC,
               "[UE%d][RAPROC] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionSetup RNTI %x\n",
               ctxt_pP->module_id,
@@ -850,7 +850,7 @@ rrc_ue_establish_srb1(
   module_id_t ue_mod_idP,
   frame_t frameP,
   uint8_t eNB_index,
-  struct SRB_ToAddMod* SRB_config
+  struct LTE_SRB_ToAddMod* SRB_config
 )
 //-----------------------------------------------------------------------------
 {
@@ -883,7 +883,7 @@ rrc_ue_establish_srb2(
   module_id_t ue_mod_idP,
   frame_t frameP,
   uint8_t eNB_index,
-  struct SRB_ToAddMod* SRB_config
+  struct LTE_SRB_ToAddMod* SRB_config
 )
 //-----------------------------------------------------------------------------
 {
@@ -916,7 +916,7 @@ rrc_ue_establish_drb(
   module_id_t ue_mod_idP,
   frame_t frameP,
   uint8_t eNB_index,
-  struct DRB_ToAddMod* DRB_config
+  struct LTE_DRB_ToAddMod* DRB_config
 )
 //-----------------------------------------------------------------------------
 {
@@ -977,7 +977,7 @@ void
 rrc_ue_process_measConfig(
   const protocol_ctxt_t* const       ctxt_pP,
   const uint8_t                      eNB_index,
-  MeasConfig_t* const               measConfig
+  LTE_MeasConfig_t* const               measConfig
 )
 //-----------------------------------------------------------------------------
 {
@@ -985,7 +985,7 @@ rrc_ue_process_measConfig(
   // This is the procedure described in 36.331 Section 5.5.2.1
   int i;
   long ind;
-  MeasObjectToAddMod_t *measObj;
+  LTE_MeasObjectToAddMod_t *measObj;
 
   if (measConfig->measObjectToRemoveList != NULL) {
     for (i=0; i<measConfig->measObjectToRemoveList->list.count; i++) {
@@ -1005,11 +1005,11 @@ rrc_ue_process_measConfig(
         LOG_D(RRC,"Modifying measurement object %ld\n",ind);
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index][ind-1],
                (char*)measObj,
-               sizeof(MeasObjectToAddMod_t));
+               sizeof(LTE_MeasObjectToAddMod_t));
       } else {
         LOG_I(RRC,"Adding measurement object %ld\n",ind);
 
-        if (measObj->measObject.present == MeasObjectToAddMod__measObject_PR_measObjectEUTRA) {
+        if (measObj->measObject.present == LTE_MeasObjectToAddMod__measObject_PR_measObjectEUTRA) {
           LOG_I(RRC,"EUTRA Measurement : carrierFreq %ld, allowedMeasBandwidth %ld,presenceAntennaPort1 %d, neighCellConfig %d\n",
                 measObj->measObject.choice.measObjectEUTRA.carrierFreq,
                 measObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth,
@@ -1023,29 +1023,29 @@ rrc_ue_process_measConfig(
     LOG_I(RRC,"call rrc_mac_config_req \n");
 
     rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-			  (RadioResourceConfigCommonSIB_t *)NULL,
-			  (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			  (SCellToAddMod_r10_t *)NULL,
+			  (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+			  (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			  (LTE_SCellToAddMod_r10_t *)NULL,
 			  //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
 			  UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index],
-			  (MAC_MainConfig_t *)NULL,
+			  (LTE_MAC_MainConfig_t *)NULL,
 			  0,
-			  (struct LogicalChannelConfig *)NULL,
-			  (MeasGapConfig_t *)NULL,
-			  (TDD_Config_t *)NULL,
-			  (MobilityControlInfo_t *)NULL,
+			  (struct LTE_LogicalChannelConfig *)NULL,
+			  (LTE_MeasGapConfig_t *)NULL,
+			  (LTE_TDD_Config_t *)NULL,
+			  (LTE_MobilityControlInfo_t *)NULL,
 			  NULL,
 			  NULL,
 			  NULL,
 			  NULL,
 			  NULL,
 			  NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			  ,0,
-			  (MBSFN_AreaInfoList_r9_t *)NULL,
-			  (PMCH_InfoList_r9_t *)NULL
+			  (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+			  (LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -1053,7 +1053,7 @@ rrc_ue_process_measConfig(
 			  0,
 			  0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -1079,7 +1079,7 @@ rrc_ue_process_measConfig(
         LOG_I(RRC,"Modifying Report Configuration %ld\n",ind-1);
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1],
                (char*)measConfig->reportConfigToAddModList->list.array[i],
-               sizeof(ReportConfigToAddMod_t));
+               sizeof(LTE_ReportConfigToAddMod_t));
       } else {
         LOG_D(RRC,"Adding Report Configuration %ld %p \n",ind-1,measConfig->reportConfigToAddModList->list.array[i]);
         UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1] = measConfig->reportConfigToAddModList->list.array[i];
@@ -1092,7 +1092,7 @@ rrc_ue_process_measConfig(
       LOG_D(RRC,"Modifying Quantity Configuration \n");
       memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index],
              (char*)measConfig->quantityConfig,
-             sizeof(QuantityConfig_t));
+             sizeof(LTE_QuantityConfig_t));
     } else {
       LOG_D(RRC,"Adding Quantity configuration\n");
       UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index] = measConfig->quantityConfig;
@@ -1114,7 +1114,7 @@ rrc_ue_process_measConfig(
         LOG_D(RRC,"Modifying Measurement ID %ld\n",ind-1);
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1],
                (char*)measConfig->measIdToAddModList->list.array[i],
-               sizeof(MeasIdToAddMod_t));
+               sizeof(LTE_MeasIdToAddMod_t));
       } else {
         LOG_D(RRC,"Adding Measurement ID %ld %p\n",ind-1,measConfig->measIdToAddModList->list.array[i]);
         UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1] = measConfig->measIdToAddModList->list.array[i];
@@ -1126,7 +1126,7 @@ rrc_ue_process_measConfig(
     if (UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index]) {
       memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
              (char*)measConfig->measGapConfig,
-             sizeof(MeasGapConfig_t));
+             sizeof(LTE_MeasGapConfig_t));
     } else {
       UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index] = measConfig->measGapConfig;
     }
@@ -1137,7 +1137,7 @@ rrc_ue_process_measConfig(
       LOG_I(RRC,"Modifying Quantity Configuration \n");
       memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index],
              (char*)measConfig->quantityConfig,
-             sizeof(QuantityConfig_t));
+             sizeof(LTE_QuantityConfig_t));
     } else {
       LOG_I(RRC,"Adding Quantity configuration\n");
       UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index] = measConfig->quantityConfig;
@@ -1162,7 +1162,7 @@ rrc_ue_process_measConfig(
 
   if (measConfig->speedStatePars != NULL) {
     if (UE_rrc_inst[ctxt_pP->module_id].speedStatePars) {
-      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].speedStatePars,(char*)measConfig->speedStatePars,sizeof(struct MeasConfig__speedStatePars));
+      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].speedStatePars,(char*)measConfig->speedStatePars,sizeof(struct LTE_MeasConfig__speedStatePars));
     } else {
       UE_rrc_inst[ctxt_pP->module_id].speedStatePars = measConfig->speedStatePars;
     }
@@ -1174,11 +1174,11 @@ rrc_ue_process_measConfig(
 
 
 void
-rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radioResourceConfigDedicated,
+rrc_ue_update_radioResourceConfigDedicated(LTE_RadioResourceConfigDedicated_t* radioResourceConfigDedicated,
         const protocol_ctxt_t* const ctxt_pP,
         uint8_t eNB_index)
 {
-    PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
+    LTE_PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
 
     physicalConfigDedicated2 = CALLOC(1,sizeof(*physicalConfigDedicated2));
     physicalConfigDedicated2->pdsch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pdsch_ConfigDedicated));
@@ -1201,7 +1201,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update pdsch_ConfigDedicated config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated = CALLOC(1,sizeof(PDSCH_ConfigDedicated_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated = CALLOC(1,sizeof(LTE_PDSCH_ConfigDedicated_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->pdsch_ConfigDedicated,
@@ -1218,7 +1218,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update pusch_ConfigDedicated config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated = CALLOC(1,sizeof(PUSCH_ConfigDedicated_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated = CALLOC(1,sizeof(LTE_PUSCH_ConfigDedicated_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->pusch_ConfigDedicated,
@@ -1234,7 +1234,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
     {
         LOG_I(RRC,"Update pucch_ConfigDedicated config \n");
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated = CALLOC(1,sizeof(PUCCH_ConfigDedicated_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated = CALLOC(1,sizeof(LTE_PUCCH_ConfigDedicated_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->pucch_ConfigDedicated,
@@ -1248,20 +1248,20 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
     // Update cqi_ReportConfig
     if(radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig != NULL)
     {
-        LOG_I(RRC,"Update cqi_ReportConfig config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig), sizeof(CQI_ReportConfig_t));
+        LOG_I(RRC,"Update cqi_ReportConfig config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig), sizeof(LTE_CQI_ReportConfig_t));
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig = CALLOC(1,sizeof(CQI_ReportConfig_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig = CALLOC(1,sizeof(LTE_CQI_ReportConfig_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig,
                 sizeof(*physicalConfigDedicated2->cqi_ReportConfig));
 
         if (radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic != NULL) {
-          LOG_I(RRC,"Update cqi_ReportPeriodic config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic), sizeof(CQI_ReportPeriodic_t));
+          LOG_I(RRC,"Update cqi_ReportPeriodic config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic), sizeof(LTE_CQI_ReportPeriodic_t));
 
           if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(CQI_ReportPeriodic_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(LTE_CQI_ReportPeriodic_t));
 
           memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic,
                   (char*)radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic,
@@ -1279,7 +1279,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update schedulingRequestConfig config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig = CALLOC(1,sizeof(SchedulingRequestConfig_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig = CALLOC(1,sizeof(LTE_SchedulingRequestConfig_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->schedulingRequestConfig,
@@ -1296,7 +1296,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update soundingRS_UL_ConfigDedicated config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(SoundingRS_UL_ConfigDedicated_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(LTE_SoundingRS_UL_ConfigDedicated_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->soundingRS_UL_ConfigDedicated,
@@ -1313,7 +1313,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update antennaInfo config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo = CALLOC(1,sizeof(struct PhysicalConfigDedicated__antennaInfo));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo = CALLOC(1,sizeof(struct LTE_PhysicalConfigDedicated__antennaInfo));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo,
@@ -1342,7 +1342,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update uplinkPowerControlDedicated config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated = CALLOC(1,sizeof(UplinkPowerControlDedicated_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated = CALLOC(1,sizeof(LTE_UplinkPowerControlDedicated_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->uplinkPowerControlDedicated,
@@ -1359,7 +1359,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update tpc_PDCCH_ConfigPUCCH config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH = CALLOC(1,sizeof(TPC_PDCCH_Config_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH = CALLOC(1,sizeof(LTE_TPC_PDCCH_Config_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUCCH,
@@ -1376,7 +1376,7 @@ rrc_ue_update_radioResourceConfigDedicated(RadioResourceConfigDedicated_t* radio
         LOG_I(RRC,"Update tpc_PDCCH_ConfigPUSCH config \n");
 
         if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH = CALLOC(1,sizeof(TPC_PDCCH_Config_t));
+            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH = CALLOC(1,sizeof(LTE_TPC_PDCCH_Config_t));
 
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH,
                 (char*)radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUSCH,
@@ -1394,14 +1394,14 @@ void
 rrc_ue_process_radioResourceConfigDedicated(
   const protocol_ctxt_t* const ctxt_pP,
   uint8_t eNB_index,
-  RadioResourceConfigDedicated_t* radioResourceConfigDedicated
+  LTE_RadioResourceConfigDedicated_t* radioResourceConfigDedicated
 )
 //-----------------------------------------------------------------------------
 {
 
   long SRB_id,DRB_id;
   int i,cnt;
-  LogicalChannelConfig_t *SRB1_logicalChannelConfig,*SRB2_logicalChannelConfig;
+  LTE_LogicalChannelConfig_t *SRB1_logicalChannelConfig,*SRB2_logicalChannelConfig;
 #ifdef CBA
   uint8_t cba_found = 0;
   uint16_t cba_RNTI;
@@ -1426,10 +1426,10 @@ rrc_ue_process_radioResourceConfigDedicated(
 
   // Apply macMainConfig if present
   if (radioResourceConfigDedicated->mac_MainConfig) {
-    if (radioResourceConfigDedicated->mac_MainConfig->present == RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue) {
+    if (radioResourceConfigDedicated->mac_MainConfig->present == LTE_RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue) {
       if (UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index]) {
         memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],(char*)&radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue,
-               sizeof(MAC_MainConfig_t));
+               sizeof(LTE_MAC_MainConfig_t));
       } else {
         UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index] = &radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue;
       }
@@ -1440,7 +1440,7 @@ rrc_ue_process_radioResourceConfigDedicated(
   if (radioResourceConfigDedicated->sps_Config) {
     if (UE_rrc_inst[ctxt_pP->module_id].sps_Config[eNB_index]) {
       memcpy(UE_rrc_inst[ctxt_pP->module_id].sps_Config[eNB_index],radioResourceConfigDedicated->sps_Config,
-             sizeof(struct SPS_Config));
+             sizeof(struct LTE_SPS_Config));
     } else {
       UE_rrc_inst[ctxt_pP->module_id].sps_Config[eNB_index] = radioResourceConfigDedicated->sps_Config;
     }
@@ -1486,25 +1486,25 @@ rrc_ue_process_radioResourceConfigDedicated(
     // Refresh SRBs
     rrc_pdcp_config_asn1_req(ctxt_pP,
                              radioResourceConfigDedicated->srb_ToAddModList,
-                             (DRB_ToAddModList_t*)NULL,
-                             (DRB_ToReleaseList_t*)NULL,
+                             (LTE_DRB_ToAddModList_t*)NULL,
+                             (LTE_DRB_ToReleaseList_t*)NULL,
                              UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm |
                              (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4),
                              kRRCenc,
                              kRRCint,
                              NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                             ,(PMCH_InfoList_r9_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                             ,(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
                              ,NULL);
 
     // Refresh SRBs
     rrc_rlc_config_asn1_req(ctxt_pP,
                             radioResourceConfigDedicated->srb_ToAddModList,
-                            (DRB_ToAddModList_t*)NULL,
-                            (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                            ,(PMCH_InfoList_r9_t *)NULL
+                            (LTE_DRB_ToAddModList_t*)NULL,
+                            (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                            ,(LTE_PMCH_InfoList_r9_t *)NULL
                             , 0, 0
 #endif
                            );
@@ -1522,13 +1522,13 @@ rrc_ue_process_radioResourceConfigDedicated(
       if (SRB_id == 1) {
         if (UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]) {
           memcpy(UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index],radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt],
-                 sizeof(struct SRB_ToAddMod));
+                 sizeof(struct LTE_SRB_ToAddMod));
         } else {
           UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index] = radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt];
           rrc_ue_establish_srb1(ctxt_pP->module_id,ctxt_pP->frame,eNB_index,radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt]);
 
           if (UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig) {
-            if (UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig->present == SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
+            if (UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig->present == LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
               SRB1_logicalChannelConfig = &UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig->choice.explicitValue;
 
             } else {
@@ -1542,17 +1542,17 @@ rrc_ue_process_radioResourceConfigDedicated(
                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
 
           rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-				(RadioResourceConfigCommonSIB_t *)NULL,
+				(LTE_RadioResourceConfigCommonSIB_t *)NULL,
 				UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-				(SCellToAddMod_r10_t *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+				(LTE_SCellToAddMod_r10_t *)NULL,
 				//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-				(MeasObjectToAddMod_t **)NULL,
+				(LTE_MeasObjectToAddMod_t **)NULL,
 				UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
 				1,
 				SRB1_logicalChannelConfig,
-				(MeasGapConfig_t *)NULL,
+				(LTE_MeasGapConfig_t *)NULL,
 				NULL,
 				NULL,
 				NULL,
@@ -1561,18 +1561,18 @@ rrc_ue_process_radioResourceConfigDedicated(
 				NULL,
 				NULL,
 				NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 				,
 				0,
-				(MBSFN_AreaInfoList_r9_t *)NULL,
-				(PMCH_InfoList_r9_t *)NULL
+				(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+				(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
 				,
 				0,
 				0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -1583,13 +1583,13 @@ rrc_ue_process_radioResourceConfigDedicated(
       } else {
         if (UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index]) {
           memcpy(UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index],radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt],
-                 sizeof(struct SRB_ToAddMod));
+                 sizeof(struct LTE_SRB_ToAddMod));
         } else {
           UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index] = radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt];
           rrc_ue_establish_srb2(ctxt_pP->module_id,ctxt_pP->frame,eNB_index,radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt]);
 
           if (UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index]->logicalChannelConfig) {
-            if (UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index]->logicalChannelConfig->present == SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
+            if (UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index]->logicalChannelConfig->present == LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
               LOG_I(RRC,"Applying Explicit SRB2 logicalChannelConfig\n");
               SRB2_logicalChannelConfig = &UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index]->logicalChannelConfig->choice.explicitValue;
             } else {
@@ -1606,30 +1606,30 @@ rrc_ue_process_radioResourceConfigDedicated(
                 eNB_index,
                 ctxt_pP->module_id);
           rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-				(RadioResourceConfigCommonSIB_t *)NULL,
+				(LTE_RadioResourceConfigCommonSIB_t *)NULL,
 				UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-				(SCellToAddMod_r10_t *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+				(LTE_SCellToAddMod_r10_t *)NULL,
 				//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-				(MeasObjectToAddMod_t **)NULL,
+				(LTE_MeasObjectToAddMod_t **)NULL,
 				UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
 				2,
 				SRB2_logicalChannelConfig,
 				UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
-				(TDD_Config_t *)NULL,
-				(MobilityControlInfo_t *)NULL,
+				(LTE_TDD_Config_t *)NULL,
+				(LTE_MobilityControlInfo_t *)NULL,
 				NULL,
 				NULL,
 				NULL,
 				NULL,
 				NULL,
 				NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 				,
 				0,
-				(MBSFN_AreaInfoList_r9_t *)NULL,
-				(PMCH_InfoList_r9_t *)NULL
+				(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+				(LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -1637,7 +1637,7 @@ rrc_ue_process_radioResourceConfigDedicated(
 				0,
 				0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -1680,26 +1680,26 @@ rrc_ue_process_radioResourceConfigDedicated(
 
     // Refresh DRBs
     rrc_pdcp_config_asn1_req(ctxt_pP,
-                             (SRB_ToAddModList_t*)NULL,
+                             (LTE_SRB_ToAddModList_t*)NULL,
                              radioResourceConfigDedicated->drb_ToAddModList,
-                             (DRB_ToReleaseList_t*)NULL,
+                             (LTE_DRB_ToReleaseList_t*)NULL,
                              UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm |
                              (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4),
                              NULL,
                              NULL,
                              kUPenc
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                             ,(PMCH_InfoList_r9_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                             ,(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
                              , UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
 
     // Refresh DRBs
     rrc_rlc_config_asn1_req(ctxt_pP,
-                            (SRB_ToAddModList_t*)NULL,
+                            (LTE_SRB_ToAddModList_t*)NULL,
                             radioResourceConfigDedicated->drb_ToAddModList,
-                            (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                            ,(PMCH_InfoList_r9_t *)NULL
+                            (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                            ,(LTE_PMCH_InfoList_r9_t *)NULL
                             , 0, 0
 #endif
                            );
@@ -1710,7 +1710,7 @@ rrc_ue_process_radioResourceConfigDedicated(
       if (UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]) {
         memcpy(UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id],
                radioResourceConfigDedicated->drb_ToAddModList->list.array[i],
-               sizeof(struct DRB_ToAddMod));
+               sizeof(struct LTE_DRB_ToAddMod));
       } else {
         UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id] = radioResourceConfigDedicated->drb_ToAddModList->list.array[i];
         rrc_ue_establish_drb(ctxt_pP->module_id,ctxt_pP->frame,eNB_index,radioResourceConfigDedicated->drb_ToAddModList->list.array[i]);
@@ -1721,37 +1721,37 @@ rrc_ue_process_radioResourceConfigDedicated(
               eNB_index,
               ctxt_pP->module_id);
         rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-			      (RadioResourceConfigCommonSIB_t *)NULL,
+			      (LTE_RadioResourceConfigCommonSIB_t *)NULL,
 			      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			      (SCellToAddMod_r10_t *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			      (LTE_SCellToAddMod_r10_t *)NULL,
 			      //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-			      (MeasObjectToAddMod_t **)NULL,
+			      (LTE_MeasObjectToAddMod_t **)NULL,
 			      UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
 			      *UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]->logicalChannelIdentity,
 			      UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]->logicalChannelConfig,
 			      UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
-			      (TDD_Config_t*)NULL,
-			      (MobilityControlInfo_t *)NULL,
+			      (LTE_TDD_Config_t*)NULL,
+			      (LTE_MobilityControlInfo_t *)NULL,
 			      NULL,
 			      NULL,
 			      NULL,
 			      NULL,
 			      NULL,
 			      NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			      ,
 			      0,
-			      (MBSFN_AreaInfoList_r9_t *)NULL,
-			      (PMCH_InfoList_r9_t *)NULL
+			      (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+			      (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
 			      ,
 			      UE_rrc_inst[ue_mod_idP].num_active_cba_groups, //
 			      UE_rrc_inst[ue_mod_idP].cba_rnti[0]
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -1772,7 +1772,7 @@ rrc_ue_process_radioResourceConfigDedicated(
 void
 rrc_ue_process_securityModeCommand(
   const protocol_ctxt_t* const ctxt_pP,
-  SecurityModeCommand_t* const securityModeCommand,
+  LTE_SecurityModeCommand_t* const securityModeCommand,
   const uint8_t                eNB_index
 )
 //-----------------------------------------------------------------------------
@@ -1780,7 +1780,7 @@ rrc_ue_process_securityModeCommand(
 
   asn_enc_rval_t enc_rval;
 
-  UL_DCCH_Message_t ul_dcch_msg;
+  LTE_UL_DCCH_Message_t ul_dcch_msg;
   // SecurityModeCommand_t SecurityModeCommand;
   uint8_t buffer[200];
   int i, securityMode;
@@ -1789,36 +1789,36 @@ rrc_ue_process_securityModeCommand(
         ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index);
 
   switch (securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm) {
-  case CipheringAlgorithm_r12_eea0:
+  case LTE_CipheringAlgorithm_r12_eea0:
     LOG_I(RRC,"[UE %d] Security algorithm is set to eea0\n",
           ctxt_pP->module_id);
-    securityMode= CipheringAlgorithm_r12_eea0;
+    securityMode= LTE_CipheringAlgorithm_r12_eea0;
     break;
 
-  case CipheringAlgorithm_r12_eea1:
+  case LTE_CipheringAlgorithm_r12_eea1:
     LOG_I(RRC,"[UE %d] Security algorithm is set to eea1\n",ctxt_pP->module_id);
-    securityMode= CipheringAlgorithm_r12_eea1;
+    securityMode= LTE_CipheringAlgorithm_r12_eea1;
     break;
 
-  case CipheringAlgorithm_r12_eea2:
+  case LTE_CipheringAlgorithm_r12_eea2:
     LOG_I(RRC,"[UE %d] Security algorithm is set to eea2\n",
           ctxt_pP->module_id);
-    securityMode = CipheringAlgorithm_r12_eea2;
+    securityMode = LTE_CipheringAlgorithm_r12_eea2;
     break;
 
   default:
     LOG_I(RRC,"[UE %d] Security algorithm is set to none\n",ctxt_pP->module_id);
-    securityMode = CipheringAlgorithm_r12_spare1;
+    securityMode = LTE_CipheringAlgorithm_r12_spare1;
     break;
   }
 
   switch (securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm) {
-  case SecurityAlgorithmConfig__integrityProtAlgorithm_eia1:
+  case LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia1:
     LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to eia1\n",ctxt_pP->module_id);
     securityMode |= 1 << 5;
     break;
 
-  case SecurityAlgorithmConfig__integrityProtAlgorithm_eia2:
+  case LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia2:
     LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to eia2\n",ctxt_pP->module_id);
     securityMode |= 1 << 6;
     break;
@@ -1837,17 +1837,17 @@ rrc_ue_process_securityModeCommand(
   UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm =
     securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm;
 
-  memset((void *)&ul_dcch_msg,0,sizeof(UL_DCCH_Message_t));
+  memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
   //memset((void *)&SecurityModeCommand,0,sizeof(SecurityModeCommand_t));
 
-  ul_dcch_msg.message.present           = UL_DCCH_MessageType_PR_c1;
+  ul_dcch_msg.message.present           = LTE_UL_DCCH_MessageType_PR_c1;
 
   if (securityMode >= NO_SECURITY_MODE) {
 	  LOG_I(RRC, "rrc_ue_process_securityModeCommand, security mode complete case \n");
-    ul_dcch_msg.message.choice.c1.present = UL_DCCH_MessageType__c1_PR_securityModeComplete;
+    ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_securityModeComplete;
   } else {
 	  LOG_I(RRC, "rrc_ue_process_securityModeCommand, security mode failure case \n");
-    ul_dcch_msg.message.choice.c1.present = UL_DCCH_MessageType__c1_PR_securityModeFailure;
+    ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_securityModeFailure;
   }
 
 
@@ -1906,20 +1906,20 @@ rrc_ue_process_securityModeCommand(
 
 #endif //#if defined(ENABLE_SECURITY)
 
-  if (securityModeCommand->criticalExtensions.present == SecurityModeCommand__criticalExtensions_PR_c1) {
-    if (securityModeCommand->criticalExtensions.choice.c1.present != SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8)
+  if (securityModeCommand->criticalExtensions.present == LTE_SecurityModeCommand__criticalExtensions_PR_c1) {
+    if (securityModeCommand->criticalExtensions.choice.c1.present != LTE_SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8)
       LOG_W(RRC,"securityModeCommand->criticalExtensions.choice.c1.present (%d) != SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8\n",
 	    securityModeCommand->criticalExtensions.choice.c1.present);
     
     
     ul_dcch_msg.message.choice.c1.choice.securityModeComplete.rrc_TransactionIdentifier = securityModeCommand->rrc_TransactionIdentifier;
-    ul_dcch_msg.message.choice.c1.choice.securityModeComplete.criticalExtensions.present = SecurityModeCommand__criticalExtensions_PR_c1;
+    ul_dcch_msg.message.choice.c1.choice.securityModeComplete.criticalExtensions.present = LTE_SecurityModeCommand__criticalExtensions_PR_c1;
     ul_dcch_msg.message.choice.c1.choice.securityModeComplete.criticalExtensions.choice.securityModeComplete_r8.nonCriticalExtension =NULL;
     
     LOG_I(RRC,"[UE %d] SFN/SF %d/%d: Receiving from SRB1 (DL-DCCH), encoding securityModeComplete (eNB %d), rrc_TransactionIdentifier: %ld\n",
 	  ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index, securityModeCommand->rrc_TransactionIdentifier);
     
-    enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
+    enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message,
                                      NULL,
 				     (void*)&ul_dcch_msg,
 				     buffer,
@@ -1928,7 +1928,7 @@ rrc_ue_process_securityModeCommand(
 		 enc_rval.failed_type->name, enc_rval.encoded);
     
     if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-       xer_fprint(stdout, &asn_DEF_UL_DCCH_Message, (void*)&ul_dcch_msg);
+       xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void*)&ul_dcch_msg);
     }
     
 #if defined(ENABLE_ITTI)
@@ -1937,7 +1937,7 @@ rrc_ue_process_securityModeCommand(
       char        message_string[20000];
       size_t      message_string_size;
       
-      if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
+      if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
 	MessageDef *msg_p;
 	
 	msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -1975,7 +1975,7 @@ rrc_ue_process_securityModeCommand(
 void
 rrc_ue_process_ueCapabilityEnquiry(
   const protocol_ctxt_t* const ctxt_pP,
-  UECapabilityEnquiry_t* UECapabilityEnquiry,
+  LTE_UECapabilityEnquiry_t* UECapabilityEnquiry,
   uint8_t eNB_index
 )
 //-----------------------------------------------------------------------------
@@ -1983,10 +1983,10 @@ rrc_ue_process_ueCapabilityEnquiry(
 
   asn_enc_rval_t enc_rval;
 
-  UL_DCCH_Message_t ul_dcch_msg;
+  LTE_UL_DCCH_Message_t ul_dcch_msg;
 
 
-  UE_CapabilityRAT_Container_t ue_CapabilityRAT_Container;
+  LTE_UE_CapabilityRAT_Container_t ue_CapabilityRAT_Container;
 
   uint8_t buffer[200];
   int i;
@@ -1997,14 +1997,14 @@ rrc_ue_process_ueCapabilityEnquiry(
         eNB_index);
 
 
-  memset((void *)&ul_dcch_msg,0,sizeof(UL_DCCH_Message_t));
-  memset((void *)&ue_CapabilityRAT_Container,0,sizeof(UE_CapabilityRAT_Container_t));
+  memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
+  memset((void *)&ue_CapabilityRAT_Container,0,sizeof(LTE_UE_CapabilityRAT_Container_t));
 
-  ul_dcch_msg.message.present           = UL_DCCH_MessageType_PR_c1;
-  ul_dcch_msg.message.choice.c1.present = UL_DCCH_MessageType__c1_PR_ueCapabilityInformation;
+  ul_dcch_msg.message.present           = LTE_UL_DCCH_MessageType_PR_c1;
+  ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_ueCapabilityInformation;
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.rrc_TransactionIdentifier = UECapabilityEnquiry->rrc_TransactionIdentifier;
 
-  ue_CapabilityRAT_Container.rat_Type = RAT_Type_eutra;
+  ue_CapabilityRAT_Container.rat_Type = LTE_RAT_Type_eutra;
   OCTET_STRING_fromBuf(&ue_CapabilityRAT_Container.ueCapabilityRAT_Container,
                        (const char*)UE_rrc_inst[ctxt_pP->module_id].UECapability,
                        UE_rrc_inst[ctxt_pP->module_id].UECapability_size);
@@ -2012,34 +2012,34 @@ rrc_ue_process_ueCapabilityEnquiry(
   // ue_CapabilityRAT_Container.ueCapabilityRAT_Container.size = UE_rrc_inst[ue_mod_idP].UECapability_size;
 
 
-  AssertFatal(UECapabilityEnquiry->criticalExtensions.present == UECapabilityEnquiry__criticalExtensions_PR_c1,
+  AssertFatal(UECapabilityEnquiry->criticalExtensions.present == LTE_UECapabilityEnquiry__criticalExtensions_PR_c1,
 	      "UECapabilityEnquiry->criticalExtensions.present (%d) != UECapabilityEnquiry__criticalExtensions_PR_c1 (%d)\n",
-	      UECapabilityEnquiry->criticalExtensions.present,UECapabilityEnquiry__criticalExtensions_PR_c1);
+	      UECapabilityEnquiry->criticalExtensions.present,LTE_UECapabilityEnquiry__criticalExtensions_PR_c1);
 
-  if (UECapabilityEnquiry->criticalExtensions.choice.c1.present != UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8)
+  if (UECapabilityEnquiry->criticalExtensions.choice.c1.present != LTE_UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8)
     LOG_I(RRC,"UECapabilityEnquiry->criticalExtensions.choice.c1.present (%d) != UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8)\n",
 	  UECapabilityEnquiry->criticalExtensions.choice.c1.present);
   
-  ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.present           = UECapabilityInformation__criticalExtensions_PR_c1;
+  ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.present           = LTE_UECapabilityInformation__criticalExtensions_PR_c1;
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.present =
-    UECapabilityInformation__criticalExtensions__c1_PR_ueCapabilityInformation_r8;
+    LTE_UECapabilityInformation__criticalExtensions__c1_PR_ueCapabilityInformation_r8;
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.count
     =0;
   
   for (i=0; i<UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count; i++) {
     
     if (*UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.array[i]
-	== RAT_Type_eutra) {
+	== LTE_RAT_Type_eutra) {
       ASN_SEQUENCE_ADD(
 		       &ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list,
 		       &ue_CapabilityRAT_Container);
       
-      enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, buffer, 100);
+      enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, buffer, 100);
       AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n",
 		   enc_rval.failed_type->name, enc_rval.encoded);
       
       if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-         xer_fprint(stdout, &asn_DEF_UL_DCCH_Message, (void*)&ul_dcch_msg);
+         xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void*)&ul_dcch_msg);
       }
       
 #if defined(ENABLE_ITTI)
@@ -2048,7 +2048,7 @@ rrc_ue_process_ueCapabilityEnquiry(
 	char        message_string[20000];
 	size_t      message_string_size;
 	
-	if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
+	if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
 	  MessageDef *msg_p;
 	  
 	  msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
@@ -2086,7 +2086,7 @@ rrc_ue_process_ueCapabilityEnquiry(
 void
 rrc_ue_process_rrcConnectionReconfiguration(
   const protocol_ctxt_t* const       ctxt_pP,
-  RRCConnectionReconfiguration_t *rrcConnectionReconfiguration,
+  LTE_RRCConnectionReconfiguration_t *rrcConnectionReconfiguration,
   uint8_t eNB_index
 )
 //-----------------------------------------------------------------------------
@@ -2095,10 +2095,10 @@ rrc_ue_process_rrcConnectionReconfiguration(
   LOG_I(RRC,"[UE %d] Frame %d: Receiving from SRB1 (DL-DCCH), Processing RRCConnectionReconfiguration (eNB %d)\n",
         ctxt_pP->module_id,ctxt_pP->frame,eNB_index);
 
-  if (rrcConnectionReconfiguration->criticalExtensions.present == RRCConnectionReconfiguration__criticalExtensions_PR_c1) {
+  if (rrcConnectionReconfiguration->criticalExtensions.present == LTE_RRCConnectionReconfiguration__criticalExtensions_PR_c1) {
     if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.present ==
-        RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8) {
-      RRCConnectionReconfiguration_r8_IEs_t* rrcConnectionReconfiguration_r8 =
+        LTE_RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8) {
+      LTE_RRCConnectionReconfiguration_r8_IEs_t* rrcConnectionReconfiguration_r8 =
         &rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8;
 
       if (rrcConnectionReconfiguration_r8->mobilityControlInfo) {
@@ -2134,14 +2134,14 @@ rrc_ue_process_rrcConnectionReconfiguration(
                                     != NULL)
                                     && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12
                                           != NULL)) {
-         if (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12->commTxResources_r12->present != SL_CommConfig_r12__commTxResources_r12_PR_NOTHING){
+         if (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12->commTxResources_r12->present != LTE_SL_CommConfig_r12__commTxResources_r12_PR_NOTHING){
             LOG_I(RRC,"sl-CommConfig is present\n");
             //process sl-CommConfig
             rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
-                  (SystemInformationBlockType18_r12_t *)NULL,
-                  (SystemInformationBlockType19_r12_t *)NULL,
+                  (LTE_SystemInformationBlockType18_r12_t *)NULL,
+                  (LTE_SystemInformationBlockType19_r12_t *)NULL,
                   rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12,
-                  (SL_DiscConfig_r12_t *)NULL
+                  (LTE_SL_DiscConfig_r12_t *)NULL
             );
          }
       }
@@ -2240,7 +2240,7 @@ void
 rrc_ue_process_mobilityControlInfo(
   const protocol_ctxt_t* const       ctxt_pP,
   const uint8_t                      eNB_index,
-  struct MobilityControlInfo* const mobilityControlInfo
+  struct LTE_MobilityControlInfo* const mobilityControlInfo
 )
 //-----------------------------------------------------------------------------
 {
@@ -2282,7 +2282,7 @@ rrc_ue_process_mobilityControlInfo(
          NULL, // key rrc encryption
          NULL, // key rrc integrity
          NULL // key encryption
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
          ,NULL
 #endif
          ,NULL);
@@ -2291,7 +2291,7 @@ rrc_ue_process_mobilityControlInfo(
         NULL,// SRB_ToAddModList
         NULL,// DRB_ToAddModList
         drb2release_list // DRB_ToReleaseList
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
         ,NULL
 #endif
         ,NULL);
@@ -2324,18 +2324,18 @@ rrc_ue_process_mobilityControlInfo(
   rrc_mac_config_req_ue(ctxt_pP->module_id,
 			0,
 			eNB_index,
-			(RadioResourceConfigCommonSIB_t *)NULL,
-			(struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			(SCellToAddMod_r10_t *)NULL,
+			(LTE_RadioResourceConfigCommonSIB_t *)NULL,
+			(struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			(LTE_SCellToAddMod_r10_t *)NULL,
 			//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			(MeasObjectToAddMod_t **)NULL,
-			(MAC_MainConfig_t *)NULL,
+			(LTE_MeasObjectToAddMod_t **)NULL,
+			(LTE_MAC_MainConfig_t *)NULL,
 			0,
-			(struct LogicalChannelConfig *)NULL,
-			(MeasGapConfig_t *)NULL,
-			(TDD_Config_t *)NULL,
+			(struct LTE_LogicalChannelConfig *)NULL,
+			(LTE_MeasGapConfig_t *)NULL,
+			(LTE_TDD_Config_t *)NULL,
 			mobilityControlInfo,
 			(uint8_t *)NULL,
 			(uint16_t *)NULL,
@@ -2343,16 +2343,16 @@ rrc_ue_process_mobilityControlInfo(
 			NULL,
 			NULL,
 			NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			,0,
-			(MBSFN_AreaInfoList_r9_t *)NULL,
-			(PMCH_InfoList_r9_t *)NULL
+			(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+			(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
 			,0,
 			0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -2396,7 +2396,7 @@ rrc_ue_decode_dcch(
 {
 
   //DL_DCCH_Message_t dldcchmsg;
-  DL_DCCH_Message_t *dl_dcch_msg=NULL;//&dldcchmsg;
+  LTE_DL_DCCH_Message_t *dl_dcch_msg=NULL;//&dldcchmsg;
   //  asn_dec_rval_t dec_rval;
   // int i;
   uint8_t target_eNB_index=0xFF;
@@ -2420,13 +2420,13 @@ rrc_ue_decode_dcch(
   LOG_T(RRC, "\n");
    */
   uper_decode(NULL,
-              &asn_DEF_DL_DCCH_Message,
+              &asn_DEF_LTE_DL_DCCH_Message,
               (void**)&dl_dcch_msg,
               (uint8_t*)Buffer,
               RRC_BUF_SIZE,0,0);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)dl_dcch_msg);
+     xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message,(void*)dl_dcch_msg);
   }
 
 #if defined(ENABLE_ITTI)
@@ -2442,7 +2442,7 @@ rrc_ue_decode_dcch(
     char        message_string[30000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_DL_DCCH_Message, (void *)dl_dcch_msg)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message, (void *)dl_dcch_msg)) > 0) {
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
       msg_p->ittiMsg.rrc_dl_dcch.size = message_string_size;
       memcpy(&msg_p->ittiMsg.rrc_dl_dcch.text, message_string, message_string_size);
@@ -2453,31 +2453,31 @@ rrc_ue_decode_dcch(
 # endif
 #endif
 
-  if (dl_dcch_msg->message.present == DL_DCCH_MessageType_PR_c1) {
+  if (dl_dcch_msg->message.present == LTE_DL_DCCH_MessageType_PR_c1) {
 
     if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_indexP].State >= RRC_CONNECTED) {
 
       switch (dl_dcch_msg->message.choice.c1.present) {
 
-      case DL_DCCH_MessageType__c1_PR_NOTHING:
+      case LTE_DL_DCCH_MessageType__c1_PR_NOTHING:
         LOG_I(RRC, "[UE %d] Frame %d : Received PR_NOTHING on DL-DCCH-Message\n",
               ctxt_pP->module_id, ctxt_pP->frame);
         return;
 
-      case DL_DCCH_MessageType__c1_PR_csfbParametersResponseCDMA2000:
+      case LTE_DL_DCCH_MessageType__c1_PR_csfbParametersResponseCDMA2000:
         break;
 
-      case DL_DCCH_MessageType__c1_PR_dlInformationTransfer: {
+      case LTE_DL_DCCH_MessageType__c1_PR_dlInformationTransfer: {
 #if defined(ENABLE_ITTI)
-        DLInformationTransfer_t *dlInformationTransfer = &dl_dcch_msg->message.choice.c1.choice.dlInformationTransfer;
+        LTE_DLInformationTransfer_t *dlInformationTransfer = &dl_dcch_msg->message.choice.c1.choice.dlInformationTransfer;
 
-        if ((dlInformationTransfer->criticalExtensions.present == DLInformationTransfer__criticalExtensions_PR_c1)
+        if ((dlInformationTransfer->criticalExtensions.present == LTE_DLInformationTransfer__criticalExtensions_PR_c1)
             && (dlInformationTransfer->criticalExtensions.choice.c1.present
-                == DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8)
+                == LTE_DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8)
             && (dlInformationTransfer->criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType.present
-                == DLInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS)) {
+                == LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS)) {
           /* This message hold a dedicated info NAS payload, forward it to NAS */
-          struct DLInformationTransfer_r8_IEs__dedicatedInfoType *dedicatedInfoType =
+          struct LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType *dedicatedInfoType =
                 &dlInformationTransfer->criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType;
           uint32_t pdu_length;
           uint8_t *pdu_buffer;
@@ -2498,13 +2498,13 @@ rrc_ue_decode_dcch(
         break;
       }
 
-      case DL_DCCH_MessageType__c1_PR_handoverFromEUTRAPreparationRequest:
+      case LTE_DL_DCCH_MessageType__c1_PR_handoverFromEUTRAPreparationRequest:
         break;
 
-      case DL_DCCH_MessageType__c1_PR_mobilityFromEUTRACommand:
+      case LTE_DL_DCCH_MessageType__c1_PR_mobilityFromEUTRACommand:
         break;
 
-      case DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration:
+      case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration:
 
         // first check if mobilityControlInfo  is present
         if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo
@@ -2661,8 +2661,8 @@ rrc_ue_decode_dcch(
         if (send_ue_information == 0) {
            LOG_I(RRC, "TEST SidelinkUEInformation [UE %d] Received  (eNB %d)\n",
                  ctxt_pP->module_id, eNB_indexP);
-           SL_DestinationInfoList_r12_t *destinationInfoList = CALLOC(1, sizeof(SL_DestinationInfoList_r12_t));
-           SL_DestinationIdentity_r12_t *sl_destination_identity = CALLOC(1, sizeof(SL_DestinationIdentity_r12_t));
+           LTE_SL_DestinationInfoList_r12_t *destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
+           LTE_SL_DestinationIdentity_r12_t *sl_destination_identity = CALLOC(1, sizeof(LTE_SL_DestinationIdentity_r12_t));
            sl_destination_identity->size = 3;
            sl_destination_identity->buf = CALLOC(1,3);
            sl_destination_identity->buf[0] = 0x00;
@@ -2675,14 +2675,14 @@ rrc_ue_decode_dcch(
         }
         break;
 
-      case DL_DCCH_MessageType__c1_PR_rrcConnectionRelease:
+      case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionRelease:
 #if defined(ENABLE_ITTI)
         msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_RELEASE_IND);
 
         if ((dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.present
-             == RRCConnectionRelease__criticalExtensions_PR_c1)
+             == LTE_RRCConnectionRelease__criticalExtensions_PR_c1)
             && (dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.choice.c1.present
-                == RRCConnectionRelease__criticalExtensions__c1_PR_rrcConnectionRelease_r8)) {
+                == LTE_RRCConnectionRelease__criticalExtensions__c1_PR_rrcConnectionRelease_r8)) {
           NAS_CONN_RELEASE_IND(msg_p).cause =
             dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.releaseCause;
         }
@@ -2696,7 +2696,7 @@ rrc_ue_decode_dcch(
 #endif
         break;
 
-      case DL_DCCH_MessageType__c1_PR_securityModeCommand:
+      case LTE_DL_DCCH_MessageType__c1_PR_securityModeCommand:
         LOG_I(RRC, "[UE %d] Received securityModeCommand (eNB %d)\n",
               ctxt_pP->module_id, eNB_indexP);
         rrc_ue_process_securityModeCommand(
@@ -2705,7 +2705,7 @@ rrc_ue_decode_dcch(
           eNB_indexP);
         break;
 
-      case DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry:
+      case LTE_DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry:
         LOG_I(RRC, "[UE %d] Received Capability Enquiry (eNB %d)\n",
               ctxt_pP->module_id,
               eNB_indexP);
@@ -2715,26 +2715,26 @@ rrc_ue_decode_dcch(
           eNB_indexP);
         break;
 
-      case DL_DCCH_MessageType__c1_PR_counterCheck:
+      case LTE_DL_DCCH_MessageType__c1_PR_counterCheck:
         break;
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-      case DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+      case LTE_DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
         break;
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-      case DL_DCCH_MessageType__c1_PR_loggedMeasurementConfiguration_r10:
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+      case LTE_DL_DCCH_MessageType__c1_PR_loggedMeasurementConfiguration_r10:
         break;
 
-      case DL_DCCH_MessageType__c1_PR_rnReconfiguration_r10:
+      case LTE_DL_DCCH_MessageType__c1_PR_rnReconfiguration_r10:
         break;
 #endif
 
-      case DL_DCCH_MessageType__c1_PR_spare1:
-      case DL_DCCH_MessageType__c1_PR_spare2:
-      case DL_DCCH_MessageType__c1_PR_spare3:
-#if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
-      case DL_DCCH_MessageType__c1_PR_spare4:
+      case LTE_DL_DCCH_MessageType__c1_PR_spare1:
+      case LTE_DL_DCCH_MessageType__c1_PR_spare2:
+      case LTE_DL_DCCH_MessageType__c1_PR_spare3:
+#if (LTE_RRC_VERSION < MAKE_VERSION(14, 0, 0))
+      case LTE_DL_DCCH_MessageType__c1_PR_spare4:
 #endif
         break;
 
@@ -2789,13 +2789,13 @@ const char* SIBallowed( long value )
 const char* SIB2SoundingPresent( int value )
 {
   switch (value) {
-  case SoundingRS_UL_ConfigCommon_PR_NOTHING:
+  case LTE_SoundingRS_UL_ConfigCommon_PR_NOTHING:
     return "NOTHING";
 
-  case SoundingRS_UL_ConfigCommon_PR_release:
+  case LTE_SoundingRS_UL_ConfigCommon_PR_release:
     return "release";
 
-  case SoundingRS_UL_ConfigCommon_PR_setup:
+  case LTE_SoundingRS_UL_ConfigCommon_PR_setup:
     return "setup";
   }
 
@@ -2927,8 +2927,8 @@ int decode_BCCH_DLSCH_Message(
   const uint8_t                rsrq,
   const uint8_t                rsrp )
 {
-  BCCH_DL_SCH_Message_t *bcch_message = NULL;
-  SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
+  LTE_BCCH_DL_SCH_Message_t *bcch_message = NULL;
+  LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
   int i;
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_IN );
@@ -2944,7 +2944,7 @@ int decode_BCCH_DLSCH_Message(
   rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_RECEIVING_SIB );
 
   asn_dec_rval_t dec_rval = uper_decode_complete( NULL,
-                            &asn_DEF_BCCH_DL_SCH_Message,
+                            &asn_DEF_LTE_BCCH_DL_SCH_Message,
                             (void **)&bcch_message,
                             (const void *)Sdu,
                             Sdu_len );
@@ -2957,7 +2957,7 @@ int decode_BCCH_DLSCH_Message(
       printf("%02x ",Sdu[i]);
     printf("\n");
     // free the memory
-    SEQUENCE_free( &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message, 1 );
+    SEQUENCE_free( &asn_DEF_LTE_BCCH_DL_SCH_Message, (void*)bcch_message, 1 );
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_OUT );
     return -1;
   }
@@ -2977,7 +2977,7 @@ int decode_BCCH_DLSCH_Message(
     char        message_string[15000];
     size_t      message_string_size;
 
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
+    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
       MessageDef *msg_p;
 
       msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_BCCH, message_string_size + sizeof (IttiMsgText));
@@ -2990,16 +2990,16 @@ int decode_BCCH_DLSCH_Message(
 # endif
 #endif
 
-  if (bcch_message->message.present == BCCH_DL_SCH_MessageType_PR_c1) {
+  if (bcch_message->message.present == LTE_BCCH_DL_SCH_MessageType_PR_c1) {
     switch (bcch_message->message.choice.c1.present) {
-    case BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1:
+    case LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1:
       if ((ctxt_pP->frame % 2) == 0) {
         // even frame
         if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 0) {
-          SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
+          LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
           memcpy( (void*)sib1,
                   (void*)&bcch_message->message.choice.c1.choice.systemInformationBlockType1,
-                  sizeof(SystemInformationBlockType1_t) );
+                  sizeof(LTE_SystemInformationBlockType1_t) );
           LOG_D( RRC, "[UE %"PRIu8"] Decoding First SIB1\n", ctxt_pP->module_id );
 
           decode_SIB1( ctxt_pP, eNB_index, rsrq, rsrp );
@@ -3008,14 +3008,14 @@ int decode_BCCH_DLSCH_Message(
 
       break;
 
-    case BCCH_DL_SCH_MessageType__c1_PR_systemInformation:
+    case LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformation:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 1) {
         // SIB1 with schedulingInfoList is available
 
-        SystemInformation_t* si = UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
+        LTE_SystemInformation_t* si = UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
         memcpy( si,
                 &bcch_message->message.choice.c1.choice.systemInformation,
-                sizeof(SystemInformation_t) );
+                sizeof(LTE_SystemInformation_t) );
 
         LOG_I( RRC, "[UE %"PRIu8"] Decoding SI for frameP %"PRIu32"\n",
                ctxt_pP->module_id,
@@ -3027,7 +3027,7 @@ int decode_BCCH_DLSCH_Message(
 
       break;
 
-    case BCCH_DL_SCH_MessageType__c1_PR_NOTHING:
+    case LTE_BCCH_DL_SCH_MessageType__c1_PR_NOTHING:
     default:
       break;
     }
@@ -3054,13 +3054,13 @@ int decode_PCCH_DLSCH_Message(
   uint8_t*               const Sdu,
   const uint8_t                Sdu_len)
 {
-  PCCH_Message_t *pcch_message = NULL;
+  LTE_PCCH_Message_t *pcch_message = NULL;
   int i;
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_PCCH, VCD_FUNCTION_IN );
 
   asn_dec_rval_t dec_rval = uper_decode_complete( NULL,
-                            &asn_DEF_PCCH_Message,
+                            &asn_DEF_LTE_PCCH_Message,
                             (void **)&pcch_message,
                             (const void *)Sdu,
                             Sdu_len );
@@ -3073,7 +3073,7 @@ int decode_PCCH_DLSCH_Message(
       printf("%02x ",Sdu[i]);
     printf("\n");
     // free the memory
-    SEQUENCE_free( &asn_DEF_PCCH_Message, (void*)pcch_message, 1 );
+    SEQUENCE_free( &asn_DEF_LTE_PCCH_Message, (void*)pcch_message, 1 );
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_PCCH, VCD_FUNCTION_OUT );
     return -1;
   }
@@ -3084,13 +3084,13 @@ int decode_PCCH_DLSCH_Message(
 //-----------------------------------------------------------------------------
 int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t rsrq, const uint8_t rsrp )
 {
-  SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
+  LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SIB1, VCD_FUNCTION_IN );
 
   LOG_I( RRC, "[UE %d] : Dumping SIB 1\n", ctxt_pP->module_id );
 
-  PLMN_Identity_t *PLMN_identity = &sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->plmn_Identity;
+  LTE_PLMN_Identity_t *PLMN_identity = &sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->plmn_Identity;
 
   int mccdigits = PLMN_identity->mcc->list.count;
   int mncdigits = PLMN_identity->mnc.list.count;
@@ -3196,29 +3196,29 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
 
   rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
-			(RadioResourceConfigCommonSIB_t *)NULL,
-			(struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			(SCellToAddMod_r10_t *)NULL,
+			(LTE_RadioResourceConfigCommonSIB_t *)NULL,
+			(struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			(LTE_SCellToAddMod_r10_t *)NULL,
 			//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			(MeasObjectToAddMod_t **)NULL,
-			(MAC_MainConfig_t *)NULL,
+			(LTE_MeasObjectToAddMod_t **)NULL,
+			(LTE_MAC_MainConfig_t *)NULL,
 			0,
-			(struct LogicalChannelConfig *)NULL,
-			(MeasGapConfig_t *)NULL,
+			(struct LTE_LogicalChannelConfig *)NULL,
+			(LTE_MeasGapConfig_t *)NULL,
 			UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->tdd_Config,
-			(MobilityControlInfo_t *) NULL,
+			(LTE_MobilityControlInfo_t *) NULL,
 			&UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIwindowsize,
 			&UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod,
 			NULL,
 			NULL,
 			NULL,
-			(MBSFN_SubframeConfigList_t *)NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			(LTE_MBSFN_SubframeConfigList_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			,0,
-			(MBSFN_AreaInfoList_r9_t *)NULL,
-			(PMCH_InfoList_r9_t *)NULL
+			(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+			(LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -3226,7 +3226,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 			0,
 			0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -3242,7 +3242,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
   {
     int cell_valid = 0;
 
-    if (sib1->cellAccessRelatedInfo.cellBarred == SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred) {
+    if (sib1->cellAccessRelatedInfo.cellBarred == LTE_SystemInformationBlockType1__cellAccessRelatedInfo__cellBarred_notBarred) {
       /* Cell is not barred */
       int plmn;
       int plmn_number;
@@ -3251,7 +3251,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 
       /* Compare requested PLMN and PLMNs from SIB1*/
       for (plmn = 0; plmn < plmn_number; plmn++) {
-        PLMN_Identity_t *plmn_Identity;
+        LTE_PLMN_Identity_t *plmn_Identity;
 
         plmn_Identity = &sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[plmn]->plmn_Identity;
 
@@ -3312,7 +3312,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 
 
 //-----------------------------------------------------------------------------
- void dump_sib2( SystemInformationBlockType2_t *sib2 )
+ void dump_sib2( LTE_SystemInformationBlockType2_t *sib2 )
 {
   // ac_BarringInfo
   if (sib2->ac_BarringInfo) {
@@ -3441,7 +3441,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present,
          SIB2SoundingPresent(sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present) );
 
-  if (sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present == SoundingRS_UL_ConfigCommon_PR_setup) {
+  if (sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present == LTE_SoundingRS_UL_ConfigCommon_PR_setup) {
     LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig                 : %ld\n",
            sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_BandwidthConfig );
     LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_SubframeConfig                  : %ld\n",
@@ -3480,7 +3480,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
   LOG_I( RRC, "radioResourceConfigCommon.ul_CyclicPrefixLength : %ld\n",
          sib2->radioResourceConfigCommon.ul_CyclicPrefixLength );
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 2, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 2, 0))
   // UplinkPowerControlCommon_v1020
   // ...
 #endif
@@ -3512,14 +3512,14 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 
   LOG_I( RRC, "timeAlignmentTimerCommon : %ld\n", sib2->timeAlignmentTimerCommon );
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   if (sib2->lateNonCriticalExtension) {
     LOG_I( RRC, "lateNonCriticalExtension : %p\n", sib2->lateNonCriticalExtension );
   } else
     LOG_I( RRC, "lateNonCriticalExtension : not defined\n" );
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   if (sib2->ext1 && sib2->ext1->ssac_BarringForMMTEL_Voice_r9) {
     LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor       : %ld\n",
            sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor );
@@ -3541,7 +3541,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
     LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9 : not defined\n" );
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   if (sib2->ext2 && sib2->ext2->ac_BarringForCSFB_r10) {
     LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringFactor       : %ld\n",
            sib2->ext2->ac_BarringForCSFB_r10->ac_BarringFactor );
@@ -3556,7 +3556,7 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 }
 
 //-----------------------------------------------------------------------------
- void dump_sib3( SystemInformationBlockType3_t *sib3 )
+ void dump_sib3( LTE_SystemInformationBlockType3_t *sib3 )
 {
   LOG_I( RRC, "Dumping SIB3 (see TS36.331 V8.21.0)\n" );
 
@@ -3703,11 +3703,11 @@ uint64_t arfcn_to_freq(long arfcn) {
     exit(1);
   }
 }
- void dump_sib5( SystemInformationBlockType5_t *sib5 )
+ void dump_sib5( LTE_SystemInformationBlockType5_t *sib5 )
 {
-  InterFreqCarrierFreqList_t interFreqCarrierFreqList = sib5->interFreqCarrierFreqList;
+  LTE_InterFreqCarrierFreqList_t interFreqCarrierFreqList = sib5->interFreqCarrierFreqList;
   int i,j;
-  InterFreqCarrierFreqInfo_t *ifcfInfo;
+  LTE_InterFreqCarrierFreqInfo_t *ifcfInfo;
 
   LOG_I( RRC, "Dumping SIB5 (see TS36.331 V8.21.0)\n" );
 
@@ -3729,22 +3729,22 @@ uint64_t arfcn_to_freq(long arfcn) {
     LOG_I(RRC,"   threshX_High : %ld\n",ifcfInfo->threshX_High);
     LOG_I(RRC,"   threshX_Low : %ld\n",ifcfInfo->threshX_Low);
     switch(ifcfInfo->allowedMeasBandwidth) {
-    case AllowedMeasBandwidth_mbw6:
+    case LTE_AllowedMeasBandwidth_mbw6:
       LOG_I(RRC,"   AllowedMeasBandwidth : 6\n");
       break;
-    case AllowedMeasBandwidth_mbw15:
+    case LTE_AllowedMeasBandwidth_mbw15:
       LOG_I(RRC,"   AllowedMeasBandwidth : 15\n");
       break;
-    case AllowedMeasBandwidth_mbw25:
+    case LTE_AllowedMeasBandwidth_mbw25:
       LOG_I(RRC,"   AllowedMeasBandwidth : 25\n");
       break;
-    case AllowedMeasBandwidth_mbw50:
+    case LTE_AllowedMeasBandwidth_mbw50:
       LOG_I(RRC,"   AllowedMeasBandwidth : 50\n");
       break;
-    case AllowedMeasBandwidth_mbw75:
+    case LTE_AllowedMeasBandwidth_mbw75:
       LOG_I(RRC,"   AllowedMeasBandwidth : 75\n");
       break;
-    case AllowedMeasBandwidth_mbw100:
+    case LTE_AllowedMeasBandwidth_mbw100:
       LOG_I(RRC,"   AllowedMeasBandwidth : 100\n");
       break;
     }
@@ -3782,7 +3782,7 @@ uint64_t arfcn_to_freq(long arfcn) {
 	}
       }
     }
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
     if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
       LOG_I(RRC,"   Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9);
 
@@ -3795,8 +3795,8 @@ uint64_t arfcn_to_freq(long arfcn) {
 
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
- void dump_sib13( SystemInformationBlockType13_r9_t *sib13 )
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+ void dump_sib13( LTE_SystemInformationBlockType13_r9_t *sib13 )
 {
   LOG_I( RRC, "[UE] Dumping SIB13\n" );
   LOG_I( RRC, "[UE] dumping sib13 second time\n" );
@@ -3808,7 +3808,7 @@ uint64_t arfcn_to_freq(long arfcn) {
 
 //TTN - SIB18
 //-----------------------------------------------------------------------------
- void dump_sib18(SystemInformationBlockType18_r12_t *sib18){
+ void dump_sib18(LTE_SystemInformationBlockType18_r12_t *sib18){
    LOG_I( RRC, "[UE] Dumping SIB18\n" );
    for (int i = 0; i < sib18->commConfig_r12->commRxPool_r12.list.count; i++) {
        LOG_I(RRC, " Contents of SIB18 %d/%d \n", i+1, sib18->commConfig_r12->commRxPool_r12.list.count);
@@ -3824,7 +3824,7 @@ uint64_t arfcn_to_freq(long arfcn) {
 
 //TTN -  SIB19
 //-----------------------------------------------------------------------------
- void dump_sib19(SystemInformationBlockType19_r12_t *sib19){
+ void dump_sib19(LTE_SystemInformationBlockType19_r12_t *sib19){
    LOG_I( RRC, "[UE] Dumping SIB19\n" );
    for (int i = 0; i < sib19->discConfig_r12->discRxPool_r12.list.count; i++) {
        LOG_I(RRC, " Contents of SIB19 %d/%d \n", i+1, sib19->discConfig_r12->discRxPool_r12.list.count);
@@ -3839,7 +3839,7 @@ uint64_t arfcn_to_freq(long arfcn) {
      }
 }
 
- void dump_sib21(SystemInformationBlockType21_r14_t *sib21){
+ void dump_sib21(LTE_SystemInformationBlockType21_r14_t *sib21){
     if ((sib21->sl_V2X_ConfigCommon_r14 != NULL) && (sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14 !=NULL) ){
        for (int i = 0; i < sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.count; i++) {
           LOG_I(RRC, " Contents of SIB21 %d/%d \n", i+1, sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.count);
@@ -3858,15 +3858,19 @@ uint64_t arfcn_to_freq(long arfcn) {
 //-----------------------------------------------------------------------------
  int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
 {
-  SystemInformation_t** si = &UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
+  LTE_SystemInformation_t** si = &UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
   int new_sib = 0;
-  SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
+  LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SI, VCD_FUNCTION_IN );
 
   // Dump contents
-  if ((*si)->criticalExtensions.present == SystemInformation__criticalExtensions_PR_systemInformation_r8 ||
-		  (*si)->criticalExtensions.present == SystemInformation__criticalExtensions_PR_criticalExtensionsFuture) {
+  if ((*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_systemInformation_r8 ||
+#if (LTE_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
+		  (*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_criticalExtensionsFuture_r15) {
+#else
+		  (*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_criticalExtensionsFuture) {
+#endif
     LOG_D( RRC, "[UE] (*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count %d\n",
            (*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count );
   } else {
@@ -3875,15 +3879,15 @@ uint64_t arfcn_to_freq(long arfcn) {
   }
 
   for (int i=0; i<(*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count; i++) {
-    struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *typeandinfo;
+    struct LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member *typeandinfo;
     typeandinfo = (*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.array[i];
 
     switch(typeandinfo->present) {
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=2;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index], &typeandinfo->choice.sib2, sizeof(SystemInformationBlockType2_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index], &typeandinfo->choice.sib2, sizeof(LTE_SystemInformationBlockType2_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB2 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
 	dump_sib2( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] );
 	LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB2 params  eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
@@ -3891,34 +3895,34 @@ uint64_t arfcn_to_freq(long arfcn) {
 
 	rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
 			      &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
-			      (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			      (SCellToAddMod_r10_t *)NULL,
+			      (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			      (LTE_SCellToAddMod_r10_t *)NULL,
 #endif
-			      (MeasObjectToAddMod_t **)NULL,
-			      (MAC_MainConfig_t *)NULL,
+			      (LTE_MeasObjectToAddMod_t **)NULL,
+			      (LTE_MAC_MainConfig_t *)NULL,
 			      0,
-			      (struct LogicalChannelConfig *)NULL,
-			      (MeasGapConfig_t *)NULL,
-			      (TDD_Config_t *)NULL,
-			      (MobilityControlInfo_t *)NULL,
+			      (struct LTE_LogicalChannelConfig *)NULL,
+			      (LTE_MeasGapConfig_t *)NULL,
+			      (LTE_TDD_Config_t *)NULL,
+			      (LTE_MobilityControlInfo_t *)NULL,
 			      NULL,
 			      NULL,
 			      UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_CarrierFreq,
 			      UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_Bandwidth,
 			      &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.additionalSpectrumEmission,
 			      UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->mbsfn_SubframeConfigList
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			      ,0,
-			      (MBSFN_AreaInfoList_r9_t *)NULL,
-			      (PMCH_InfoList_r9_t *)NULL
+			      (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+			      (LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
 			      ,0,
 			      0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -3926,7 +3930,7 @@ uint64_t arfcn_to_freq(long arfcn) {
 #endif
 			      );
 	// After SI is received, prepare RRCConnectionRequest
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
 	if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
 #endif
@@ -3968,142 +3972,140 @@ uint64_t arfcn_to_freq(long arfcn) {
       }
       break; // case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&4) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=4;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index], &typeandinfo->choice.sib3, sizeof(SystemInformationBlockType3_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index], &typeandinfo->choice.sib3, sizeof(LTE_SystemInformationBlockType3_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB3 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
 	dump_sib3( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index] );
 
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=8;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib4[eNB_index], &typeandinfo->choice.sib4, sizeof(SystemInformationBlockType4_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib4[eNB_index], &typeandinfo->choice.sib4, sizeof(LTE_SystemInformationBlockType4_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB4 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
 
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=16;
 	new_sib=1;
-
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index], &typeandinfo->choice.sib5, sizeof(SystemInformationBlockType5_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index], &typeandinfo->choice.sib5, sizeof(LTE_SystemInformationBlockType5_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB5 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
 	dump_sib5(UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index]);
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32;
 	new_sib=1;
 
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index], &typeandinfo->choice.sib6, sizeof(SystemInformationBlockType6_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index], &typeandinfo->choice.sib6, sizeof(LTE_SystemInformationBlockType6_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB6 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&64) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=64;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib7[eNB_index], &typeandinfo->choice.sib7, sizeof(SystemInformationBlockType7_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib7[eNB_index], &typeandinfo->choice.sib7, sizeof(LTE_SystemInformationBlockType7_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB7 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&128) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=128;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib8[eNB_index], &typeandinfo->choice.sib8, sizeof(SystemInformationBlockType8_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib8[eNB_index], &typeandinfo->choice.sib8, sizeof(LTE_SystemInformationBlockType8_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB8 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&256) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=256;
 	new_sib=1;
-
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index], &typeandinfo->choice.sib9, sizeof(SystemInformationBlockType9_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index], &typeandinfo->choice.sib9, sizeof(LTE_SystemInformationBlockType9_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB9 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&512) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=512;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index], &typeandinfo->choice.sib10, sizeof(SystemInformationBlockType10_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index], &typeandinfo->choice.sib10, sizeof(LTE_SystemInformationBlockType10_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB10 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1024) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=1024;
 	new_sib=1;
 
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index], &typeandinfo->choice.sib11, sizeof(SystemInformationBlockType11_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index], &typeandinfo->choice.sib11, sizeof(LTE_SystemInformationBlockType11_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB11 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 2, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 2, 0))
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=2048;
 	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index], &typeandinfo->choice.sib12_v920, sizeof(SystemInformationBlockType12_r9_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index], &typeandinfo->choice.sib12_v920, sizeof(LTE_SystemInformationBlockType12_r9_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB12 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
       }
       break;
 
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&4096) == 0) {
 	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=4096;
 	new_sib=1;
 
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index], &typeandinfo->choice.sib13_v920, sizeof(SystemInformationBlockType13_r9_t) );
+	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index], &typeandinfo->choice.sib13_v920, sizeof(LTE_SystemInformationBlockType13_r9_t) );
 	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB13 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
 	dump_sib13( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] );
 	// adding here function to store necessary parameters for using in decode_MCCH_Message + maybe transfer to PHY layer
 	LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB13 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
 	       ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
 	rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-			      (RadioResourceConfigCommonSIB_t *)NULL,
-			      (struct PhysicalConfigDedicated *)NULL,
-			      (SCellToAddMod_r10_t *)NULL,
-			      (MeasObjectToAddMod_t **)NULL,
-			      (MAC_MainConfig_t *)NULL,
+			      (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+			      (struct LTE_PhysicalConfigDedicated *)NULL,
+			      (LTE_SCellToAddMod_r10_t *)NULL,
+			      (LTE_MeasObjectToAddMod_t **)NULL,
+			      (LTE_MAC_MainConfig_t *)NULL,
 			      0,
-			      (struct LogicalChannelConfig *)NULL,
-			      (MeasGapConfig_t *)NULL,
-			      (TDD_Config_t *)NULL,
-			      (MobilityControlInfo_t *)NULL,
+			      (struct LTE_LogicalChannelConfig *)NULL,
+			      (LTE_MeasGapConfig_t *)NULL,
+			      (LTE_TDD_Config_t *)NULL,
+			      (LTE_MobilityControlInfo_t *)NULL,
 			      NULL,
 			      NULL,
 			      NULL,
 			      NULL,
 			      NULL,
-			      (MBSFN_SubframeConfigList_t *)NULL,
+			      (LTE_MBSFN_SubframeConfigList_t *)NULL,
 			      0,
 			      &UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index]->mbsfn_AreaInfoList_r9,
-			      (PMCH_InfoList_r9_t *)NULL
+			      (LTE_PMCH_InfoList_r9_t *)NULL
 #ifdef CBA
 			      ,0,
 			      0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -4114,14 +4116,14 @@ uint64_t arfcn_to_freq(long arfcn) {
       }
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
       //SIB18
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250:
        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8192) == 0) {
           UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=8192;
           new_sib=1;
 
-          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index], &typeandinfo->choice.sib18_v1250, sizeof(SystemInformationBlockType18_r12_t) );
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index], &typeandinfo->choice.sib18_v1250, sizeof(LTE_SystemInformationBlockType18_r12_t) );
           LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB18 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
           dump_sib18( UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] );
           // adding here function to store necessary parameters to transfer to PHY layer
@@ -4131,21 +4133,21 @@ uint64_t arfcn_to_freq(long arfcn) {
           //process SIB18 to transfer SL-related parameters to PHY
           rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
                 UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index],
-                (SystemInformationBlockType19_r12_t *)NULL,
-                (SL_CommConfig_r12_t *)NULL,
-                (SL_DiscConfig_r12_t *)NULL
+                (LTE_SystemInformationBlockType19_r12_t *)NULL,
+                (LTE_SL_CommConfig_r12_t *)NULL,
+                (LTE_SL_DiscConfig_r12_t *)NULL
           );
 
        }
        break;
 
        //SIB19
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250:
        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16384) == 0) {
           UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=16384;
           new_sib=1;
 
-          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index], &typeandinfo->choice.sib19_v1250, sizeof(SystemInformationBlockType19_r12_t) );
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index], &typeandinfo->choice.sib19_v1250, sizeof(LTE_SystemInformationBlockType19_r12_t) );
           LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB19 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
           dump_sib19( UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index] );
           // adding here function to store necessary parameters to transfer to PHY layer
@@ -4153,22 +4155,22 @@ uint64_t arfcn_to_freq(long arfcn) {
                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
           //process SIB19 to transfer SL-related parameters to PHY
           rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
-                (SystemInformationBlockType18_r12_t *)NULL,
+                (LTE_SystemInformationBlockType18_r12_t *)NULL,
                 UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index],
-                (SL_CommConfig_r12_t *)NULL,
-                (SL_DiscConfig_r12_t *)NULL
+                (LTE_SL_CommConfig_r12_t *)NULL,
+                (LTE_SL_DiscConfig_r12_t *)NULL
           );
 
        }
        break;
 
        //SIB21
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430:
+    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430:
        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32768) == 0) {
           UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32768;
           new_sib=1;
 
-          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index], &typeandinfo->choice.sib21_v1430, sizeof(SystemInformationBlockType21_r14_t) );
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index], &typeandinfo->choice.sib21_v1430, sizeof(LTE_SystemInformationBlockType21_r14_t) );
           LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB21 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
           dump_sib21( UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index] );
           // adding here function to store necessary parameters to transfer to PHY layer
@@ -4271,8 +4273,8 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   uint8_t             buffer[32], size;
   uint8_t             i;
   uint8_t             target_eNB_offset;
-  MeasId_t         measId;
-  PhysCellId_t      targetCellId;
+  LTE_MeasId_t        measId;
+  LTE_PhysCellId_t    targetCellId;
   long             rsrp_t,rsrq_t;
   long             rsrp_s,rsrq_s;
   long             nElem, nElem1;
@@ -4333,7 +4335,7 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
         LOG_I(RRC, "[UE %d] Frame %d : Generating Measurement Report for eNB %d\n",
               ctxt_pP->module_id, ctxt_pP->frame, eNB_index);
         result = pdcp_data_req(ctxt_pP,  SRB_FLAG_YES, DCCH, rrc_mui++, 0, size, buffer, PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,NULL, NULL
 #endif
                                );
@@ -4352,15 +4354,15 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
 void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
 {
   uint8_t               i,j;
-  Hysteresis_t     hys;
-  TimeToTrigger_t  ttt_ms;
-  Q_OffsetRange_t  ofn;
-  Q_OffsetRange_t  ocn;
-  Q_OffsetRange_t  ofs = 0;
-  Q_OffsetRange_t  ocs = 0;
+  LTE_Hysteresis_t     hys;
+  LTE_TimeToTrigger_t  ttt_ms;
+  LTE_Q_OffsetRange_t  ofn;
+  LTE_Q_OffsetRange_t  ocn;
+  LTE_Q_OffsetRange_t  ofs = 0;
+  LTE_Q_OffsetRange_t  ocs = 0;
   long             a3_offset;
-  MeasObjectId_t   measObjId;
-  ReportConfigId_t reportConfigId;
+  LTE_MeasObjectId_t   measObjId;
+  LTE_ReportConfigId_t reportConfigId;
 
   for(i=0 ; i<NB_CNX_UE ; i++) {
     for(j=0 ; j<MAX_MEAS_ID ; j++) {
@@ -4369,15 +4371,15 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
         reportConfigId = UE_rrc_inst[ctxt_pP->module_id].MeasId[i][j]->reportConfigId;
 
         if( /*UE_rrc_inst[ctxt_pP->module_id].MeasId[i][j] != NULL && */ UE_rrc_inst[ctxt_pP->module_id].MeasObj[i][measObjId-1] != NULL) {
-          if(UE_rrc_inst[ctxt_pP->module_id].MeasObj[i][measObjId-1]->measObject.present == MeasObjectToAddMod__measObject_PR_measObjectEUTRA) {
+          if(UE_rrc_inst[ctxt_pP->module_id].MeasObj[i][measObjId-1]->measObject.present == LTE_MeasObjectToAddMod__measObject_PR_measObjectEUTRA) {
             /* consider any neighboring cell detected on the associated frequency to be
              * applicable when the concerned cell is not included in the blackCellsToAddModList
              * defined within the VarMeasConfig for this measId */
             //    LOG_I(RRC,"event %d %d %p \n", measObjId,reportConfigId, UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]);
             if((UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1] != NULL) &&
-                (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]->reportConfig.present==ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA) &&
+                (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]->reportConfig.present == LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA) &&
                 (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]->reportConfig.choice.reportConfigEUTRA.triggerType.present ==
-                 ReportConfigEUTRA__triggerType_PR_event)) {
+                 LTE_ReportConfigEUTRA__triggerType_PR_event)) {
               hys = UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.hysteresis;
               ttt_ms = timeToTrigger_ms[UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId
                                         -1]->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger];
@@ -4390,17 +4392,17 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
                           -1]->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA3.a3_Offset;
 
               switch (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present) {
-              case ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1:
+              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1:
                 LOG_D(RRC,"[UE %d] Frame %d : A1 event: check if serving becomes better than threshold\n",
                       ctxt_pP->module_id, ctxt_pP->frame);
                 break;
 
-              case ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2:
+              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2:
                 LOG_D(RRC,"[UE %d] Frame %d : A2 event, check if serving becomes worse than a threshold\n",
                       ctxt_pP->module_id, ctxt_pP->frame);
                 break;
 
-              case ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3:
+              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3:
                 LOG_D(RRC,"[UE %d] Frame %d : A3 event: check if a neighboring cell becomes offset better than serving to trigger a measurement event \n",
                       ctxt_pP->module_id, ctxt_pP->frame);
 
@@ -4435,12 +4437,12 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
 
                 break;
 
-              case ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4:
+              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4:
                 LOG_D(RRC,"[UE %d] Frame %d : received an A4 event, neighbor becomes offset better than a threshold\n",
                       ctxt_pP->module_id, ctxt_pP->frame);
                 break;
 
-              case ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5:
+              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5:
                 LOG_D(RRC,"[UE %d] Frame %d: received an A5 event, serving becomes worse than threshold 1 and neighbor becomes better than threshold 2\n",
                       ctxt_pP->module_id, ctxt_pP->frame);
                 break;
@@ -4467,13 +4469,13 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
   uint8_t         eNB_index,
   uint8_t         ue_cnx_index,
   uint8_t         meas_index,
-  Q_OffsetRange_t ofn,
-  Q_OffsetRange_t ocn,
-  Hysteresis_t    hys,
-  Q_OffsetRange_t ofs,
-  Q_OffsetRange_t ocs,
+  LTE_Q_OffsetRange_t ofn,
+  LTE_Q_OffsetRange_t ocn,
+  LTE_Hysteresis_t    hys,
+  LTE_Q_OffsetRange_t ofs,
+  LTE_Q_OffsetRange_t ocs,
   long            a3_offset,
-  TimeToTrigger_t ttt )
+  LTE_TimeToTrigger_t ttt )
 {
   uint8_t eNB_offset;
   //  uint8_t currentCellIndex = frame_parms->Nid_cell;
@@ -4524,13 +4526,13 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
   return 0;
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 //-----------------------------------------------------------------------------
 int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t* const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area )
 {
 
-  MCCH_Message_t               *mcch=NULL;
-  MBSFNAreaConfiguration_r9_t** mcch_message=&UE_rrc_inst[ctxt_pP->module_id].mcch_message[eNB_index];
+  LTE_MCCH_Message_t               *mcch=NULL;
+  LTE_MBSFNAreaConfiguration_r9_t** mcch_message=&UE_rrc_inst[ctxt_pP->module_id].mcch_message[eNB_index];
 
   asn_dec_rval_t                dec_rval;
 
@@ -4542,7 +4544,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
     return 0; // avoid decoding to prevent memory bloating
   } else {
     dec_rval = uper_decode_complete(NULL,
-                                    &asn_DEF_MCCH_Message,
+                                    &asn_DEF_LTE_MCCH_Message,
                                     (void **)&mcch,
                                     (const void *)Sdu,
                                     Sdu_len);
@@ -4552,19 +4554,19 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
             ctxt_pP->module_id,
             dec_rval.consumed);
       //free the memory
-      SEQUENCE_free(&asn_DEF_MCCH_Message, (void*)mcch, 1);
+      SEQUENCE_free(&asn_DEF_LTE_MCCH_Message, (void*)mcch, 1);
       return -1;
     }
 
     if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-      xer_fprint(stdout, &asn_DEF_MCCH_Message, (void*)mcch);
+      xer_fprint(stdout, &asn_DEF_LTE_MCCH_Message, (void*)mcch);
     }
 
-    if (mcch->message.present == MCCH_MessageType_PR_c1) {
+    if (mcch->message.present == LTE_MCCH_MessageType_PR_c1) {
       LOG_D(RRC,"[UE %d] Found mcch message \n",
             ctxt_pP->module_id);
 
-      if(mcch->message.choice.c1.present == MCCH_MessageType__c1_PR_mbsfnAreaConfiguration_r9) {
+      if(mcch->message.choice.c1.present == LTE_MCCH_MessageType__c1_PR_mbsfnAreaConfiguration_r9) {
         /*
         memcpy((void*)*mcch_message,
          (void*)&mcch->message.choice.c1.choice.mbsfnAreaConfiguration_r9,
@@ -4617,29 +4619,29 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
   //  store to MAC/PHY necessary parameters for receiving MTCHs
 
   rrc_mac_config_req_ue(ue_mod_idP,0,eNB_index,
-			(RadioResourceConfigCommonSIB_t *)NULL,
-			(struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			(SCellToAddMod_r10_t *)NULL,
+			(LTE_RadioResourceConfigCommonSIB_t *)NULL,
+			(struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			(LTE_SCellToAddMod_r10_t *)NULL,
 			//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			(MeasObjectToAddMod_t **)NULL,
-			(MAC_MainConfig_t *)NULL,
+			(LTE_MeasObjectToAddMod_t **)NULL,
+			(LTE_MAC_MainConfig_t *)NULL,
 			0,
-			(struct LogicalChannelConfig *)NULL,
-			(MeasGapConfig_t *)NULL,
-			(TDD_Config_t *)NULL,
-			(MobilityControlInfo_t *)NULL,
+			(struct LTE_LogicalChannelConfig *)NULL,
+			(LTE_MeasGapConfig_t *)NULL,
+			(LTE_TDD_Config_t *)NULL,
+			(LTE_MobilityControlInfo_t *)NULL,
 			NULL,
 			NULL,
 			NULL,
 			NULL,
 			NULL,
-			(MBSFN_SubframeConfigList_t *)NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			(LTE_MBSFN_SubframeConfigList_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			,
 			0,
-			(MBSFN_AreaInfoList_r9_t *)NULL,
+			(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
 			&UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9
 
 #endif
@@ -4648,7 +4650,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
 			0,
 			0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
            ,
            0,
            NULL,
@@ -4664,12 +4666,12 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
   rrc_pdcp_config_asn1_req(&ctxt,
                            NULL, // SRB_ToAddModList
                            NULL, // DRB_ToAddModList
-                           (DRB_ToReleaseList_t*)NULL,
+                           (LTE_DRB_ToReleaseList_t*)NULL,
                            0, // security mode
                            NULL, // key rrc encryption
                            NULL, // key rrc integrity
                            NULL // key encryption
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                            ,&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
 #endif
                            ,NULL);
@@ -4678,7 +4680,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
                           NULL,// SRB_ToAddModList
                           NULL,// DRB_ToAddModList
                           NULL,// DRB_ToReleaseList
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                           &(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
                           , 0, 0
 #endif
@@ -4781,7 +4783,7 @@ void *rrc_ue_task( void *args_p )
                           RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
       break;
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
     case RRC_MAC_MCCH_DATA_IND:
       LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d, mbsfn SA %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
@@ -5213,7 +5215,7 @@ openair_rrc_top_init_ue(
       UE_rrc_inst[module_id].UECapability_size = UECap->sdu_size;
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     LOG_I(RRC,"[UE] eMBMS active state is %d \n", eMBMS_active);
 
     for (module_id=0; module_id<NB_UE_INST; module_id++) {
@@ -5222,7 +5224,7 @@ openair_rrc_top_init_ue(
 
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /* TODO: this is disabled for the moment because the standard UE
    * crashes when calling this function.
    */
@@ -5250,7 +5252,7 @@ rrc_top_cleanup_ue(
 
 
 //-----------------------------------------------------------------------------
-uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode)
+uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode)
 {
    uint8_t    size=0;
    uint8_t buffer[100];
@@ -5282,7 +5284,7 @@ uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt
 
 
 // 3GPP 36.331 (Section 5.10.7.3)
-uint8_t fill_SLSS(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, SLSSID_r12_t *slss_id, uint8_t *subframe, uint8_t mode)
+uint8_t fill_SLSS(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, LTE_SLSSID_r12_t *slss_id, uint8_t *subframe, uint8_t mode)
 {
    long syncOffsetIndicator = 0;
    switch(mode) {
@@ -5334,10 +5336,10 @@ void
 rrc_ue_process_sidelink_radioResourceConfig(
       module_id_t                      Mod_idP,
       uint8_t                          eNB_index,
-      SystemInformationBlockType18_r12_t     *sib18,
-      SystemInformationBlockType19_r12_t     *sib19,
-      SL_CommConfig_r12_t* sl_CommConfig,
-      SL_DiscConfig_r12_t* sl_DiscConfig
+      LTE_SystemInformationBlockType18_r12_t     *sib18,
+      LTE_SystemInformationBlockType19_r12_t     *sib19,
+      LTE_SL_CommConfig_r12_t* sl_CommConfig,
+      LTE_SL_DiscConfig_r12_t* sl_DiscConfig
 )
 //-----------------------------------------------------------------------------
 {
@@ -5377,8 +5379,8 @@ rrc_ue_process_sidelink_radioResourceConfig(
 
       if (sl_CommConfig->commTxResources_r12 != NULL) {
          switch (sl_CommConfig->commTxResources_r12->present){
-         case SL_CommConfig_r12__commTxResources_r12_PR_setup:
-            if (sl_CommConfig->commTxResources_r12->choice.setup.present == SL_CommConfig_r12__commTxResources_r12__setup_PR_scheduled_r12 ){
+         case LTE_SL_CommConfig_r12__commTxResources_r12_PR_setup:
+            if (sl_CommConfig->commTxResources_r12->choice.setup.present == LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_scheduled_r12 ){
 
                LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sl_RNTI size %lu  \n",
                      Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.size );
@@ -5390,7 +5392,7 @@ rrc_ue_process_sidelink_radioResourceConfig(
                      Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL );
                //configure scheduled resource for SL
                //TODO
-            } else if (sl_CommConfig->commTxResources_r12->choice.setup.present == SL_CommConfig_r12__commTxResources_r12__setup_PR_ue_Selected_r12){
+            } else if (sl_CommConfig->commTxResources_r12->choice.setup.present == LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_ue_Selected_r12){
                //configure dedicated resources (commTxPoolNormalDedicated) for SL from which UE can autonomously select
                //sl_CommConfig->commTxResources_r12->choice.setup.choice.ue_Selected_r12.commTxPoolNormalDedicated_r12;
 
@@ -5401,11 +5403,11 @@ rrc_ue_process_sidelink_radioResourceConfig(
             }
             break;
 
-         case SL_CommConfig_r12__commTxResources_r12_PR_release:
+         case LTE_SL_CommConfig_r12__commTxResources_r12_PR_release:
             //release dedicated resources for SL communication
             break;
 
-         case SL_CommConfig_r12__commTxResources_r12_PR_NOTHING: /* No components present */
+         case LTE_SL_CommConfig_r12__commTxResources_r12_PR_NOTHING: /* No components present */
             break;
 
          default:
@@ -5421,21 +5423,21 @@ rrc_ue_process_sidelink_radioResourceConfig(
       if (sl_DiscConfig->discTxResources_r12 != NULL) {
 
          switch (sl_DiscConfig->discTxResources_r12->present) {
-         case SL_DiscConfig_r12__discTxResources_r12_PR_setup:
-            if (sl_DiscConfig->discTxResources_r12->choice.setup.present == SL_DiscConfig_r12__discTxResources_r12__setup_PR_scheduled_r12) {
+         case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_setup:
+            if (sl_DiscConfig->discTxResources_r12->choice.setup.present == LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_scheduled_r12) {
                //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discHoppingConfig_r12;
                //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discTF_IndexList_r12;
                //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discTxConfig_r12;
-            } else if (sl_DiscConfig->discTxResources_r12->choice.setup.present == SL_DiscConfig_r12__discTxResources_r12__setup_PR_ue_Selected_r12) {
+            } else if (sl_DiscConfig->discTxResources_r12->choice.setup.present == LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_ue_Selected_r12) {
                //sl_DiscConfig->discTxResources_r12->choice.setup.choice.ue_Selected_r12.discTxPoolDedicated_r12;
             } else {
                //SL_DiscConfig_r12__discTxResources_r12__setup_PR_NOTHING,   /* No components present */
             }
             break;
-         case SL_DiscConfig_r12__discTxResources_r12_PR_release:
+         case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_release:
             //release dedicated resources for SL discovery
             break;
-         case SL_DiscConfig_r12__discTxResources_r12_PR_NOTHING: /* No components present */
+         case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_NOTHING: /* No components present */
             break;
          default:
             break;
@@ -5445,20 +5447,20 @@ rrc_ue_process_sidelink_radioResourceConfig(
       //dedicated resources for transmitting PS related discovery
       if (sl_DiscConfig->ext2->discTxResourcesPS_r13 != NULL){
          switch (sl_DiscConfig->ext2->discTxResourcesPS_r13->present) {
-         case SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_setup:
-            if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_scheduled_r13) {
+         case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_setup:
+            if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_scheduled_r13) {
                //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.scheduled_r13.discHoppingConfig_r13;
                //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.scheduled_r13.discTxConfig_r13
-            } else if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_ue_Selected_r13) {
+            } else if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_ue_Selected_r13) {
                //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.ue_Selected_r13.discTxPoolPS_Dedicated_r13;
             } else {
                //SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_NOTHING, /* No components present */
             }
 
             break;
-         case SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_release:
+         case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_release:
             break;
-         case SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_NOTHING:
+         case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_NOTHING:
             /* No components present */
             break;
          default:
@@ -5468,7 +5470,7 @@ rrc_ue_process_sidelink_radioResourceConfig(
    }
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 //-----------------------------------------------------------
 void
 rrc_control_socket_init(){
@@ -5543,11 +5545,11 @@ void *rrc_control_socket_thread_fct(void *arg)
    uint8_t type;
    UE_RRC_INST *UE  = NULL;
    protocol_ctxt_t ctxt;
-   struct RLC_Config                  *DRB_rlc_config                   = NULL;
-   struct PDCP_Config                 *DRB_pdcp_config                  = NULL;
-   struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
-   struct LogicalChannelConfig        *DRB_lchan_config                 = NULL;
-   struct LogicalChannelConfig__ul_SpecificParameters  *DRB_ul_SpecificParameters = NULL;
+   struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
+   struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
+   struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
+   struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
+   struct LTE_LogicalChannelConfig__ul_SpecificParameters  *DRB_ul_SpecificParameters = NULL;
    long                               *logicalchannelgroup_drb          = NULL;
    int j = 0;
    int i = 0;
@@ -5639,7 +5641,7 @@ void *rrc_control_socket_thread_fct(void *arg)
          UE  = &UE_rrc_inst[module_id];
          PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
 
-         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct DRB_ToAddMod));
+         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
          UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
          UE->DRB_config[0][0]->drb_Identity =  3;
          UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
@@ -5648,23 +5650,23 @@ void *rrc_control_socket_thread_fct(void *arg)
          UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
          *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
 
-         DRB_rlc_config                   = CALLOC(1,sizeof(struct RLC_Config));
-         DRB_pdcp_config                  = CALLOC(1,sizeof(struct PDCP_Config));
-         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct PDCP_Config__rlc_UM));
-         DRB_lchan_config                 = CALLOC(1,sizeof(struct LogicalChannelConfig));
-         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LogicalChannelConfig__ul_SpecificParameters));
+         DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
+         DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
+         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
+         DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
+         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
          logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
 
-         DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+         DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
          UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
 
          DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
          UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
          DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-         *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+         *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
          DRB_pdcp_config->rlc_AM = NULL;
          DRB_pdcp_config->rlc_UM = NULL;
 
@@ -5672,54 +5674,54 @@ void *rrc_control_socket_thread_fct(void *arg)
          (void)PDCP_rlc_UM;
 
          DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-         PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-         DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+         PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+         DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
          UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
          DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
          DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
 
          DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-         DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+         DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
          //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
          DRB_ul_SpecificParameters->bucketSizeDuration =
-               LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+               LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
          // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
 
          *logicalchannelgroup_drb = 1;
          DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
 
-         UE->DRB_configList = CALLOC(1,sizeof(DRB_ToAddModList_t));
+         UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
          ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
 
          rrc_pdcp_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t *) NULL,
+               (LTE_SRB_ToAddModList_t *) NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*) NULL,
+               (LTE_DRB_ToReleaseList_t*) NULL,
                0xff, NULL, NULL, NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                ,NULL);
 
 
          rrc_rlc_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t*)NULL,
+               (LTE_SRB_ToAddModList_t*)NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,(PMCH_InfoList_r9_t *)NULL
+               (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               ,(LTE_PMCH_InfoList_r9_t *)NULL
                , 0, 0
 #endif
          );
 
          rrc_rlc_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t*)NULL,
+               (LTE_SRB_ToAddModList_t*)NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-               ,(PMCH_InfoList_r9_t *)NULL
+               (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+               ,(LTE_PMCH_InfoList_r9_t *)NULL
                , sourceL2Id, groupL2Id
 #endif
          );
@@ -5727,29 +5729,29 @@ void *rrc_control_socket_thread_fct(void *arg)
 
          //configure MAC with sourceL2Id/groupL2ID
          rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-               (RadioResourceConfigCommonSIB_t *)NULL,
-               (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               (SCellToAddMod_r10_t *)NULL,
+               (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+               (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               (LTE_SCellToAddMod_r10_t *)NULL,
                //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-               (MeasObjectToAddMod_t **)NULL,
-               (MAC_MainConfig_t *)NULL,
+               (LTE_MeasObjectToAddMod_t **)NULL,
+               (LTE_MAC_MainConfig_t *)NULL,
                3, //LCID
-               (struct LogicalChannelConfig *)NULL,
-               (MeasGapConfig_t *)NULL,
-               (TDD_Config_t *)NULL,
-               (MobilityControlInfo_t *)NULL,
+               (struct LTE_LogicalChannelConfig *)NULL,
+               (LTE_MeasGapConfig_t *)NULL,
+               (LTE_TDD_Config_t *)NULL,
+               (LTE_MobilityControlInfo_t *)NULL,
                NULL,
                NULL,
                NULL,
                NULL,
                NULL,
                NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                ,0,
-               (MBSFN_AreaInfoList_r9_t *)NULL,
-               (PMCH_InfoList_r9_t *)NULL
+               (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+               (LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -5757,7 +5759,7 @@ void *rrc_control_socket_thread_fct(void *arg)
                0,
                0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                ,CONFIG_ACTION_ADD,
                &sourceL2Id,
                &groupL2Id
@@ -5799,29 +5801,29 @@ void *rrc_control_socket_thread_fct(void *arg)
          sourceL2Id = UE_rrc_inst[module_id].sourceL2Id;
 
          rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-                    (RadioResourceConfigCommonSIB_t *)NULL,
-                    (struct PhysicalConfigDedicated *)NULL,
-         #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                    (SCellToAddMod_r10_t *)NULL,
+                    (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                    (struct LTE_PhysicalConfigDedicated *)NULL,
+         #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                    (LTE_SCellToAddMod_r10_t *)NULL,
                     //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
          #endif
-                    (MeasObjectToAddMod_t **)NULL,
-                    (MAC_MainConfig_t *)NULL,
+                    (LTE_MeasObjectToAddMod_t **)NULL,
+                    (LTE_MAC_MainConfig_t *)NULL,
                     0,
-                    (struct LogicalChannelConfig *)NULL,
-                    (MeasGapConfig_t *)NULL,
-                    (TDD_Config_t *)NULL,
-                    (MobilityControlInfo_t *)NULL,
+                    (struct LTE_LogicalChannelConfig *)NULL,
+                    (LTE_MeasGapConfig_t *)NULL,
+                    (LTE_TDD_Config_t *)NULL,
+                    (LTE_MobilityControlInfo_t *)NULL,
                     NULL,
                     NULL,
                     NULL,
                     NULL,
                     NULL,
                     NULL
-         #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+         #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                     ,0,
-                    (MBSFN_AreaInfoList_r9_t *)NULL,
-                    (PMCH_InfoList_r9_t *)NULL
+                    (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                    (LTE_PMCH_InfoList_r9_t *)NULL
 
          #endif
          #ifdef CBA
@@ -5829,7 +5831,7 @@ void *rrc_control_socket_thread_fct(void *arg)
                     0,
                     0
          #endif
-         #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+         #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                     ,CONFIG_ACTION_REMOVE,
                     &sourceL2Id,
                     &destinationL2Id
@@ -5887,7 +5889,7 @@ void *rrc_control_socket_thread_fct(void *arg)
          UE  = &UE_rrc_inst[module_id];
          PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
 
-         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct DRB_ToAddMod));
+         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
          UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
          UE->DRB_config[0][0]->drb_Identity =  3;
          UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
@@ -5896,23 +5898,23 @@ void *rrc_control_socket_thread_fct(void *arg)
          UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
          *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
 
-         DRB_rlc_config                   = CALLOC(1,sizeof(struct RLC_Config));
-         DRB_pdcp_config                  = CALLOC(1,sizeof(struct PDCP_Config));
-         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct PDCP_Config__rlc_UM));
-         DRB_lchan_config                 = CALLOC(1,sizeof(struct LogicalChannelConfig));
-         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LogicalChannelConfig__ul_SpecificParameters));
+         DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
+         DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
+         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
+         DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
+         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
          logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
 
-         DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+         DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
          UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
 
          DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
          UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
          DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-         *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+         *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
          DRB_pdcp_config->rlc_AM = NULL;
          DRB_pdcp_config->rlc_UM = NULL;
 
@@ -5920,54 +5922,54 @@ void *rrc_control_socket_thread_fct(void *arg)
          (void)PDCP_rlc_UM;
 
          DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-         PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-         DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+         PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+         DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
          UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
          DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
          DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
 
          DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-         DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+         DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
          //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
          DRB_ul_SpecificParameters->bucketSizeDuration =
-               LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+               LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
          // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
 
          *logicalchannelgroup_drb = 1;
          DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
 
-         UE->DRB_configList = CALLOC(1,sizeof(DRB_ToAddModList_t));
+         UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
          ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
 
          rrc_pdcp_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t *) NULL,
+               (LTE_SRB_ToAddModList_t *) NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*) NULL,
+               (LTE_DRB_ToReleaseList_t*) NULL,
                0xff, NULL, NULL, NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                ,NULL);
 
 
          rrc_rlc_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t*)NULL,
+               (LTE_SRB_ToAddModList_t*)NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,(PMCH_InfoList_r9_t *)NULL
+               (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               ,(LTE_PMCH_InfoList_r9_t *)NULL
                , 0, 0
 #endif
          );
 
          rrc_rlc_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t*)NULL,
+               (LTE_SRB_ToAddModList_t*)NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-               ,(PMCH_InfoList_r9_t *)NULL
+               (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+               ,(LTE_PMCH_InfoList_r9_t *)NULL
                , sourceL2Id, destinationL2Id
 #endif
          );
@@ -5975,29 +5977,29 @@ void *rrc_control_socket_thread_fct(void *arg)
 
          //configure MAC with sourceL2Id/destinationL2Id
          rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-               (RadioResourceConfigCommonSIB_t *)NULL,
-               (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               (SCellToAddMod_r10_t *)NULL,
+               (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+               (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               (LTE_SCellToAddMod_r10_t *)NULL,
                //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-               (MeasObjectToAddMod_t **)NULL,
-               (MAC_MainConfig_t *)NULL,
+               (LTE_MeasObjectToAddMod_t **)NULL,
+               (LTE_MAC_MainConfig_t *)NULL,
                3, //LCID
-               (struct LogicalChannelConfig *)NULL,
-               (MeasGapConfig_t *)NULL,
-               (TDD_Config_t *)NULL,
-               (MobilityControlInfo_t *)NULL,
+               (struct LTE_LogicalChannelConfig *)NULL,
+               (LTE_MeasGapConfig_t *)NULL,
+               (LTE_TDD_Config_t *)NULL,
+               (LTE_MobilityControlInfo_t *)NULL,
                NULL,
                NULL,
                NULL,
                NULL,
                NULL,
                NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                ,0,
-               (MBSFN_AreaInfoList_r9_t *)NULL,
-               (PMCH_InfoList_r9_t *)NULL
+               (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+               (LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -6005,7 +6007,7 @@ void *rrc_control_socket_thread_fct(void *arg)
                0,
                0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                ,CONFIG_ACTION_ADD,
                &sourceL2Id,
                &destinationL2Id
@@ -6072,7 +6074,7 @@ void *rrc_control_socket_thread_fct(void *arg)
          UE  = &UE_rrc_inst[module_id];
          PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
 
-         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct DRB_ToAddMod));
+         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
          UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
          UE->DRB_config[0][0]->drb_Identity =  10;
          UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
@@ -6081,23 +6083,23 @@ void *rrc_control_socket_thread_fct(void *arg)
          UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
          *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
 
-         DRB_rlc_config                   = CALLOC(1,sizeof(struct RLC_Config));
-         DRB_pdcp_config                  = CALLOC(1,sizeof(struct PDCP_Config));
-         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct PDCP_Config__rlc_UM));
-         DRB_lchan_config                 = CALLOC(1,sizeof(struct LogicalChannelConfig));
-         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LogicalChannelConfig__ul_SpecificParameters));
+         DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
+         DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
+         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
+         DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
+         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
          logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
 
-         DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+         DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
          UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
 
          DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
          UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
          DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-         *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+         *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
          DRB_pdcp_config->rlc_AM = NULL;
          DRB_pdcp_config->rlc_UM = NULL;
 
@@ -6105,44 +6107,44 @@ void *rrc_control_socket_thread_fct(void *arg)
          (void)PDCP_rlc_UM;
 
          DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-         PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-         DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+         PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+         DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
          UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
          DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
          DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
 
          DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-         DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+         DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
          //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
          DRB_ul_SpecificParameters->bucketSizeDuration =
-               LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+               LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
          // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
 
          *logicalchannelgroup_drb = 1;
          DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
 
-         UE->DRB_configList = CALLOC(1,sizeof(DRB_ToAddModList_t));
+         UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
          ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
 
          rrc_pdcp_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t *) NULL,
+               (LTE_SRB_ToAddModList_t *) NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*) NULL,
+               (LTE_DRB_ToReleaseList_t*) NULL,
                0xff, NULL, NULL, NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                ,NULL);
 
 
          rrc_rlc_config_asn1_req(&ctxt,
-               (SRB_ToAddModList_t*)NULL,
+               (LTE_SRB_ToAddModList_t*)NULL,
                UE->DRB_configList,
-               (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,(PMCH_InfoList_r9_t *)NULL
+               (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+               ,(LTE_PMCH_InfoList_r9_t *)NULL
                , 0, 0
 #endif
          );
@@ -6150,40 +6152,40 @@ void *rrc_control_socket_thread_fct(void *arg)
          //TX
          if (type > 0) {
             rrc_rlc_config_asn1_req(&ctxt,
-                  (SRB_ToAddModList_t*)NULL,
+                  (LTE_SRB_ToAddModList_t*)NULL,
                   UE->DRB_configList,
-                  (DRB_ToReleaseList_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-                  ,(PMCH_InfoList_r9_t *)NULL
+                  (LTE_DRB_ToReleaseList_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+                  ,(LTE_PMCH_InfoList_r9_t *)NULL
                   , sourceL2Id, destinationL2Id
 #endif
             );
 
             //configure MAC with sourceL2Id/groupL2ID
             rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-                  (RadioResourceConfigCommonSIB_t *)NULL,
-                  (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  (SCellToAddMod_r10_t *)NULL,
+                  (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                  (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                  (LTE_SCellToAddMod_r10_t *)NULL,
                   //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-                  (MeasObjectToAddMod_t **)NULL,
-                  (MAC_MainConfig_t *)NULL,
+                  (LTE_MeasObjectToAddMod_t **)NULL,
+                  (LTE_MAC_MainConfig_t *)NULL,
                   10, //LCID
-                  (struct LogicalChannelConfig *)NULL,
-                  (MeasGapConfig_t *)NULL,
-                  (TDD_Config_t *)NULL,
-                  (MobilityControlInfo_t *)NULL,
+                  (struct LTE_LogicalChannelConfig *)NULL,
+                  (LTE_MeasGapConfig_t *)NULL,
+                  (LTE_TDD_Config_t *)NULL,
+                  (LTE_MobilityControlInfo_t *)NULL,
                   NULL,
                   NULL,
                   NULL,
                   NULL,
                   NULL,
                   NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                   ,0,
-                  (MBSFN_AreaInfoList_r9_t *)NULL,
-                  (PMCH_InfoList_r9_t *)NULL
+                  (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                  (LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -6191,7 +6193,7 @@ void *rrc_control_socket_thread_fct(void *arg)
                   0,
                   0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                   ,CONFIG_ACTION_ADD,
                   &sourceL2Id,
                   &destinationL2Id
@@ -6200,29 +6202,29 @@ void *rrc_control_socket_thread_fct(void *arg)
          } else {//RX
             //configure MAC with sourceL2Id/groupL2ID
             rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-                  (RadioResourceConfigCommonSIB_t *)NULL,
-                  (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  (SCellToAddMod_r10_t *)NULL,
+                  (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                  (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                  (LTE_SCellToAddMod_r10_t *)NULL,
                   //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
-                  (MeasObjectToAddMod_t **)NULL,
-                  (MAC_MainConfig_t *)NULL,
+                  (LTE_MeasObjectToAddMod_t **)NULL,
+                  (LTE_MAC_MainConfig_t *)NULL,
                   10, //LCID
-                  (struct LogicalChannelConfig *)NULL,
-                  (MeasGapConfig_t *)NULL,
-                  (TDD_Config_t *)NULL,
-                  (MobilityControlInfo_t *)NULL,
+                  (struct LTE_LogicalChannelConfig *)NULL,
+                  (LTE_MeasGapConfig_t *)NULL,
+                  (LTE_TDD_Config_t *)NULL,
+                  (LTE_MobilityControlInfo_t *)NULL,
                   NULL,
                   NULL,
                   NULL,
                   NULL,
                   NULL,
                   NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                   ,0,
-                  (MBSFN_AreaInfoList_r9_t *)NULL,
-                  (PMCH_InfoList_r9_t *)NULL
+                  (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                  (LTE_PMCH_InfoList_r9_t *)NULL
 
 #endif
 #ifdef CBA
@@ -6230,7 +6232,7 @@ void *rrc_control_socket_thread_fct(void *arg)
                   0,
                   0
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                   ,CONFIG_ACTION_ADD,
                   &sourceL2Id,
                   NULL
diff --git a/openair2/RRC/LTE/rrc_defs.h b/openair2/RRC/LTE/rrc_defs.h
index c5ca527b442264a335df11a2c426acd496892afd..fd54ab589255eb330a84fe9aae1d53f321cf946e 100644
--- a/openair2/RRC/LTE/rrc_defs.h
+++ b/openair2/RRC/LTE/rrc_defs.h
@@ -170,30 +170,30 @@ void *send_UE_status_notification(void *);
 //#include <rtai.h>
 #endif
 
-#include "SystemInformationBlockType1.h"
-#include "SystemInformation.h"
-#include "RRCConnectionReconfiguration.h"
-#include "RRCConnectionReconfigurationComplete.h"
-#include "RRCConnectionSetup.h"
-#include "RRCConnectionSetupComplete.h"
-#include "RRCConnectionRequest.h"
-#include "RRCConnectionReestablishmentRequest.h"
-#include "BCCH-DL-SCH-Message.h"
-#include "SBCCH-SL-BCH-MessageType.h"
-#include "BCCH-BCH-Message.h"
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-#include "MCCH-Message.h"
-#include "MBSFNAreaConfiguration-r9.h"
+#include "LTE_SystemInformationBlockType1.h"
+#include "LTE_SystemInformation.h"
+#include "LTE_RRCConnectionReconfiguration.h"
+#include "LTE_RRCConnectionReconfigurationComplete.h"
+#include "LTE_RRCConnectionSetup.h"
+#include "LTE_RRCConnectionSetupComplete.h"
+#include "LTE_RRCConnectionRequest.h"
+#include "LTE_RRCConnectionReestablishmentRequest.h"
+#include "LTE_BCCH-DL-SCH-Message.h"
+#include "LTE_SBCCH-SL-BCH-MessageType.h"
+#include "LTE_BCCH-BCH-Message.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#include "LTE_MCCH-Message.h"
+#include "LTE_MBSFNAreaConfiguration-r9.h"
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "SCellToAddMod-r10.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#include "LTE_SCellToAddMod-r10.h"
 #endif
-#include "AS-Config.h"
-#include "AS-Context.h"
-#include "UE-EUTRA-Capability.h"
-#include "MeasResults.h"
-#if (RRC_VERSION >= MAKE_VERSION(12, 0, 0))
-#include "SidelinkUEInformation-r12.h"
+#include "LTE_AS-Config.h"
+#include "LTE_AS-Context.h"
+#include "LTE_UE-EUTRA-Capability.h"
+#include "LTE_MeasResults.h"
+#if (LTE_RRC_VERSION >= MAKE_VERSION(12, 0, 0))
+#include "LTE_SidelinkUEInformation-r12.h"
 #endif
 
 /* for ImsiMobileIdentity_t */
@@ -202,7 +202,7 @@ void *send_UE_status_notification(void *);
 /* correct Rel(8|10)/Rel14 differences
  * the code is in favor of Rel14, those defines do the translation
  */
-#if (RRC_VERSION < MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(14, 0, 0))
 #  define CipheringAlgorithm_r12_t e_SecurityAlgorithmConfig__cipheringAlgorithm
 #  define CipheringAlgorithm_r12_eea0 SecurityAlgorithmConfig__cipheringAlgorithm_eea0
 #  define CipheringAlgorithm_r12_eea1 SecurityAlgorithmConfig__cipheringAlgorithm_eea1
@@ -251,7 +251,7 @@ void *send_UE_status_notification(void *);
 #endif
 
 // This corrects something generated by asn1c which is different between Rel8 and Rel10
-#if (RRC_VERSION <= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION <= MAKE_VERSION(10, 0, 0))
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3
@@ -272,7 +272,7 @@ void *send_UE_status_notification(void *);
 #define NB_CNX_UE 2//MAX_MANAGED_RG_PER_MOBILE
 
 /*
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib12_v920
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920
 #endif
@@ -403,7 +403,7 @@ typedef struct UE_RRC_INFO_s {
   uint8_t SIB1systemInfoValueTag;
   uint32_t SIStatus;
   uint32_t SIcnt;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
 #endif
   uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40
@@ -456,8 +456,8 @@ typedef struct HANDOVER_INFO_s {
   uint8_t modid_t; //module_idP of target cell
   uint8_t ueid_s; //UE index in serving cell
   uint8_t ueid_t; //UE index in target cell
-  AS_Config_t as_config; /* these two parameters are taken from 36.331 section 10.2.2: HandoverPreparationInformation-r8-IEs */
-  AS_Context_t as_context; /* They are mandatory for HO */
+  LTE_AS_Config_t as_config; /* these two parameters are taken from 36.331 section 10.2.2: HandoverPreparationInformation-r8-IEs */
+  LTE_AS_Context_t as_context; /* They are mandatory for HO */
   uint8_t buf[RRC_BUF_SIZE];  /* ASN.1 encoded handoverCommandMessage */
   int size;   /* size of above message in bytes */
 } HANDOVER_INFO;
@@ -501,44 +501,44 @@ typedef struct SRB_INFO_TABLE_ENTRY_s {
 } SRB_INFO_TABLE_ENTRY;
 
 typedef struct MEAS_REPORT_LIST_s {
-  MeasId_t measId;
+  LTE_MeasId_t measId;
   //CellsTriggeredList  cellsTriggeredList;//OPTIONAL
   uint32_t numberOfReportsSent;
 } MEAS_REPORT_LIST;
 
 typedef struct HANDOVER_INFO_UE_s {
-  PhysCellId_t targetCellId;
+  LTE_PhysCellId_t targetCellId;
   uint8_t measFlag;
 } HANDOVER_INFO_UE;
 
 typedef struct eNB_RRC_UE_s {
   uint8_t                            primaryCC_id;
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  SCellToAddMod_r10_t                sCell_config[2];
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  LTE_SCellToAddMod_r10_t            sCell_config[2];
 #endif
-  SRB_ToAddModList_t*                SRB_configList;
-  SRB_ToAddModList_t*                SRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
-  DRB_ToAddModList_t*                DRB_configList;
-  DRB_ToAddModList_t*                DRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
-  DRB_ToReleaseList_t*               DRB_Release_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
+  LTE_SRB_ToAddModList_t*            SRB_configList;
+  LTE_SRB_ToAddModList_t*            SRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
+  LTE_DRB_ToAddModList_t*            DRB_configList;
+  LTE_DRB_ToAddModList_t*            DRB_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
+  LTE_DRB_ToReleaseList_t*           DRB_Release_configList2[RRC_TRANSACTION_IDENTIFIER_NUMBER];
   uint8_t                            DRB_active[8];
-  struct PhysicalConfigDedicated*    physicalConfigDedicated;
-  struct SPS_Config*                 sps_Config;
-  MeasObjectToAddMod_t*              MeasObj[MAX_MEAS_OBJ];
-  struct ReportConfigToAddMod*       ReportConfig[MAX_MEAS_CONFIG];
-  struct QuantityConfig*             QuantityConfig;
-  struct MeasIdToAddMod*             MeasId[MAX_MEAS_ID];
-  MAC_MainConfig_t*                  mac_MainConfig;
-  MeasGapConfig_t*                   measGapConfig;
+  struct LTE_PhysicalConfigDedicated*    physicalConfigDedicated;
+  struct LTE_SPS_Config*             sps_Config;
+  LTE_MeasObjectToAddMod_t*          MeasObj[MAX_MEAS_OBJ];
+  struct LTE_ReportConfigToAddMod*   ReportConfig[MAX_MEAS_CONFIG];
+  struct LTE_QuantityConfig*         QuantityConfig;
+  struct LTE_MeasIdToAddMod*         MeasId[MAX_MEAS_ID];
+  LTE_MAC_MainConfig_t*              mac_MainConfig;
+  LTE_MeasGapConfig_t*               measGapConfig;
   SRB_INFO                           SI;
   SRB_INFO                           Srb0;
   SRB_INFO_TABLE_ENTRY               Srb1;
   SRB_INFO_TABLE_ENTRY               Srb2;
-  MeasConfig_t*                      measConfig;
+  LTE_MeasConfig_t*                  measConfig;
   HANDOVER_INFO*                     handover_info;
-  MeasResults_t*                     measResults;
+  LTE_MeasResults_t*                 measResults;
 
-  UE_EUTRA_Capability_t*             UE_Capability;
+  LTE_UE_EUTRA_Capability_t*         UE_Capability;
   ImsiMobileIdentity_t               imsi;
 
 #if defined(ENABLE_SECURITY)
@@ -549,8 +549,8 @@ typedef struct eNB_RRC_UE_s {
   int8_t  nh_ncc;
 #endif
   /* Used integrity/ciphering algorithms */
-  CipheringAlgorithm_r12_t                          ciphering_algorithm;
-  e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
+  LTE_CipheringAlgorithm_r12_t                          ciphering_algorithm;
+  e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
 
   uint8_t                            Status; // RRC status, type enum UE_STATE_t
   rnti_t                             rnti;
@@ -559,10 +559,10 @@ typedef struct eNB_RRC_UE_s {
 #if defined(ENABLE_ITTI)
   /* Information from UE RRC ConnectionRequest */
   UE_S_TMSI                          Initialue_identity_s_TMSI;
-  EstablishmentCause_t               establishment_cause;
+  LTE_EstablishmentCause_t           establishment_cause;
 
   /* Information from UE RRC ConnectionReestablishmentRequest */
-  ReestablishmentCause_t             reestablishment_cause;
+  LTE_ReestablishmentCause_t         reestablishment_cause;
 
   /* UE id for initial connection to S1AP */
   uint16_t                           ue_initial_id;
@@ -631,7 +631,7 @@ typedef struct {
   uint8_t                           sizeof_SIB1;
   uint8_t                           *SIB23;
   uint8_t                           sizeof_SIB23;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   uint8_t                           *SIB1_BR;
   uint8_t                           sizeof_SIB1_BR;
   uint8_t                           *SIB23_BR;
@@ -643,32 +643,32 @@ typedef struct {
   uint32_t                          dl_CarrierFreq;
   uint32_t                          ul_CarrierFreq;
   uint32_t                          pbch_repetition;
-  BCCH_BCH_Message_t                mib;
-  BCCH_DL_SCH_Message_t             siblock1;
-  BCCH_DL_SCH_Message_t             systemInformation;
-  //  SystemInformation_t               systemInformation;
-  SystemInformationBlockType1_t     *sib1;
-  SystemInformationBlockType2_t     *sib2;
-  SystemInformationBlockType3_t     *sib3;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-  SystemInformationBlockType1_t     *sib1_BR;
-  SystemInformationBlockType2_t     *sib2_BR;
-  SystemInformationBlockType2_t     *sib3_BR;
+  LTE_BCCH_BCH_Message_t            mib;
+  LTE_BCCH_DL_SCH_Message_t         siblock1;
+  LTE_BCCH_DL_SCH_Message_t         systemInformation;
+  //  SystemInformation_t           systemInformation;
+  LTE_SystemInformationBlockType1_t *sib1;
+  LTE_SystemInformationBlockType2_t *sib2;
+  LTE_SystemInformationBlockType3_t *sib3;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+  LTE_SystemInformationBlockType1_t *sib1_BR;
+  LTE_SystemInformationBlockType2_t *sib2_BR;
+  LTE_SystemInformationBlockType2_t *sib3_BR;
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-  SystemInformationBlockType13_r9_t *sib13;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+  LTE_SystemInformationBlockType13_r9_t *sib13;
   uint8_t                           MBMS_flag;
   uint8_t                           num_mbsfn_sync_area;
   uint8_t                           **MCCH_MESSAGE; //  MAX_MBSFN_AREA
   uint8_t                           sizeof_MCCH_MESSAGE[8];// MAX_MBSFN_AREA
-  MCCH_Message_t            mcch;
-  MBSFNAreaConfiguration_r9_t       *mcch_message;
+  LTE_MCCH_Message_t                mcch;
+  LTE_MBSFNAreaConfiguration_r9_t  *mcch_message;
   SRB_INFO                          MCCH_MESS[8];// MAX_MBSFN_AREA
 #endif
   //TTN - SIB 18,19,21 for D2D
-  SystemInformationBlockType18_r12_t *sib18;
-  SystemInformationBlockType19_r12_t *sib19;
-  SystemInformationBlockType21_r14_t *sib21;
+  LTE_SystemInformationBlockType18_r12_t *sib18;
+  LTE_SystemInformationBlockType19_r12_t *sib19;
+  LTE_SystemInformationBlockType21_r14_t *sib21;
   // End - TTN
   SRB_INFO                          SI;
   SRB_INFO                          Srb0;
@@ -717,7 +717,7 @@ typedef struct eNB_RRC_INST_s {
 typedef struct OAI_UECapability_s {
   uint8_t sdu[MAX_UE_CAPABILITY_SIZE];
   uint8_t sdu_size;
-  UE_EUTRA_Capability_t *UE_EUTRA_Capability;
+  LTE_UE_EUTRA_Capability_t *UE_EUTRA_Capability;
 } OAI_UECapability_t;
 
 typedef struct UE_RRC_INST_s {
@@ -742,28 +742,28 @@ typedef struct UE_RRC_INST_s {
   uint8_t sizeof_SI[NB_CNX_UE];
   uint8_t SIB1Status[NB_CNX_UE];
   uint8_t SIStatus[NB_CNX_UE];
-  SystemInformationBlockType1_t *sib1[NB_CNX_UE];
-  SystemInformation_t *si[NB_CNX_UE]; //!< Temporary storage for an SI message. Decoding happens in decode_SI().
-  SystemInformationBlockType2_t *sib2[NB_CNX_UE];
-  SystemInformationBlockType3_t *sib3[NB_CNX_UE];
-  SystemInformationBlockType4_t *sib4[NB_CNX_UE];
-  SystemInformationBlockType5_t *sib5[NB_CNX_UE];
-  SystemInformationBlockType6_t *sib6[NB_CNX_UE];
-  SystemInformationBlockType7_t *sib7[NB_CNX_UE];
-  SystemInformationBlockType8_t *sib8[NB_CNX_UE];
-  SystemInformationBlockType9_t *sib9[NB_CNX_UE];
-  SystemInformationBlockType10_t *sib10[NB_CNX_UE];
-  SystemInformationBlockType11_t *sib11[NB_CNX_UE];
+  LTE_SystemInformationBlockType1_t *sib1[NB_CNX_UE];
+  LTE_SystemInformation_t *si[NB_CNX_UE]; //!< Temporary storage for an SI message. Decoding happens in decode_SI().
+  LTE_SystemInformationBlockType2_t *sib2[NB_CNX_UE];
+  LTE_SystemInformationBlockType3_t *sib3[NB_CNX_UE];
+  LTE_SystemInformationBlockType4_t *sib4[NB_CNX_UE];
+  LTE_SystemInformationBlockType5_t *sib5[NB_CNX_UE];
+  LTE_SystemInformationBlockType6_t *sib6[NB_CNX_UE];
+  LTE_SystemInformationBlockType7_t *sib7[NB_CNX_UE];
+  LTE_SystemInformationBlockType8_t *sib8[NB_CNX_UE];
+  LTE_SystemInformationBlockType9_t *sib9[NB_CNX_UE];
+  LTE_SystemInformationBlockType10_t *sib10[NB_CNX_UE];
+  LTE_SystemInformationBlockType11_t *sib11[NB_CNX_UE];
   uint8_t                           *MIB;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   //SIB18
-  SystemInformationBlockType18_r12_t *sib18[NB_CNX_UE];
-  SystemInformationBlockType19_r12_t *sib19[NB_CNX_UE];
-  SystemInformationBlockType21_r14_t *sib21[NB_CNX_UE];
+  LTE_SystemInformationBlockType18_r12_t *sib18[NB_CNX_UE];
+  LTE_SystemInformationBlockType19_r12_t *sib19[NB_CNX_UE];
+  LTE_SystemInformationBlockType21_r14_t *sib21[NB_CNX_UE];
 
-  SBCCH_SL_BCH_MessageType_t   mib_sl[NB_CNX_UE];
+  LTE_SBCCH_SL_BCH_MessageType_t   mib_sl[NB_CNX_UE];
   /// Preconfiguration for Sidelink
-  struct SL_Preconfiguration_r12 *SL_Preconfiguration[NB_CNX_UE];
+  struct LTE_SL_Preconfiguration_r12 *SL_Preconfiguration[NB_CNX_UE];
   //source L2 Id
   uint32_t sourceL2Id;
   //group L2 Id
@@ -776,36 +776,36 @@ typedef struct UE_RRC_INST_s {
   SRB_INFO SL_Discovery[NB_CNX_UE];
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   uint8_t                           MBMS_flag;
   uint8_t *MCCH_MESSAGE[NB_CNX_UE];
   uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE];
   uint8_t MCCH_MESSAGEStatus[NB_CNX_UE];
-  MBSFNAreaConfiguration_r9_t       *mcch_message[NB_CNX_UE];
-  SystemInformationBlockType12_r9_t *sib12[NB_CNX_UE];
-  SystemInformationBlockType13_r9_t *sib13[NB_CNX_UE];
+  LTE_MBSFNAreaConfiguration_r9_t       *mcch_message[NB_CNX_UE];
+  LTE_SystemInformationBlockType12_r9_t *sib12[NB_CNX_UE];
+  LTE_SystemInformationBlockType13_r9_t *sib13[NB_CNX_UE];
 #endif
 #ifdef CBA
   uint8_t                         num_active_cba_groups;
   uint16_t                        cba_rnti[NUM_MAX_CBA_GROUP];
 #endif
   uint8_t                         num_srb;
-  struct SRB_ToAddMod             *SRB1_config[NB_CNX_UE];
-  struct SRB_ToAddMod             *SRB2_config[NB_CNX_UE];
-  struct DRB_ToAddMod             *DRB_config[NB_CNX_UE][8];
+  struct LTE_SRB_ToAddMod         *SRB1_config[NB_CNX_UE];
+  struct LTE_SRB_ToAddMod         *SRB2_config[NB_CNX_UE];
+  struct LTE_DRB_ToAddMod         *DRB_config[NB_CNX_UE][8];
   rb_id_t                         *defaultDRB; // remember the ID of the default DRB
-  MeasObjectToAddMod_t            *MeasObj[NB_CNX_UE][MAX_MEAS_OBJ];
-  struct ReportConfigToAddMod     *ReportConfig[NB_CNX_UE][MAX_MEAS_CONFIG];
-  struct QuantityConfig           *QuantityConfig[NB_CNX_UE];
-  struct MeasIdToAddMod           *MeasId[NB_CNX_UE][MAX_MEAS_ID];
-  MEAS_REPORT_LIST      *measReportList[NB_CNX_UE][MAX_MEAS_ID];
-  uint32_t           measTimer[NB_CNX_UE][MAX_MEAS_ID][6]; // 6 neighboring cells
-  RSRP_Range_t                    s_measure;
-  struct MeasConfig__speedStatePars *speedStatePars;
-  struct PhysicalConfigDedicated  *physicalConfigDedicated[NB_CNX_UE];
-  struct SPS_Config               *sps_Config[NB_CNX_UE];
-  MAC_MainConfig_t                *mac_MainConfig[NB_CNX_UE];
-  MeasGapConfig_t                 *measGapConfig[NB_CNX_UE];
+  LTE_MeasObjectToAddMod_t        *MeasObj[NB_CNX_UE][MAX_MEAS_OBJ];
+  struct LTE_ReportConfigToAddMod *ReportConfig[NB_CNX_UE][MAX_MEAS_CONFIG];
+  struct LTE_QuantityConfig       *QuantityConfig[NB_CNX_UE];
+  struct LTE_MeasIdToAddMod       *MeasId[NB_CNX_UE][MAX_MEAS_ID];
+  MEAS_REPORT_LIST                *measReportList[NB_CNX_UE][MAX_MEAS_ID];
+  uint32_t                        measTimer[NB_CNX_UE][MAX_MEAS_ID][6]; // 6 neighboring cells
+  LTE_RSRP_Range_t                s_measure;
+  struct LTE_MeasConfig__speedStatePars *speedStatePars;
+  struct LTE_PhysicalConfigDedicated  *physicalConfigDedicated[NB_CNX_UE];
+  struct LTE_SPS_Config           *sps_Config[NB_CNX_UE];
+  LTE_MAC_MainConfig_t            *mac_MainConfig[NB_CNX_UE];
+  LTE_MeasGapConfig_t             *measGapConfig[NB_CNX_UE];
   double                          filter_coeff_rsrp; // [7] ???
   double                          filter_coeff_rsrq; // [7] ???
   float                           rsrp_db[7];
@@ -820,12 +820,12 @@ typedef struct UE_RRC_INST_s {
 #endif
 
   /* Used integrity/ciphering algorithms */
-  CipheringAlgorithm_r12_t                          ciphering_algorithm;
-  e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
+  LTE_CipheringAlgorithm_r12_t                          ciphering_algorithm;
+  e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   /// Used for Sidelink Preconfiguration
-  DRB_ToAddModList_t *DRB_configList;
+  LTE_DRB_ToAddModList_t *DRB_configList;
 #endif
 } UE_RRC_INST;
 
diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index 240712aec4422435c4b7dea156be12a8abe9357d..d9ce73f038d0df052f70b911c29fe321a33ec5c1 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -44,29 +44,29 @@
 #include "common/utils/LOG/log.h"
 #include "COMMON/mac_rrc_primitives.h"
 #include "RRC/LTE/MESSAGES/asn1_msg.h"
-#include "RRCConnectionRequest.h"
-#include "RRCConnectionReestablishmentRequest.h"
+#include "LTE_RRCConnectionRequest.h"
+#include "LTE_RRCConnectionReestablishmentRequest.h"
 //#include "ReestablishmentCause.h"
-#include "BCCH-BCH-Message.h"
-#include "UL-CCCH-Message.h"
-#include "DL-CCCH-Message.h"
-#include "UL-DCCH-Message.h"
-#include "DL-DCCH-Message.h"
-#include "TDD-Config.h"
-#include "HandoverCommand.h"
+#include "LTE_BCCH-BCH-Message.h"
+#include "LTE_UL-CCCH-Message.h"
+#include "LTE_DL-CCCH-Message.h"
+#include "LTE_UL-DCCH-Message.h"
+#include "LTE_DL-DCCH-Message.h"
+#include "LTE_TDD-Config.h"
+#include "LTE_HandoverCommand.h"
 #include "rlc.h"
 #include "rrc_eNB_UE_context.h"
 #include "platform_types.h"
 #include "msc.h"
-#include "SL-CommConfig-r12.h"
-#include "PeriodicBSR-Timer-r12.h"
-#include "RetxBSR-Timer-r12.h"
+#include "LTE_SL-CommConfig-r12.h"
+#include "LTE_PeriodicBSR-Timer-r12.h"
+#include "LTE_RetxBSR-Timer-r12.h"
 #include "common/utils/LOG/vcd_signal_dumper.h"
 
 #include "T.h"
 
-//#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "MeasResults.h"
+//#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#include "LTE_MeasResults.h"
 //#endif
 
 #include "RRC/NAS/nas_config.h"
@@ -148,12 +148,12 @@ init_SI(
 )
 //-----------------------------------------------------------------------------
 {
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   int                                 i;
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(13, 1, 0))
-  SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext=(SystemInformationBlockType1_v1310_IEs_t *)NULL;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 1, 0))
+  LTE_SystemInformationBlockType1_v1310_IEs_t *sib1_v13ext=(LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL;
 #endif
 
   LOG_D(RRC,"%s()\n\n\n\n",__FUNCTION__);
@@ -165,7 +165,7 @@ init_SI(
   RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp             = configuration->prefix_type[CC_id];
   RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq  = configuration->downlink_frequency[CC_id];
   RC.rrc[ctxt_pP->module_id]->carrier[CC_id].ul_CarrierFreq  = configuration->downlink_frequency[CC_id]+ configuration->uplink_frequency_offset[CC_id];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition = configuration->pbch_repetition[CC_id];
 #endif
   LOG_I(RRC, "Configuring MIB (N_RB_DL %d,phich_Resource %d,phich_Duration %d)\n", 
@@ -246,7 +246,7 @@ init_SI(
 	RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->radioResourceConfigCommon.pusch_ConfigCommon.
 	ul_ReferenceSignalsPUSCH.cyclicShift);
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag > 0) {
     for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.count; i++) {
@@ -267,7 +267,7 @@ init_SI(
 	    RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset);
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
     //   SIB13
     for (i = 0; i < RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.count; i++) {
       LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN sync area %d/%d (partial)\n",
@@ -360,7 +360,7 @@ init_SI(
 	PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n",
 	PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
 
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
   if ((RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib.message.schedulingInfoSIB1_BR_r13>0) && 
       (RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR!=NULL)) {
       AssertFatal(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_BR->nonCriticalExtension!=NULL,
@@ -385,48 +385,48 @@ init_SI(
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Ncp,
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1->freqBandIndicator,
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].dl_CarrierFreq,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].pbch_repetition,
 #endif
 			 0, // rnti
-			 (BCCH_BCH_Message_t *)
+			 (LTE_BCCH_BCH_Message_t *)
 			 &RC.rrc[ctxt_pP->module_id]->carrier[CC_id].mib,
-			 (RadioResourceConfigCommonSIB_t *) &
+			 (LTE_RadioResourceConfigCommonSIB_t *) &
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->radioResourceConfigCommon,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-			 (RadioResourceConfigCommonSIB_t *) &
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+			 (LTE_RadioResourceConfigCommonSIB_t *) &
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2_BR->radioResourceConfigCommon,
 #endif
-			 (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			 (SCellToAddMod_r10_t *)NULL,
-			 //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+			 (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			 (LTE_SCellToAddMod_r10_t *)NULL,
+			 //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			 (MeasObjectToAddMod_t **) NULL,
-			 (MAC_MainConfig_t *) NULL, 0,
-			 (struct LogicalChannelConfig *)NULL,
-			 (MeasGapConfig_t *) NULL,
+			 (LTE_MeasObjectToAddMod_t **) NULL,
+			 (LTE_MAC_MainConfig_t *) NULL, 0,
+			 (struct LTE_LogicalChannelConfig *)NULL,
+			 (LTE_MeasGapConfig_t *) NULL,
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1->tdd_Config,
 			 NULL,
 			 &RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1->schedulingInfoList,
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].ul_CarrierFreq,
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->freqInfo.ul_Bandwidth,
 			 &RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->freqInfo.additionalSpectrumEmission,
-			 (MBSFN_SubframeConfigList_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			 (LTE_MBSFN_SubframeConfigList_t*) RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib2->mbsfn_SubframeConfigList
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			 ,
 			 RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag,
-			 (MBSFN_AreaInfoList_r9_t*) & RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9,
-			 (PMCH_InfoList_r9_t *) NULL
+			 (LTE_MBSFN_AreaInfoList_r9_t*) & RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib13->mbsfn_AreaInfoList_r9,
+			 (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 			 , 
 			 sib1_v13ext
 #endif
 			 );
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 /*------------------------------------------------------------------------------*/
 static void
 init_MCCH(
@@ -484,38 +484,38 @@ init_MCCH(
   //  LOG_I(RRC, "DUY: session ID is %d\n",RC.rrc[enb_mod_idP]->mcch_message->pmch_InfoList_r9.list.array[0]->mbms_SessionInfoList_r9.list.array[0]->sessionId_r9->buf[0]);
   rrc_mac_config_req_eNB(enb_mod_idP, CC_id,
 			 0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			 0,
 #endif
 			 0,//rnti
-			 (BCCH_BCH_Message_t *)NULL,
-			 (RadioResourceConfigCommonSIB_t *) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-			 (RadioResourceConfigCommonSIB_t *) NULL,
-#endif
-			 (struct PhysicalConfigDedicated *)NULL,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			 (SCellToAddMod_r10_t *)NULL,
-			 //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
-#endif
-			 (MeasObjectToAddMod_t **) NULL,
-			 (MAC_MainConfig_t *) NULL,
+			 (LTE_BCCH_BCH_Message_t *)NULL,
+			 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+			 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#endif
+			 (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			 (LTE_SCellToAddMod_r10_t *)NULL,
+			 //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
+#endif
+			 (LTE_MeasObjectToAddMod_t **) NULL,
+			 (LTE_MAC_MainConfig_t *) NULL,
 			 0,
-			 (struct LogicalChannelConfig *)NULL,
-			 (MeasGapConfig_t *) NULL,
-			 (TDD_Config_t *) NULL,
-			 (MobilityControlInfo_t *)NULL, 
-			 (SchedulingInfoList_t *) NULL, 
-			 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			 (struct LTE_LogicalChannelConfig *)NULL,
+			 (LTE_MeasGapConfig_t *) NULL,
+			 (LTE_TDD_Config_t *) NULL,
+			 (LTE_MobilityControlInfo_t *)NULL, 
+			 (LTE_SchedulingInfoList_t *) NULL, 
+			 0, NULL, NULL, (LTE_MBSFN_SubframeConfigList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 			 ,
 			 0,
-			 (MBSFN_AreaInfoList_r9_t *) NULL,
-			 (PMCH_InfoList_r9_t *) & (RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9)
+			 (LTE_MBSFN_AreaInfoList_r9_t *) NULL,
+			 (LTE_PMCH_InfoList_r9_t *) & (RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9)
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 			 ,
-			 (SystemInformationBlockType1_v1310_IEs_t *)NULL
+			 (LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL
 #endif
 			 );
   
@@ -541,25 +541,25 @@ static void init_MBMS(
     // Configuring PDCP and RLC for MBMS Radio Bearer
 
     rrc_pdcp_config_asn1_req(&ctxt,
-                             (SRB_ToAddModList_t  *)NULL,  // SRB_ToAddModList
-                             (DRB_ToAddModList_t  *)NULL,  // DRB_ToAddModList
-                             (DRB_ToReleaseList_t *)NULL,
+                             (LTE_SRB_ToAddModList_t  *)NULL,  // LTE_SRB_ToAddModList
+                             (LTE_DRB_ToAddModList_t  *)NULL,  // LTE_DRB_ToAddModList
+                             (LTE_DRB_ToReleaseList_t *)NULL,
                              0,     // security mode
                              NULL,  // key rrc encryption
                              NULL,  // key rrc integrity
                              NULL   // key encryption
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
                              , &(RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9)
 #endif
                              ,NULL);
 
     rrc_rlc_config_asn1_req(&ctxt,
-                            NULL, // SRB_ToAddModList
-                            NULL,   // DRB_ToAddModList
+                            NULL, // LTE_SRB_ToAddModList
+                            NULL,   // LTE_DRB_ToAddModList
                             NULL,   // DRB_ToReleaseList
                             &(RC.rrc[enb_mod_idP]->carrier[CC_id].mcch_message->pmch_InfoList_r9)
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                             ,0, 0
 #endif
                             );
@@ -715,13 +715,13 @@ rrc_eNB_free_mem_UE_context(
         PROTOCOL_RRC_CTXT_UE_FMT" Clearing UE context 0x%p (free internal structs)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
         ue_context_pP);
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[0]);
-  ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[1]);
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_LTE_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[0]);
+  ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_LTE_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[1]);
 #endif
 
   if (ue_context_pP->ue_context.SRB_configList) {
-    ASN_STRUCT_FREE(asn_DEF_SRB_ToAddModList, ue_context_pP->ue_context.SRB_configList);
+    ASN_STRUCT_FREE(asn_DEF_LTE_SRB_ToAddModList, ue_context_pP->ue_context.SRB_configList);
     ue_context_pP->ue_context.SRB_configList = NULL;
   }
 
@@ -733,7 +733,7 @@ rrc_eNB_free_mem_UE_context(
   }
 
   if (ue_context_pP->ue_context.DRB_configList) {
-    ASN_STRUCT_FREE(asn_DEF_DRB_ToAddModList, ue_context_pP->ue_context.DRB_configList);
+    ASN_STRUCT_FREE(asn_DEF_LTE_DRB_ToAddModList, ue_context_pP->ue_context.DRB_configList);
     ue_context_pP->ue_context.DRB_configList = NULL;
   }
 
@@ -751,45 +751,45 @@ rrc_eNB_free_mem_UE_context(
   memset(ue_context_pP->ue_context.DRB_active, 0, sizeof(ue_context_pP->ue_context.DRB_active));
 
   if (ue_context_pP->ue_context.physicalConfigDedicated) {
-    ASN_STRUCT_FREE(asn_DEF_PhysicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated);
+    ASN_STRUCT_FREE(asn_DEF_LTE_PhysicalConfigDedicated, ue_context_pP->ue_context.physicalConfigDedicated);
     ue_context_pP->ue_context.physicalConfigDedicated = NULL;
   }
 
   if (ue_context_pP->ue_context.sps_Config) {
-    ASN_STRUCT_FREE(asn_DEF_SPS_Config, ue_context_pP->ue_context.sps_Config);
+    ASN_STRUCT_FREE(asn_DEF_LTE_SPS_Config, ue_context_pP->ue_context.sps_Config);
     ue_context_pP->ue_context.sps_Config = NULL;
   }
 
   for (i=0; i < MAX_MEAS_OBJ; i++) {
     if (ue_context_pP->ue_context.MeasObj[i] != NULL) {
-      ASN_STRUCT_FREE(asn_DEF_MeasObjectToAddMod, ue_context_pP->ue_context.MeasObj[i]);
+      ASN_STRUCT_FREE(asn_DEF_LTE_MeasObjectToAddMod, ue_context_pP->ue_context.MeasObj[i]);
       ue_context_pP->ue_context.MeasObj[i] = NULL;
     }
   }
 
   for (i=0; i < MAX_MEAS_CONFIG; i++) {
     if (ue_context_pP->ue_context.ReportConfig[i] != NULL) {
-      ASN_STRUCT_FREE(asn_DEF_ReportConfigToAddMod, ue_context_pP->ue_context.ReportConfig[i]);
+      ASN_STRUCT_FREE(asn_DEF_LTE_ReportConfigToAddMod, ue_context_pP->ue_context.ReportConfig[i]);
       ue_context_pP->ue_context.ReportConfig[i] = NULL;
     }
   }
 
   if (ue_context_pP->ue_context.QuantityConfig) {
-    ASN_STRUCT_FREE(asn_DEF_QuantityConfig, ue_context_pP->ue_context.QuantityConfig);
+    ASN_STRUCT_FREE(asn_DEF_LTE_QuantityConfig, ue_context_pP->ue_context.QuantityConfig);
     ue_context_pP->ue_context.QuantityConfig = NULL;
   }
 
   if (ue_context_pP->ue_context.mac_MainConfig) {
-    ASN_STRUCT_FREE(asn_DEF_MAC_MainConfig, ue_context_pP->ue_context.mac_MainConfig);
+    ASN_STRUCT_FREE(asn_DEF_LTE_MAC_MainConfig, ue_context_pP->ue_context.mac_MainConfig);
     ue_context_pP->ue_context.mac_MainConfig = NULL;
   }
 
 /*  if (ue_context_pP->ue_context.measGapConfig) {
-    ASN_STRUCT_FREE(asn_DEF_MeasGapConfig, ue_context_pP->ue_context.measGapConfig);
+    ASN_STRUCT_FREE(asn_DEF_LTE_MeasGapConfig, ue_context_pP->ue_context.measGapConfig);
     ue_context_pP->ue_context.measGapConfig = NULL;
   }*/
     if (ue_context_pP->ue_context.handover_info) {
-      ASN_STRUCT_FREE(asn_DEF_Handover, ue_context_pP->ue_context.handover_info);
+      ASN_STRUCT_FREE(asn_DEF_LTE_Handover, ue_context_pP->ue_context.handover_info);
       ue_context_pP->ue_context.handover_info = NULL;
     }
 
@@ -798,12 +798,12 @@ rrc_eNB_free_mem_UE_context(
   //SRB_INFO_TABLE_ENTRY               Srb1;
   //SRB_INFO_TABLE_ENTRY               Srb2;
   if (ue_context_pP->ue_context.measConfig) {
-    ASN_STRUCT_FREE(asn_DEF_MeasConfig, ue_context_pP->ue_context.measConfig);
+    ASN_STRUCT_FREE(asn_DEF_LTE_MeasConfig, ue_context_pP->ue_context.measConfig);
     ue_context_pP->ue_context.measConfig = NULL;
   }
 
   if (ue_context_pP->ue_context.measConfig) {
-    ASN_STRUCT_FREE(asn_DEF_MeasConfig, ue_context_pP->ue_context.measConfig);
+    ASN_STRUCT_FREE(asn_DEF_LTE_MeasConfig, ue_context_pP->ue_context.measConfig);
     ue_context_pP->ue_context.measConfig = NULL;
   }
 
@@ -1030,7 +1030,7 @@ rrc_eNB_process_RRCConnectionSetupComplete(
 //-----------------------------------------------------------------------------
 {
   LOG_I(RRC,
-        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel UL-DCCH, " "processing RRCConnectionSetupComplete from UE (SRB1 Active)\n",
+        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel UL-DCCH, " "processing LTE_RRCConnectionSetupComplete from UE (SRB1 Active)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
 
   ue_context_pP->ue_context.Srb1.Active = 1;
@@ -1189,13 +1189,13 @@ rrc_eNB_generate_RRCConnectionReject(
     MSC_RRC_UE,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Header,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size,
-    MSC_AS_TIME_FMT" RRCConnectionReject UE %x size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionReject UE %x size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP == NULL ? -1 : ue_context_pP->ue_context.rnti,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 
   LOG_I(RRC,
-        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCConnectionReject (bytes %d)\n",
+        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReject (bytes %d)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
         RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 }
@@ -1209,9 +1209,9 @@ rrc_eNB_generate_RRCConnectionReestablishment(
 )
 //-----------------------------------------------------------------------------
 {
-  LogicalChannelConfig_t             *SRB1_logicalChannelConfig;
-  SRB_ToAddModList_t                 **SRB_configList;
-  SRB_ToAddMod_t                     *SRB1_config;
+  LTE_LogicalChannelConfig_t             *SRB1_logicalChannelConfig;
+  LTE_SRB_ToAddModList_t                 **SRB_configList;
+  LTE_SRB_ToAddMod_t                     *SRB1_config;
   int                                 cnt;
 
   T(T_ENB_RRC_CONNECTION_REESTABLISHMENT, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
@@ -1241,7 +1241,7 @@ rrc_eNB_generate_RRCConnectionReestablishment(
 
         if (SRB1_config->logicalChannelConfig) {
           if (SRB1_config->logicalChannelConfig->present ==
-              SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
+              LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
             SRB1_logicalChannelConfig = &SRB1_config->logicalChannelConfig->choice.explicitValue;
           } else {
             SRB1_logicalChannelConfig = &SRB1_logicalChannelConfig_defaultValue;
@@ -1256,34 +1256,34 @@ rrc_eNB_generate_RRCConnectionReestablishment(
         rrc_mac_config_req_eNB(ctxt_pP->module_id,
                            ue_context_pP->ue_context.primaryCC_id,
                            0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			 0,
 #endif
                            ctxt_pP->rnti,
-                           (BCCH_BCH_Message_t *) NULL, 
-                           (RadioResourceConfigCommonSIB_t *) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-                           (RadioResourceConfigCommonSIB_t *) NULL,
+                           (LTE_BCCH_BCH_Message_t *) NULL, 
+                           (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+                           (LTE_RadioResourceConfigCommonSIB_t *) NULL,
 #endif
-                           (struct PhysicalConfigDedicated* ) ue_context_pP->ue_context.physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                           (SCellToAddMod_r10_t *)NULL,
-                           //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+                           (struct LTE_PhysicalConfigDedicated* ) ue_context_pP->ue_context.physicalConfigDedicated,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                           (LTE_SCellToAddMod_r10_t *)NULL,
+                           //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-                           (MeasObjectToAddMod_t **) NULL,
+                           (LTE_MeasObjectToAddMod_t **) NULL,
                            ue_context_pP->ue_context.mac_MainConfig,
                            1,
                            SRB1_logicalChannelConfig,
                            ue_context_pP->ue_context.measGapConfig,
-                           (TDD_Config_t *) NULL,
+                           (LTE_TDD_Config_t *) NULL,
                            NULL,
-                           (SchedulingInfoList_t *) NULL,
-                           0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                           , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
+                           (LTE_SchedulingInfoList_t *) NULL,
+                           0, NULL, NULL, (LTE_MBSFN_SubframeConfigList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                           , 0, (LTE_MBSFN_AreaInfoList_r9_t *) NULL, (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
-                           ,(SystemInformationBlockType1_v1310_IEs_t *)NULL 
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+                           ,(LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL 
 #endif
         );
         break;
@@ -1295,13 +1295,13 @@ rrc_eNB_generate_RRCConnectionReestablishment(
                      MSC_RRC_UE,
                      RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Header,
                      RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size,
-                     MSC_AS_TIME_FMT" RRCConnectionReestablishment UE %x size %u",
+                     MSC_AS_TIME_FMT" LTE_RRCConnectionReestablishment UE %x size %u",
                      MSC_AS_TIME_ARGS(ctxt_pP),
                      ue_context_pP->ue_context.rnti,
                      RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 
   LOG_I(RRC,
-        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCConnectionReestablishment (bytes %d)\n",
+        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReestablishment (bytes %d)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
         RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 
@@ -1309,16 +1309,16 @@ rrc_eNB_generate_RRCConnectionReestablishment(
   if(UE_id != -1){
     // activate release timer, if RRCComplete not received after 100 frames, remove UE
     RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer = 1;
-    // remove UE after 100 frames after RRCConnectionReestablishmentRelease is triggered
+    // remove UE after 100 frames after LTE_RRCConnectionReestablishmentRelease is triggered
     RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer_thres = 1000;
   }else{
     LOG_E(RRC,
-             PROTOCOL_RRC_CTXT_UE_FMT" Generating RRCConnectionReestablishment without UE_id(MAC) rnti %x\n",
+             PROTOCOL_RRC_CTXT_UE_FMT" Generating LTE_RRCConnectionReestablishment without UE_id(MAC) rnti %x\n",
             PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ctxt_pP->rnti);
   }
   // activate release timer, if RRCComplete not received after 100 frames, remove UE
   ue_context_pP->ue_context.ue_reestablishment_timer = 1;
-  // remove UE after 100 frames after RRCConnectionReestablishmentRelease is triggered
+  // remove UE after 100 frames after LTE_RRCConnectionReestablishmentRelease is triggered
   ue_context_pP->ue_context.ue_reestablishment_timer_thres = 1000;
 }
 
@@ -1329,43 +1329,43 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
   const rnti_t reestablish_rnti,
   rrc_eNB_ue_context_t*         ue_context_pP,
   const uint8_t xid,
-  RRCConnectionReestablishmentComplete_r8_IEs_t * rrcConnectionReestablishmentComplete
+  LTE_RRCConnectionReestablishmentComplete_r8_IEs_t * LTE_RRCConnectionReestablishmentComplete
 )
 //-----------------------------------------------------------------------------
 {
   LOG_I(RRC,
-        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel UL-DCCH, processing RRCConnectionReestablishmentComplete from UE (SRB1 Active)\n",
+        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel UL-DCCH, processing LTE_RRCConnectionReestablishmentComplete from UE (SRB1 Active)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
 
   T(T_ENB_RRC_CONNECTION_REESTABLISHMENT_COMPLETE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
     T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
-  DRB_ToAddModList_t*                 DRB_configList = ue_context_pP->ue_context.DRB_configList;
-  SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
-  SRB_ToAddModList_t**                SRB_configList2 = NULL;
-  DRB_ToAddModList_t**                DRB_configList2 = NULL;
-  struct SRB_ToAddMod                *SRB2_config = NULL;
-  struct DRB_ToAddMod                *DRB_config = NULL;
+  LTE_DRB_ToAddModList_t*                 DRB_configList = ue_context_pP->ue_context.DRB_configList;
+  LTE_SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
+  LTE_SRB_ToAddModList_t**                SRB_configList2 = NULL;
+  LTE_DRB_ToAddModList_t**                DRB_configList2 = NULL;
+  struct LTE_SRB_ToAddMod                *SRB2_config = NULL;
+  struct LTE_DRB_ToAddMod                *DRB_config = NULL;
   int i = 0;
   uint8_t                             buffer[RRC_BUF_SIZE];
   uint16_t                            size;
-  MeasObjectToAddModList_t           *MeasObj_list                     = NULL;
-  MeasObjectToAddMod_t               *MeasObj                          = NULL;
-  ReportConfigToAddModList_t         *ReportConfig_list                = NULL;
-  ReportConfigToAddMod_t             *ReportConfig_per, *ReportConfig_A1,
+  LTE_MeasObjectToAddModList_t       *MeasObj_list                     = NULL;
+  LTE_MeasObjectToAddMod_t           *MeasObj                          = NULL;
+  LTE_ReportConfigToAddModList_t     *ReportConfig_list                = NULL;
+  LTE_ReportConfigToAddMod_t         *ReportConfig_per, *ReportConfig_A1,
                                      *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
-  MeasIdToAddModList_t               *MeasId_list                      = NULL;
-  MeasIdToAddMod_t                   *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
-  RSRP_Range_t                       *rsrp                             = NULL;
-  struct MeasConfig__speedStatePars  *Sparams                          = NULL;
-  QuantityConfig_t                   *quantityConfig                   = NULL;
-  CellsToAddMod_t                    *CellToAdd                        = NULL;
-  CellsToAddModList_t                *CellsToAddModList                = NULL;
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
-  DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
+  LTE_MeasIdToAddModList_t           *MeasId_list                      = NULL;
+  LTE_MeasIdToAddMod_t               *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
+  LTE_RSRP_Range_t                   *rsrp                             = NULL;
+  struct LTE_MeasConfig__speedStatePars  *Sparams                          = NULL;
+  LTE_QuantityConfig_t                   *quantityConfig                   = NULL;
+  LTE_CellsToAddMod_t                    *CellToAdd                        = NULL;
+  LTE_CellsToAddModList_t                *CellsToAddModList                = NULL;
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
+  LTE_DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
   /* for no gcc warnings */
   (void)dedicatedInfoNas;
-  C_RNTI_t                           *cba_RNTI                         = NULL;
+  LTE_C_RNTI_t                           *cba_RNTI                         = NULL;
   uint8_t next_xid = rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id);
 
   ue_context_pP->ue_context.Status = RRC_CONNECTED;
@@ -1432,7 +1432,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
     for (i = 0; (i < DRB_configList->list.count) && (i < 3); i++) {
       DRB_config = DRB_configList->list.array[i];
 
-      // Add DRB to DRB configuration list, for RRCConnectionReconfigurationComplete
+      // Add DRB to DRB configuration list, for LTE_RRCConnectionReconfigurationComplete
       ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config);
     }
   }
@@ -1535,7 +1535,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
   MeasId5->reportConfigId = 6;
   ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId5);
 
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list;
 
   // Add one EUTRA Measurement Object
   MeasObj_list = CALLOC(1, sizeof(*MeasObj_list));
@@ -1547,10 +1547,10 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
   memset((void *)MeasObj, 0, sizeof(*MeasObj));
 
   MeasObj->measObjectId = 1;
-  MeasObj->measObject.present = MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
+  MeasObj->measObject.present = LTE_MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
   MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 3350; //band 7, 2.68GHz
   //MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 36090; //band 33, 1.909GHz
-  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = AllowedMeasBandwidth_mbw25;
+  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = LTE_AllowedMeasBandwidth_mbw25;
   MeasObj->measObject.choice.measObjectEUTRA.presenceAntennaPort1 = 1;
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf = CALLOC(1, sizeof(uint8_t));
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf[0] = 0;
@@ -1559,22 +1559,22 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
   MeasObj->measObject.choice.measObjectEUTRA.offsetFreq = NULL;   // Default is 15 or 0dB
 
   MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList =
-    (CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
+    (LTE_CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
 
   CellsToAddModList = MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList;
 
   // Add adjacent cell lists (6 per eNB)
   for (i = 0; i < 6; i++) {
-    CellToAdd = (CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
+    CellToAdd = (LTE_CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
     CellToAdd->cellIndex = i + 1;
     CellToAdd->physCellId = get_adjacent_cell_id(ctxt_pP->module_id, i);
-    CellToAdd->cellIndividualOffset = Q_OffsetRange_dB0;
+    CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0;
 
     ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd);
   }
 
   ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj);
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
 
   // Report Configurations for periodical, A1-A5 events
   ReportConfig_list = CALLOC(1, sizeof(*ReportConfig_list));
@@ -1592,35 +1592,35 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
   ReportConfig_A5 = CALLOC(1, sizeof(*ReportConfig_A5));
 
   ReportConfig_per->reportConfigId = 1;
-  ReportConfig_per->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_per->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_periodical;
+    LTE_ReportConfigEUTRA__triggerType_PR_periodical;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.choice.periodical.purpose =
-    ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+    LTE_ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_per);
 
   ReportConfig_A1->reportConfigId = 2;
-  ReportConfig_A1->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A1->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA1.
-  a1_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+  a1_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA1.
   a1_Threshold.choice.threshold_RSRP = 10;
 
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A1);
 
@@ -1628,108 +1628,108 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
     LOG_I(RRC, "[eNB %d] frame %d: requesting A2, A3, A4, A5, and A6 event reporting\n",
           ctxt_pP->module_id, ctxt_pP->frame);
     ReportConfig_A2->reportConfigId = 3;
-    ReportConfig_A2->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A2->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA2.a2_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA2.a2_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA2.a2_Threshold.choice.threshold_RSRP = 10;
 
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A2);
 
     ReportConfig_A3->reportConfigId = 4;
-    ReportConfig_A3->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A3->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3;
 
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA3.a3_Offset = 1;   //10;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA3.reportOnLeave = 1;
 
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.hysteresis = 0.5; // FIXME ...hysteresis is of type long!
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger =
-      TimeToTrigger_ms40;
+      LTE_TimeToTrigger_ms40;
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A3);
 
     ReportConfig_A4->reportConfigId = 5;
-    ReportConfig_A4->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A4->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA4.a4_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA4.a4_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA4.a4_Threshold.choice.threshold_RSRP = 10;
 
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A4);
 
     ReportConfig_A5->reportConfigId = 6;
-    ReportConfig_A5->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A5->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA5.a5_Threshold1.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA5.a5_Threshold1.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA5.a5_Threshold2.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA5.a5_Threshold2.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA5.a5_Threshold1.choice.threshold_RSRP = 10;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA5.a5_Threshold2.choice.threshold_RSRP = 10;
 
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A5);
-    //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
+    //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
 
-    rsrp = CALLOC(1, sizeof(RSRP_Range_t));
+    rsrp = CALLOC(1, sizeof(LTE_RSRP_Range_t));
     *rsrp = 20;
 
     Sparams = CALLOC(1, sizeof(*Sparams));
-    Sparams->present = MeasConfig__speedStatePars_PR_setup;
-    Sparams->choice.setup.timeToTrigger_SF.sf_High = SpeedStateScaleFactors__sf_Medium_oDot75;
-    Sparams->choice.setup.timeToTrigger_SF.sf_Medium = SpeedStateScaleFactors__sf_High_oDot5;
+    Sparams->present = LTE_MeasConfig__speedStatePars_PR_setup;
+    Sparams->choice.setup.timeToTrigger_SF.sf_High = LTE_SpeedStateScaleFactors__sf_Medium_oDot75;
+    Sparams->choice.setup.timeToTrigger_SF.sf_Medium = LTE_SpeedStateScaleFactors__sf_High_oDot5;
     Sparams->choice.setup.mobilityStateParameters.n_CellChangeHigh = 10;
     Sparams->choice.setup.mobilityStateParameters.n_CellChangeMedium = 5;
-    Sparams->choice.setup.mobilityStateParameters.t_Evaluation = MobilityStateParameters__t_Evaluation_s60;
-    Sparams->choice.setup.mobilityStateParameters.t_HystNormal = MobilityStateParameters__t_HystNormal_s120;
+    Sparams->choice.setup.mobilityStateParameters.t_Evaluation = LTE_MobilityStateParameters__t_Evaluation_s60;
+    Sparams->choice.setup.mobilityStateParameters.t_HystNormal = LTE_MobilityStateParameters__t_HystNormal_s120;
 
     quantityConfig = CALLOC(1, sizeof(*quantityConfig));
     memset((void *)quantityConfig, 0, sizeof(*quantityConfig));
-    quantityConfig->quantityConfigEUTRA = CALLOC(1, sizeof(struct QuantityConfigEUTRA));
+    quantityConfig->quantityConfigEUTRA = CALLOC(1, sizeof(struct LTE_QuantityConfigEUTRA));
     memset((void *)quantityConfig->quantityConfigEUTRA, 0, sizeof(*quantityConfig->quantityConfigEUTRA));
     quantityConfig->quantityConfigCDMA2000 = NULL;
     quantityConfig->quantityConfigGERAN = NULL;
@@ -1738,8 +1738,8 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
       CALLOC(1, sizeof(*(quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP)));
     quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ =
       CALLOC(1, sizeof(*(quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ)));
-    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = FilterCoefficient_fc4;
-    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = FilterCoefficient_fc4;
+    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = LTE_FilterCoefficient_fc4;
+    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = LTE_FilterCoefficient_fc4;
 
     LOG_I(RRC,
           "[eNB %d] Frame %d: potential handover preparation: store the information in an intermediate structure in case of failure\n",
@@ -1747,19 +1747,19 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
     // store the information in an intermediate structure for Hanodver management
     //rrc_inst->handover_info.as_config.sourceRadioResourceConfig.srb_ToAddModList = CALLOC(1,sizeof());
     ue_context_pP->ue_context.handover_info = CALLOC(1, sizeof(*(ue_context_pP->ue_context.handover_info)));
-    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.srb_ToAddModList,(void *)SRB_list,sizeof(SRB_ToAddModList_t));
+    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.srb_ToAddModList,(void *)SRB_list,sizeof(LTE_SRB_ToAddModList_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.srb_ToAddModList = *SRB_configList2;
-    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.drb_ToAddModList,(void *)DRB_list,sizeof(DRB_ToAddModList_t));
+    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.drb_ToAddModList,(void *)DRB_list,sizeof(LTE_DRB_ToAddModList_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.drb_ToAddModList = DRB_configList;
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.drb_ToReleaseList = NULL;
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig =
       CALLOC(1, sizeof(*ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig));
     memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig,
-           (void *)ue_context_pP->ue_context.mac_MainConfig, sizeof(MAC_MainConfig_t));
+           (void *)ue_context_pP->ue_context.mac_MainConfig, sizeof(LTE_MAC_MainConfig_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.physicalConfigDedicated =
-      CALLOC(1, sizeof(PhysicalConfigDedicated_t));
+      CALLOC(1, sizeof(LTE_PhysicalConfigDedicated_t));
     memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.physicalConfigDedicated,
-           (void*)ue_context_pP->ue_context.physicalConfigDedicated, sizeof(PhysicalConfigDedicated_t));
+           (void*)ue_context_pP->ue_context.physicalConfigDedicated, sizeof(LTE_PhysicalConfigDedicated_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.sps_Config = NULL;
     //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.sps_Config,(void *)rrc_inst->sps_Config[ue_mod_idP],sizeof(SPS_Config_t));
 
@@ -1768,7 +1768,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
 #ifdef CBA
   //struct PUSCH_CBAConfigDedicated_vlola  *pusch_CBAConfigDedicated_vlola;
   uint8_t                            *cba_RNTI_buf;
-  cba_RNTI = CALLOC(1, sizeof(C_RNTI_t));
+  cba_RNTI = CALLOC(1, sizeof(LTE_C_RNTI_t));
   cba_RNTI_buf = CALLOC(1, 2 * sizeof(uint8_t));
   cba_RNTI->buf = cba_RNTI_buf;
   cba_RNTI->size = 2;
@@ -1793,17 +1793,17 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
 
 #if defined(ENABLE_ITTI)
   /* Initialize NAS list */
-  dedicatedInfoNASList = CALLOC(1, sizeof(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
+  dedicatedInfoNASList = CALLOC(1, sizeof(struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
 
   /* Add all NAS PDUs to the list */
   for (i = 0; i < ue_context_pP->ue_context.nb_of_e_rabs; i++) {
     if (ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer != NULL) {
-      dedicatedInfoNas = CALLOC(1, sizeof(DedicatedInfoNAS_t));
+      dedicatedInfoNas = CALLOC(1, sizeof(LTE_DedicatedInfoNAS_t));
       memset(dedicatedInfoNas, 0, sizeof(OCTET_STRING_t));
       OCTET_STRING_fromBuf(dedicatedInfoNas,
          (char*)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer,
                            ue_context_pP->ue_context.e_rab[i].param.nas_pdu.length);
-      LOG_D(RRC, "Add dedicatedInfoNas(%d) to dedicatedInfoNASList\n", i);
+      LOG_D(RRC, "Add LTE_DedicatedInfoNAS(%d) to LTE_DedicatedInfoNASList\n", i);
       ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas);
     }
 
@@ -1828,36 +1828,36 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
 
 #endif
 
-  // send RRCConnectionReconfiguration
+  // send LTE_RRCConnectionReconfiguration
   memset(buffer, 0, RRC_BUF_SIZE);
 
   size = do_RRCConnectionReconfiguration(ctxt_pP,
                                          buffer,
                                          next_xid,   //Transaction_id,
-                                         (SRB_ToAddModList_t*)*SRB_configList2, // SRB_configList
-                                         (DRB_ToAddModList_t*)DRB_configList,
-                                         (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                                         (struct SPS_Config*)NULL,    // maybe ue_context_pP->ue_context.sps_Config,
-                                         (struct PhysicalConfigDedicated*)ue_context_pP->ue_context.physicalConfigDedicated,
+                                         (LTE_SRB_ToAddModList_t*)*SRB_configList2, // SRB_configList
+                                         (LTE_DRB_ToAddModList_t*)DRB_configList,
+                                         (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                                         (struct LTE_SPS_Config*)NULL,    // maybe ue_context_pP->ue_context.sps_Config,
+                                         (struct LTE_PhysicalConfigDedicated*)ue_context_pP->ue_context.physicalConfigDedicated,
 #ifdef EXMIMO_IOT
                                          NULL, NULL, NULL,NULL,
 #else
-                                         (MeasObjectToAddModList_t*)MeasObj_list,  // MeasObj_list,
-                                         (ReportConfigToAddModList_t*)ReportConfig_list,  // ReportConfig_list,
-                                         (QuantityConfig_t*)quantityConfig,  //quantityConfig,
-                                         (MeasIdToAddModList_t*)NULL,
-#endif
-                                         (MAC_MainConfig_t*)ue_context_pP->ue_context.mac_MainConfig,
-                                         (MeasGapConfig_t*)NULL,
-                                         (MobilityControlInfo_t*)NULL,
-                                         (struct MeasConfig__speedStatePars*)Sparams, // Sparams,
-                                         (RSRP_Range_t*)rsrp, // rsrp,
-                                         (C_RNTI_t*)cba_RNTI,  // cba_RNTI
-                                         (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, //dedicatedInfoNASList
-                                         (SL_CommConfig_r12_t*)NULL,
-                                         (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                         , (SCellToAddMod_r10_t*)NULL
+                                         (LTE_MeasObjectToAddModList_t*)MeasObj_list,  // MeasObj_list,
+                                         (LTE_ReportConfigToAddModList_t*)ReportConfig_list,  // ReportConfig_list,
+                                         (LTE_QuantityConfig_t*)quantityConfig,  //quantityConfig,
+                                         (LTE_MeasIdToAddModList_t*)NULL,
+#endif
+                                         (LTE_MAC_MainConfig_t*)ue_context_pP->ue_context.mac_MainConfig,
+                                         (LTE_MeasGapConfig_t*)NULL,
+                                         (LTE_MobilityControlInfo_t*)NULL,
+                                         (struct LTE_MeasConfig__speedStatePars*)Sparams, // Sparams,
+                                         (LTE_RSRP_Range_t*)rsrp, // rsrp,
+                                         (LTE_C_RNTI_t*)cba_RNTI,  // cba_RNTI
+                                         (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList, //dedicatedInfoNASList
+                                         (LTE_SL_CommConfig_r12_t*)NULL,
+                                         (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                         , (LTE_SCellToAddMod_r10_t*)NULL
 #endif
                                         );
   LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)buffer,size,
@@ -1882,7 +1882,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
     return;
   }else{
     LOG_I(RRC,
-          "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
+          "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
           ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
     LOG_D(RRC,
@@ -1894,7 +1894,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
       MSC_RRC_UE,
       buffer,
       size,
-      MSC_AS_TIME_FMT" rrcConnectionReconfiguration UE %x MUI %d size %u",
+      MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
       MSC_AS_TIME_ARGS(ctxt_pP),
       ue_context_pP->ue_context.rnti,
       rrc_eNB_mui,
@@ -1968,7 +1968,7 @@ rrc_eNB_generate_RRCConnectionReestablishmentReject(
     RC.mac[ctxt_pP->module_id]->UE_list.UE_sched_ctrl[UE_id].ue_reestablishment_reject_timer_thres = 20;
   }else{
     LOG_E(RRC,
-            PROTOCOL_RRC_CTXT_UE_FMT" Generating RRCConnectionReestablishmentReject without UE_id(MAC) rnti %x\n",
+            PROTOCOL_RRC_CTXT_UE_FMT" Generating LTE_RRCConnectionReestablishmentReject without UE_id(MAC) rnti %x\n",
             PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ctxt_pP->rnti);
   }
 
@@ -1984,19 +1984,18 @@ rrc_eNB_generate_RRCConnectionReestablishmentReject(
               RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size,
               "[MSG] RRCConnectionReestablishmentReject\n");
 
-
   MSC_LOG_TX_MESSAGE(
     MSC_RRC_ENB,
     MSC_RRC_UE,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Header,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size,
-    MSC_AS_TIME_FMT" RRCConnectionReestablishmentReject UE %x size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionReestablishmentReject UE %x size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP == NULL ? -1 : ue_context_pP->ue_context.rnti,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 
   LOG_I(RRC,
-        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCConnectionReestablishmentReject (bytes %d)\n",
+        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReestablishmentReject (bytes %d)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
         RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 }
@@ -2022,7 +2021,6 @@ rrc_eNB_generate_RRCConnectionRelease(
     T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
   size = do_RRCConnectionRelease(ctxt_pP->module_id, buffer,rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id));
-
   ue_context_pP->ue_context.ue_reestablishment_timer = 0;
   ue_context_pP->ue_context.ue_release_timer = 0;
   ue_context_pP->ue_context.ue_rrc_inactivity_timer = 0;
@@ -2044,7 +2042,7 @@ rrc_eNB_generate_RRCConnectionRelease(
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" rrcConnectionRelease UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionRelease UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -2101,21 +2099,21 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
   uint16_t                            size;
   int i;
   
-  struct DRB_ToAddMod                *DRB_config                       = NULL;
-  struct RLC_Config                  *DRB_rlc_config                   = NULL;
-  struct PDCP_Config                 *DRB_pdcp_config                  = NULL;
-  struct PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
-  struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
-  struct LogicalChannelConfig        *DRB_lchan_config                 = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters
+  struct LTE_DRB_ToAddMod                *DRB_config                       = NULL;
+  struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
+  struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
+  struct LTE_PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
+  struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
+  struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters
     *DRB_ul_SpecificParameters        = NULL;
-  //  DRB_ToAddModList_t**                DRB_configList=&ue_context_pP->ue_context.DRB_configList; 
-  DRB_ToAddModList_t*                DRB_configList=ue_context_pP->ue_context.DRB_configList; 
-  DRB_ToAddModList_t**                DRB_configList2=NULL;
+  //  LTE_DRB_ToAddModList_t**                DRB_configList=&ue_context_pP->ue_context.DRB_configList; 
+  LTE_DRB_ToAddModList_t*                DRB_configList=ue_context_pP->ue_context.DRB_configList; 
+  LTE_DRB_ToAddModList_t**                DRB_configList2=NULL;
   //DRB_ToAddModList_t**                RRC_DRB_configList=&ue_context_pP->ue_context.DRB_configList;
 
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
-  DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
+  LTE_DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
   /* for no gcc warnings */
   (void)dedicatedInfoNas;
 
@@ -2130,7 +2128,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
   //*DRB_configList = CALLOC(1, sizeof(*DRB_configList));
   *DRB_configList2 = CALLOC(1, sizeof(**DRB_configList2)); 
   /* Initialize NAS list */
-  dedicatedInfoNASList = CALLOC(1, sizeof(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
+  dedicatedInfoNASList = CALLOC(1, sizeof(struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
 
   int e_rab_done=0;
   
@@ -2154,7 +2152,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     // allowed value 5..15, value : x+4
     *(DRB_config->eps_BearerIdentity) = ue_context_pP->ue_context.e_rab[i].param.e_rab_id;//+ 4; // especial case generation  
 
- //   DRB_config->drb_Identity =  1 + drb_identity_index + e_rab_done;// + i ;// (DRB_Identity_t) ue_context_pP->ue_context.e_rab[i].param.e_rab_id;
+ //   DRB_config->drb_Identity =  1 + drb_identity_index + e_rab_done;// + i ;// (LTE_DRB_Identity_t) ue_context_pP->ue_context.e_rab[i].param.e_rab_id;
     // 1 + drb_identiy_index;  
     DRB_config->drb_Identity = i+1;
 
@@ -2167,7 +2165,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
     DRB_config->pdcp_Config = DRB_pdcp_config;
     DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-    *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+    *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
     DRB_pdcp_config->rlc_AM = NULL;
     DRB_pdcp_config->rlc_UM = NULL;
 
@@ -2186,14 +2184,14 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     case 65: // 75ms, 10^-2, p0.7, mission critical voice, GBR
     case 66: // 100ms, 10^-2, p2, non-mission critical  voice , GBR
       // RLC 
-      DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-      DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+      DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+      DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
       // PDCP
       PDCP_rlc_UM = CALLOC(1, sizeof(*PDCP_rlc_UM));
       DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-      PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+      PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
       break;
       
       /*
@@ -2206,13 +2204,13 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     case 69: // 60ms, 10^-6, p0.5, mission critical delay sensitive data, Lowest Priority 
     case 70: // 200ms, 10^-6, p5.5, mision critical data 
       // RLC
-       DRB_rlc_config->present = RLC_Config_PR_am;
-       DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms50;
-       DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = PollPDU_p16;
-       DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = PollByte_kBinfinity;
-       DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8;
-       DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-       DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms25;
+       DRB_rlc_config->present = LTE_RLC_Config_PR_am;
+       DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms50;
+       DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p16;
+       DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kBinfinity;
+       DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
+       DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+       DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms25;
 
        // PDCP
        PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM));
@@ -2228,7 +2226,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
       continue;
     }
 
-    DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+    DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
     
     DRB_lchan_config = CALLOC(1, sizeof(*DRB_lchan_config));
     DRB_config->logicalChannelConfig = DRB_lchan_config;
@@ -2241,10 +2239,10 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     else 
       DRB_ul_SpecificParameters->priority= 4;
 
-    DRB_ul_SpecificParameters->prioritisedBitRate = LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8;
+    DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8;
       //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
     DRB_ul_SpecificParameters->bucketSizeDuration =
-      LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+      LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
     
     logicalchannelgroup_drb = CALLOC(1, sizeof(long));
     *logicalchannelgroup_drb = 1;//(i+1) % 3;
@@ -2269,7 +2267,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     
     {
       if (ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer != NULL) {
-	dedicatedInfoNas = CALLOC(1, sizeof(DedicatedInfoNAS_t));
+	dedicatedInfoNas = CALLOC(1, sizeof(LTE_DedicatedInfoNAS_t));
 	memset(dedicatedInfoNas, 0, sizeof(OCTET_STRING_t));
 	OCTET_STRING_fromBuf(dedicatedInfoNas, 
 			     (char*)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer,
@@ -2306,17 +2304,17 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
    size = do_RRCConnectionReconfiguration(ctxt_pP,
 					  buffer,
 					  xid,
-					  (SRB_ToAddModList_t*)NULL, 
-					  (DRB_ToAddModList_t*)*DRB_configList2,
-					  (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                                         (struct SPS_Config*)NULL,    // *sps_Config,
+					  (LTE_SRB_ToAddModList_t*)NULL, 
+					  (LTE_DRB_ToAddModList_t*)*DRB_configList2,
+					  (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                                         (struct LTE_SPS_Config*)NULL,    // *sps_Config,
 					  NULL, NULL, NULL, NULL,NULL,
 					  NULL, NULL,  NULL, NULL, NULL, NULL, 
-					  (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
-					  (SL_CommConfig_r12_t*)NULL,
-					  (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                         , (SCellToAddMod_r10_t*)NULL
+					  (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
+					  (LTE_SL_CommConfig_r12_t*)NULL,
+					  (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                         , (LTE_SCellToAddMod_r10_t*)NULL
 #endif
                                         );
  
@@ -2336,7 +2334,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
 #endif
 
  LOG_I(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE RNTI %x)\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE RNTI %x)\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   LOG_D(RRC,
@@ -2348,7 +2346,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" dedicated rrcConnectionReconfiguration UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" dedicated LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -2376,26 +2374,26 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   uint16_t                            size;
   int i, j;
 
-  struct DRB_ToAddMod                *DRB_config                       = NULL;
-  struct RLC_Config                  *DRB_rlc_config                   = NULL;
-  struct PDCP_Config                 *DRB_pdcp_config                  = NULL;
-  struct PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
-  struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
-  struct LogicalChannelConfig        *DRB_lchan_config                 = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters
+  struct LTE_DRB_ToAddMod                *DRB_config                       = NULL;
+  struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
+  struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
+  struct LTE_PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
+  struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
+  struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters
   *DRB_ul_SpecificParameters        = NULL;
-  DRB_ToAddModList_t*                 DRB_configList = ue_context_pP->ue_context.DRB_configList;
-  DRB_ToAddModList_t*                DRB_configList2 = NULL;
+  LTE_DRB_ToAddModList_t*                 DRB_configList = ue_context_pP->ue_context.DRB_configList;
+  LTE_DRB_ToAddModList_t*                DRB_configList2 = NULL;
 
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
-  DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
+  LTE_DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
   /* for no gcc warnings */
   (void)dedicatedInfoNas;
 
   uint8_t xid = rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id);   // Transaction_id,
   DRB_configList2 = CALLOC(1, sizeof(*DRB_configList2));
   /* Initialize NAS list */
-  dedicatedInfoNASList = CALLOC(1, sizeof(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
+  dedicatedInfoNASList = CALLOC(1, sizeof(struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
 
   for (i = 0; i < ue_context_pP->ue_context.nb_of_modify_e_rabs; i++) {
     // bypass the new and already configured erabs
@@ -2432,7 +2430,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     DRB_rlc_config = DRB_config->rlc_Config;
 
     DRB_pdcp_config = DRB_config->pdcp_Config;
-    *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+    *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
     switch (ue_context_pP->ue_context.modify_e_rab[i].param.qos.qci) {
     /*
      * type: realtime data with medium packer error rate
@@ -2447,10 +2445,10 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     case 65: // 75ms, 10^-2, p0.7, mission critical voice, GBR
     case 66: // 100ms, 10^-2, p2, non-mission critical  voice , GBR
       // RLC
-      DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-      DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+      DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+      DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+      DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
       // PDCP
       if (DRB_pdcp_config->rlc_AM) {
         free(DRB_pdcp_config->rlc_AM);
@@ -2462,7 +2460,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
       }
       PDCP_rlc_UM = CALLOC(1, sizeof(*PDCP_rlc_UM));
       DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-      PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+      PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
       break;
 
     /*
@@ -2475,13 +2473,13 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     case 69: // 60ms, 10^-6, p0.5, mission critical delay sensitive data, Lowest Priority
     case 70: // 200ms, 10^-6, p5.5, mision critical data
        // RLC
-       DRB_rlc_config->present = RLC_Config_PR_am;
-       DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms50;
-       DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = PollPDU_p16;
-       DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = PollByte_kBinfinity;
-       DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8;
-       DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-       DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms25;
+       DRB_rlc_config->present = LTE_RLC_Config_PR_am;
+       DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms50;
+       DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p16;
+       DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kBinfinity;
+       DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
+       DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+       DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms25;
 
        // PDCP
        if (DRB_pdcp_config->rlc_AM) {
@@ -2507,7 +2505,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
       continue;
     }
 
-    DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+    DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
     DRB_lchan_config = DRB_config->logicalChannelConfig;
     DRB_ul_SpecificParameters = DRB_lchan_config->ul_SpecificParameters;
@@ -2517,10 +2515,10 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     else
       DRB_ul_SpecificParameters->priority= 4;
 
-    DRB_ul_SpecificParameters->prioritisedBitRate = LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8;
+    DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8;
 
     DRB_ul_SpecificParameters->bucketSizeDuration =
-      LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+      LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
     ASN_SEQUENCE_ADD(&(DRB_configList2)->list, DRB_config);
 
@@ -2539,7 +2537,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 
     {
       if (ue_context_pP->ue_context.modify_e_rab[i].param.nas_pdu.buffer != NULL) {
-        dedicatedInfoNas = CALLOC(1, sizeof(DedicatedInfoNAS_t));
+        dedicatedInfoNas = CALLOC(1, sizeof(LTE_DedicatedInfoNAS_t));
         memset(dedicatedInfoNas, 0, sizeof(OCTET_STRING_t));
         OCTET_STRING_fromBuf(dedicatedInfoNas,
                  (char*)ue_context_pP->ue_context.modify_e_rab[i].param.nas_pdu.buffer,
@@ -2569,17 +2567,17 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
    size = do_RRCConnectionReconfiguration(ctxt_pP,
 					  buffer,
 					  xid,
-					  (SRB_ToAddModList_t*)NULL, 
-					  (DRB_ToAddModList_t*)DRB_configList2,
-					  (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                                         (struct SPS_Config*)NULL,    // *sps_Config,
+					  (LTE_SRB_ToAddModList_t*)NULL, 
+					  (LTE_DRB_ToAddModList_t*)DRB_configList2,
+					  (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                                         (struct LTE_SPS_Config*)NULL,    // *sps_Config,
 					  NULL, NULL, NULL, NULL,NULL,
 					  NULL, NULL,  NULL, NULL, NULL, NULL, 
-					  (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
-					  (SL_CommConfig_r12_t*)NULL,
-					  (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-					  , (SCellToAddMod_r10_t*)NULL
+					  (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
+					  (LTE_SL_CommConfig_r12_t*)NULL,
+					  (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+					  , (LTE_SCellToAddMod_r10_t*)NULL
 #endif
    	   	   	   	   	  );
 
@@ -2599,7 +2597,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 #endif
 
  LOG_I(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE RNTI %x)\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE RNTI %x)\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   LOG_D(RRC,
@@ -2611,7 +2609,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" dedicated rrcConnectionReconfiguration UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" dedicated LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -2640,9 +2638,9 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
     uint8_t                             buffer[RRC_BUF_SIZE];
     int                                 i;
     uint16_t                            size  = 0;
-    DRB_ToReleaseList_t**                DRB_Release_configList2=NULL;
-    DRB_Identity_t* DRB_release;
-    struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
+    LTE_DRB_ToReleaseList_t**                DRB_Release_configList2=NULL;
+    LTE_DRB_Identity_t* DRB_release;
+    struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
 
     DRB_Release_configList2=&ue_context_pP->ue_context.DRB_Release_configList2[xid];
     if (*DRB_Release_configList2) {
@@ -2652,7 +2650,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
 
     for(i = 0; i < NB_RB_MAX; i++){
         if((ue_context_pP->ue_context.e_rab[i].status == E_RAB_STATUS_TORELEASE) && ue_context_pP->ue_context.e_rab[i].xid == xid){
-            DRB_release = CALLOC(1, sizeof(DRB_Identity_t));
+            DRB_release = CALLOC(1, sizeof(LTE_DRB_Identity_t));
             *DRB_release = i+1;
             ASN_SEQUENCE_ADD(&(*DRB_Release_configList2)->list, DRB_release);
             //free(DRB_release);
@@ -2661,9 +2659,9 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
 
     /* If list is empty free the list and reset the address */
     if (nas_length > 0) {
-        DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
-        dedicatedInfoNASList = CALLOC(1, sizeof(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
-        dedicatedInfoNas = CALLOC(1, sizeof(DedicatedInfoNAS_t));
+        LTE_DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
+        dedicatedInfoNASList = CALLOC(1, sizeof(struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
+        dedicatedInfoNas = CALLOC(1, sizeof(LTE_DedicatedInfoNAS_t));
         memset(dedicatedInfoNas, 0, sizeof(OCTET_STRING_t));
                        OCTET_STRING_fromBuf(dedicatedInfoNas,
                               (char*)nas_buffer,
@@ -2680,7 +2678,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
                                     xid,
                                     NULL,
                                     NULL,
-                                    (DRB_ToReleaseList_t*)*DRB_Release_configList2,
+                                    (LTE_DRB_ToReleaseList_t*)*DRB_Release_configList2,
                                     NULL,
                                     NULL,
                                     NULL,
@@ -2693,11 +2691,11 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
                                     NULL,
                                     NULL,
                                     NULL,
-                                    (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
-                                    (SL_CommConfig_r12_t*)NULL,
-                                    (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                    , (SCellToAddMod_r10_t*)NULL
+                                    (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
+                                    (LTE_SL_CommConfig_r12_t*)NULL,
+                                    (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                    , (LTE_SCellToAddMod_r10_t*)NULL
 #endif
                                    );
     ue_context_pP->ue_context.e_rab_release_command_flag = 1;
@@ -2713,7 +2711,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
 #endif
 
   LOG_I(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE RNTI %x)\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE RNTI %x)\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   LOG_D(RRC,
@@ -2725,7 +2723,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(  const protocol_
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" dedicated rrcConnectionReconfiguration UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" dedicated LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -2754,37 +2752,37 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   uint16_t                            size;
   int                                 i;
 
-  // configure SRB1/SRB2, PhysicalConfigDedicated, MAC_MainConfig for UE
+  // configure SRB1/SRB2, PhysicalConfigDedicated, LTE_MAC_MainConfig for UE
   eNB_RRC_INST*                       rrc_inst = RC.rrc[ctxt_pP->module_id];
-  struct PhysicalConfigDedicated**    physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
+  struct LTE_PhysicalConfigDedicated**    physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
 
-  struct SRB_ToAddMod                *SRB2_config                      = NULL;
-  struct SRB_ToAddMod__rlc_Config    *SRB2_rlc_config                  = NULL;
-  struct SRB_ToAddMod__logicalChannelConfig *SRB2_lchan_config         = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters
+  struct LTE_SRB_ToAddMod                *SRB2_config                      = NULL;
+  struct LTE_SRB_ToAddMod__rlc_Config    *SRB2_rlc_config                  = NULL;
+  struct LTE_SRB_ToAddMod__logicalChannelConfig *SRB2_lchan_config         = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters
       *SRB2_ul_SpecificParameters       = NULL;
-  SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
-  SRB_ToAddModList_t                 **SRB_configList2                  = NULL;
-
-  struct DRB_ToAddMod                *DRB_config                       = NULL;
-  struct RLC_Config                  *DRB_rlc_config                   = NULL;
-  struct PDCP_Config                 *DRB_pdcp_config                  = NULL;
-  struct PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
-  struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
-  struct LogicalChannelConfig        *DRB_lchan_config                 = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters
+  LTE_SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
+  LTE_SRB_ToAddModList_t                 **SRB_configList2                  = NULL;
+
+  struct LTE_DRB_ToAddMod                *DRB_config                       = NULL;
+  struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
+  struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
+  struct LTE_PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
+  struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
+  struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters
       *DRB_ul_SpecificParameters        = NULL;
-  DRB_ToAddModList_t**                DRB_configList = &ue_context_pP->ue_context.DRB_configList;
-  DRB_ToAddModList_t**                DRB_configList2 = NULL;
-   MAC_MainConfig_t                   *mac_MainConfig                   = NULL;
-  MeasObjectToAddModList_t           *MeasObj_list                     = NULL;
-  MeasObjectToAddMod_t               *MeasObj                          = NULL;
-  ReportConfigToAddModList_t         *ReportConfig_list                = NULL;
-  ReportConfigToAddMod_t             *ReportConfig_per, *ReportConfig_A1,
+  LTE_DRB_ToAddModList_t**                DRB_configList = &ue_context_pP->ue_context.DRB_configList;
+  LTE_DRB_ToAddModList_t**                DRB_configList2 = NULL;
+  LTE_MAC_MainConfig_t                   *mac_MainConfig                   = NULL;
+  LTE_MeasObjectToAddModList_t           *MeasObj_list                     = NULL;
+  LTE_MeasObjectToAddMod_t               *MeasObj                          = NULL;
+  LTE_ReportConfigToAddModList_t         *ReportConfig_list                = NULL;
+  LTE_ReportConfigToAddMod_t             *ReportConfig_per, *ReportConfig_A1,
                                      *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
-  MeasIdToAddModList_t               *MeasId_list                      = NULL;
-  MeasIdToAddMod_t                   *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+  LTE_MeasIdToAddModList_t               *MeasId_list                      = NULL;
+  LTE_MeasIdToAddMod_t                   *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   long                               *sr_ProhibitTimer_r9              = NULL;
   //     uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
   //uint8_t                            sCellIndexToAdd = 0;
@@ -2793,24 +2791,24 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   long                               *logicalchannelgroup, *logicalchannelgroup_drb;
   long                               *maxHARQ_Tx, *periodicBSR_Timer;
 
-  RSRP_Range_t                       *rsrp                             = NULL;
-  struct MeasConfig__speedStatePars  *Sparams                          = NULL;
-  QuantityConfig_t                   *quantityConfig                   = NULL;
-  CellsToAddMod_t                    *CellToAdd                        = NULL;
-  CellsToAddModList_t                *CellsToAddModList                = NULL;
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
-  DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
+  LTE_RSRP_Range_t                       *rsrp                             = NULL;
+  struct LTE_MeasConfig__speedStatePars  *Sparams                          = NULL;
+  LTE_QuantityConfig_t                   *quantityConfig                   = NULL;
+  LTE_CellsToAddMod_t                    *CellToAdd                        = NULL;
+  LTE_CellsToAddModList_t                *CellsToAddModList                = NULL;
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
+  LTE_DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
   /* for no gcc warnings */
   (void)dedicatedInfoNas;
 
-  C_RNTI_t                           *cba_RNTI                         = NULL;
+  LTE_C_RNTI_t                           *cba_RNTI                         = NULL;
 
   uint8_t xid = rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id);   //Transaction_id,
 
 #ifdef CBA
   //struct PUSCH_CBAConfigDedicated_vlola  *pusch_CBAConfigDedicated_vlola;
   uint8_t                            *cba_RNTI_buf;
-  cba_RNTI = CALLOC(1, sizeof(C_RNTI_t));
+  cba_RNTI = CALLOC(1, sizeof(LTE_C_RNTI_t));
   cba_RNTI_buf = CALLOC(1, 2 * sizeof(uint8_t));
   cba_RNTI->buf = cba_RNTI_buf;
   cba_RNTI->size = 2;
@@ -2850,27 +2848,27 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   SRB2_rlc_config = CALLOC(1, sizeof(*SRB2_rlc_config));
   SRB2_config->rlc_Config = SRB2_rlc_config;
 
-  SRB2_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue;
-  SRB2_rlc_config->choice.explicitValue.present = RLC_Config_PR_am;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms15;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p8;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = PollByte_kB1000;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t32;
-  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms10;
+  SRB2_rlc_config->present = LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue;
+  SRB2_rlc_config->choice.explicitValue.present = LTE_RLC_Config_PR_am;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms15;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p8;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kB1000;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t32;
+  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms10;
 
   SRB2_lchan_config = CALLOC(1, sizeof(*SRB2_lchan_config));
   SRB2_config->logicalChannelConfig = SRB2_lchan_config;
 
-  SRB2_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
+  SRB2_lchan_config->present = LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
 
   SRB2_ul_SpecificParameters = CALLOC(1, sizeof(*SRB2_ul_SpecificParameters));
 
   SRB2_ul_SpecificParameters->priority = 3; // let some priority for SRB1 and dedicated DRBs
   SRB2_ul_SpecificParameters->prioritisedBitRate =
-    LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
   SRB2_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   // LCG for CCCH and DCCH is 0 as defined in 36331
   logicalchannelgroup = CALLOC(1, sizeof(long));
@@ -2907,37 +2905,37 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 
   DRB_config->eps_BearerIdentity = CALLOC(1, sizeof(long));
   *(DRB_config->eps_BearerIdentity) = 5L; // LW set to first value, allowed value 5..15, value : x+4
-  // DRB_config->drb_Identity = (DRB_Identity_t) 1; //allowed values 1..32
+  // DRB_config->drb_Identity = (LTE_DRB_Identity_t) 1; //allowed values 1..32
   // NN: this is the 1st DRB for this ue, so set it to 1
-  DRB_config->drb_Identity = (DRB_Identity_t) 1;  // (ue_mod_idP+1); //allowed values 1..32, value: x
+  DRB_config->drb_Identity = (LTE_DRB_Identity_t) 1;  // (ue_mod_idP+1); //allowed values 1..32, value: x
   DRB_config->logicalChannelIdentity = CALLOC(1, sizeof(long));
   *(DRB_config->logicalChannelIdentity) = (long)3; // value : x+2
   DRB_rlc_config = CALLOC(1, sizeof(*DRB_rlc_config));
   DRB_config->rlc_Config = DRB_rlc_config;
 
 #ifdef RRC_DEFAULT_RAB_IS_AM
-  DRB_rlc_config->present = RLC_Config_PR_am;
-  DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms50;
-  DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = PollPDU_p16;
-  DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = PollByte_kBinfinity;
-  DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8;
-  DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-  DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms25;
+  DRB_rlc_config->present = LTE_RLC_Config_PR_am;
+  DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms50;
+  DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p16;
+  DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kBinfinity;
+  DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
+  DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+  DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms25;
 #else
-  DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
+  DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
 #ifdef CBA
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering   = T_Reordering_ms5;//T_Reordering_ms25;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering   = LTE_T_Reordering_ms5;//T_Reordering_ms25;
 #else
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
 #endif
 #endif
 
   DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
   DRB_config->pdcp_Config = DRB_pdcp_config;
   DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-  *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+  *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
   DRB_pdcp_config->rlc_AM = NULL;
   DRB_pdcp_config->rlc_UM = NULL;
 
@@ -2952,9 +2950,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 #else
   PDCP_rlc_UM = CALLOC(1, sizeof(*PDCP_rlc_UM));
   DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-  PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+  PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
 #endif
-  DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+  DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
   DRB_lchan_config = CALLOC(1, sizeof(*DRB_lchan_config));
   DRB_config->logicalChannelConfig = DRB_lchan_config;
@@ -2962,10 +2960,10 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
 
   DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-  DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+  DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
     //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
   DRB_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
   logicalchannelgroup_drb = CALLOC(1, sizeof(long));
@@ -2983,31 +2981,31 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   mac_MainConfig->ul_SCH_Config = CALLOC(1, sizeof(*mac_MainConfig->ul_SCH_Config));
 
   maxHARQ_Tx = CALLOC(1, sizeof(long));
-  *maxHARQ_Tx = MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
+  *maxHARQ_Tx = LTE_MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
   mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
   periodicBSR_Timer = CALLOC(1, sizeof(long));
-  *periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
+  *periodicBSR_Timer = LTE_PeriodicBSR_Timer_r12_sf64;
   mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
-  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
+  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = LTE_RetxBSR_Timer_r12_sf320;
   mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
 
-  mac_MainConfig->timeAlignmentTimerDedicated = TimeAlignmentTimer_infinity;
+  mac_MainConfig->timeAlignmentTimerDedicated = LTE_TimeAlignmentTimer_infinity;
 
   mac_MainConfig->drx_Config = NULL;
 
   mac_MainConfig->phr_Config = CALLOC(1, sizeof(*mac_MainConfig->phr_Config));
 
-  mac_MainConfig->phr_Config->present = MAC_MainConfig__phr_Config_PR_setup;
-  mac_MainConfig->phr_Config->choice.setup.periodicPHR_Timer = MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20; // sf20 = 20 subframes
+  mac_MainConfig->phr_Config->present = LTE_MAC_MainConfig__phr_Config_PR_setup;
+  mac_MainConfig->phr_Config->choice.setup.periodicPHR_Timer = LTE_MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20; // sf20 = 20 subframes
 
-  mac_MainConfig->phr_Config->choice.setup.prohibitPHR_Timer = MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20; // sf20 = 20 subframes
+  mac_MainConfig->phr_Config->choice.setup.prohibitPHR_Timer = LTE_MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20; // sf20 = 20 subframes
 
-  mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
+  mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
   *sr_ProhibitTimer_r9 = 0;   // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
-  mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
+  mac_MainConfig->ext1 = CALLOC(1, sizeof(struct LTE_MAC_MainConfig__ext1));
   mac_MainConfig->ext1->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
   //sps_RA_ConfigList_rlola = NULL;
 #endif
@@ -3019,42 +3017,42 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     if ((*physicalConfigDedicated)->antennaInfo) {
       (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0];
       LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.ue_TransmissionMode[0]);
-      if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) {
+      if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm3) {
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-	  CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+	  CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-	  AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3;
+	  LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1);
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6;
       }
-      else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) {
+      else if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm4) {
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-	  CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+	  CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-	  AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm4;
+	  LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm4;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.buf= MALLOC(1);
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.buf[0] = 0xfc;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.size=1;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.bits_unused=2;
 
       }
-      else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) {
+      else if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm5) {
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-	  CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+	  CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-	  AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm5;
+	  LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm5;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.buf= MALLOC(1);
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.buf[0] = 0xf0;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.size=1;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.bits_unused=4;
       }
-      else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) {
+      else if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm6) {
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-	  CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+	  CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-	  AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm6;
+	  LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm6;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.buf= MALLOC(1);
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.buf[0] = 0xf0;
 	(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.size=1;
@@ -3065,16 +3063,16 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
       LOG_E(RRC,"antenna_info not present in physical_config_dedicated. Not reconfiguring!\n");
     }
     if ((*physicalConfigDedicated)->cqi_ReportConfig) {
-      if ((rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) ||
-	  (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) ||
-	  (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6)) {
+      if ((rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm4) ||
+	  (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm5) ||
+	  (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm6)) {
 	//feedback mode needs to be set as well
 	//TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable
 	printf("setting cqi reporting mode to rm31\n");
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-	*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+	*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=LTE_CQI_ReportModeAperiodic_rm31;
 #else
-	*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
+	*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=LTE_CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
 #endif
       }
     }
@@ -3083,7 +3081,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     }
   }
   else {
-    LOG_E(RRC,"physical_config_dedicated not present in RRCConnectionReconfiguration. Not reconfiguring!\n");
+    LOG_E(RRC,"physical_config_dedicated not present in LTE_RRCConnectionReconfiguration. Not reconfiguring!\n");
   }
 
   // Measurement ID list
@@ -3126,7 +3124,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   MeasId5->reportConfigId = 6;
   ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId5);
 
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list;
 
   // Add one EUTRA Measurement Object
   MeasObj_list = CALLOC(1, sizeof(*MeasObj_list));
@@ -3138,10 +3136,10 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   memset((void *)MeasObj, 0, sizeof(*MeasObj));
 
   MeasObj->measObjectId = 1;
-  MeasObj->measObject.present = MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
+  MeasObj->measObject.present = LTE_MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
   MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 3350; //band 7, 2.68GHz
   //MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 36090; //band 33, 1.909GHz
-  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = AllowedMeasBandwidth_mbw25;
+  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = LTE_AllowedMeasBandwidth_mbw25;
   MeasObj->measObject.choice.measObjectEUTRA.presenceAntennaPort1 = 1;
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf = CALLOC(1, sizeof(uint8_t));
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf[0] = 0;
@@ -3150,22 +3148,22 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   MeasObj->measObject.choice.measObjectEUTRA.offsetFreq = NULL;   // Default is 15 or 0dB
 
   MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList =
-    (CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
+    (LTE_CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
 
   CellsToAddModList = MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList;
 
   // Add adjacent cell lists (6 per eNB)
   for (i = 0; i < 6; i++) {
-    CellToAdd = (CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
+    CellToAdd = (LTE_CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
     CellToAdd->cellIndex = i + 1;
     CellToAdd->physCellId = get_adjacent_cell_id(ctxt_pP->module_id, i);
-    CellToAdd->cellIndividualOffset = Q_OffsetRange_dB0;
+    CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0;
 
     ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd);
   }
 
   ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj);
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
 
   // Report Configurations for periodical, A1-A5 events
   ReportConfig_list = CALLOC(1, sizeof(*ReportConfig_list));
@@ -3183,35 +3181,35 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   ReportConfig_A5 = CALLOC(1, sizeof(*ReportConfig_A5));
 
   ReportConfig_per->reportConfigId = 1;
-  ReportConfig_per->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_per->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_periodical;
+    LTE_ReportConfigEUTRA__triggerType_PR_periodical;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.choice.periodical.purpose =
-    ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+    LTE_ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_per);
 
   ReportConfig_A1->reportConfigId = 2;
-  ReportConfig_A1->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A1->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA1.
-  a1_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+  a1_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA1.
   a1_Threshold.choice.threshold_RSRP = 10;
 
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A1);
   
@@ -3219,108 +3217,108 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     LOG_I(RRC, "[eNB %d] frame %d: requesting A2, A3, A4, A5, and A6 event reporting\n",
           ctxt_pP->module_id, ctxt_pP->frame);
     ReportConfig_A2->reportConfigId = 3;
-    ReportConfig_A2->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A2->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA2.a2_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA2.a2_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA2.a2_Threshold.choice.threshold_RSRP = 10;
 
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A2);
 
     ReportConfig_A3->reportConfigId = 4;
-    ReportConfig_A3->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A3->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3;
 
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA3.a3_Offset = 1;   //10;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA3.reportOnLeave = 1;
 
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.hysteresis = 0.5; // FIXME ...hysteresis is of type long!
     ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger =
-      TimeToTrigger_ms40;
+      LTE_TimeToTrigger_ms40;
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A3);
 
     ReportConfig_A4->reportConfigId = 5;
-    ReportConfig_A4->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A4->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA4.a4_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA4.a4_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA4.a4_Threshold.choice.threshold_RSRP = 10;
 
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A4);
 
     ReportConfig_A5->reportConfigId = 6;
-    ReportConfig_A5->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+    ReportConfig_A5->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_event;
+      LTE_ReportConfigEUTRA__triggerType_PR_event;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-      ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5;
+      LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA5.a5_Threshold1.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA5.a5_Threshold1.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-    eventA5.a5_Threshold2.present = ThresholdEUTRA_PR_threshold_RSRP;
+    eventA5.a5_Threshold2.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA5.a5_Threshold1.choice.threshold_RSRP = 10;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
     eventA5.a5_Threshold2.choice.threshold_RSRP = 10;
 
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerQuantity =
-      ReportConfigEUTRA__triggerQuantity_rsrp;
-    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+      LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
     ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+    ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
     ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A5);
-    //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
+    //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
 
-    rsrp = CALLOC(1, sizeof(RSRP_Range_t));
+    rsrp = CALLOC(1, sizeof(LTE_RSRP_Range_t));
     *rsrp = 20;
 
     Sparams = CALLOC(1, sizeof(*Sparams));
-    Sparams->present = MeasConfig__speedStatePars_PR_setup;
-    Sparams->choice.setup.timeToTrigger_SF.sf_High = SpeedStateScaleFactors__sf_Medium_oDot75;
-    Sparams->choice.setup.timeToTrigger_SF.sf_Medium = SpeedStateScaleFactors__sf_High_oDot5;
+    Sparams->present = LTE_MeasConfig__speedStatePars_PR_setup;
+    Sparams->choice.setup.timeToTrigger_SF.sf_High = LTE_SpeedStateScaleFactors__sf_Medium_oDot75;
+    Sparams->choice.setup.timeToTrigger_SF.sf_Medium = LTE_SpeedStateScaleFactors__sf_High_oDot5;
     Sparams->choice.setup.mobilityStateParameters.n_CellChangeHigh = 10;
     Sparams->choice.setup.mobilityStateParameters.n_CellChangeMedium = 5;
-    Sparams->choice.setup.mobilityStateParameters.t_Evaluation = MobilityStateParameters__t_Evaluation_s60;
-    Sparams->choice.setup.mobilityStateParameters.t_HystNormal = MobilityStateParameters__t_HystNormal_s120;
+    Sparams->choice.setup.mobilityStateParameters.t_Evaluation = LTE_MobilityStateParameters__t_Evaluation_s60;
+    Sparams->choice.setup.mobilityStateParameters.t_HystNormal = LTE_MobilityStateParameters__t_HystNormal_s120;
 
     quantityConfig = CALLOC(1, sizeof(*quantityConfig));
     memset((void *)quantityConfig, 0, sizeof(*quantityConfig));
-    quantityConfig->quantityConfigEUTRA = CALLOC(1, sizeof(struct QuantityConfigEUTRA));
+    quantityConfig->quantityConfigEUTRA = CALLOC(1, sizeof(struct LTE_QuantityConfigEUTRA));
     memset((void *)quantityConfig->quantityConfigEUTRA, 0, sizeof(*quantityConfig->quantityConfigEUTRA));
     quantityConfig->quantityConfigCDMA2000 = NULL;
     quantityConfig->quantityConfigGERAN = NULL;
@@ -3329,8 +3327,8 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
       CALLOC(1, sizeof(*(quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP)));
     quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ =
       CALLOC(1, sizeof(*(quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ)));
-    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = FilterCoefficient_fc4;
-    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = FilterCoefficient_fc4;
+    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = LTE_FilterCoefficient_fc4;
+    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = LTE_FilterCoefficient_fc4;
 
     LOG_I(RRC,
           "[eNB %d] Frame %d: potential handover preparation: store the information in an intermediate structure in case of failure\n",
@@ -3338,19 +3336,19 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     // store the information in an intermediate structure for Hanodver management
     //rrc_inst->handover_info.as_config.sourceRadioResourceConfig.srb_ToAddModList = CALLOC(1,sizeof());
     ue_context_pP->ue_context.handover_info = CALLOC(1, sizeof(*(ue_context_pP->ue_context.handover_info)));
-    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.srb_ToAddModList,(void *)SRB_list,sizeof(SRB_ToAddModList_t));
+    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.srb_ToAddModList,(void *)SRB_list,sizeof(LTE_SRB_ToAddModList_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.srb_ToAddModList = *SRB_configList2;
-    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.drb_ToAddModList,(void *)DRB_list,sizeof(DRB_ToAddModList_t));
+    //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.drb_ToAddModList,(void *)DRB_list,sizeof(LTE_DRB_ToAddModList_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.drb_ToAddModList = *DRB_configList;
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.drb_ToReleaseList = NULL;
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig =
       CALLOC(1, sizeof(*ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig));
     memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig,
-           (void *)mac_MainConfig, sizeof(MAC_MainConfig_t));
+           (void *)mac_MainConfig, sizeof(LTE_MAC_MainConfig_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.physicalConfigDedicated =
-      CALLOC(1, sizeof(PhysicalConfigDedicated_t));
+      CALLOC(1, sizeof(LTE_PhysicalConfigDedicated_t));
     memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.physicalConfigDedicated,
-           (void*)ue_context_pP->ue_context.physicalConfigDedicated, sizeof(PhysicalConfigDedicated_t));
+           (void*)ue_context_pP->ue_context.physicalConfigDedicated, sizeof(LTE_PhysicalConfigDedicated_t));
     ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.sps_Config = NULL;
     //memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.sps_Config,(void *)rrc_inst->sps_Config[ue_mod_idP],sizeof(SPS_Config_t));
 
@@ -3358,12 +3356,12 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 
 #if defined(ENABLE_ITTI)
   /* Initialize NAS list */
-  dedicatedInfoNASList = CALLOC(1, sizeof(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
+  dedicatedInfoNASList = CALLOC(1, sizeof(struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
 
   /* Add all NAS PDUs to the list */
   for (i = 0; i < ue_context_pP->ue_context.nb_of_e_rabs; i++) {
     if (ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer != NULL) {
-      dedicatedInfoNas = CALLOC(1, sizeof(DedicatedInfoNAS_t));
+      dedicatedInfoNas = CALLOC(1, sizeof(LTE_DedicatedInfoNAS_t));
       memset(dedicatedInfoNas, 0, sizeof(OCTET_STRING_t));
       OCTET_STRING_fromBuf(dedicatedInfoNas, 
 			   (char*)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer,
@@ -3397,30 +3395,30 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   size = do_RRCConnectionReconfiguration(ctxt_pP,
                                          buffer,
                                          xid,   //Transaction_id,
-                                         (SRB_ToAddModList_t*)*SRB_configList2, // SRB_configList
-                                         (DRB_ToAddModList_t*)*DRB_configList,
-                                         (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                                         (struct SPS_Config*)NULL,    // *sps_Config,
-                                         (struct PhysicalConfigDedicated*)*physicalConfigDedicated,
+                                         (LTE_SRB_ToAddModList_t*)*SRB_configList2, // SRB_configList
+                                         (LTE_DRB_ToAddModList_t*)*DRB_configList,
+                                         (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                                         (struct LTE_SPS_Config*)NULL,    // *sps_Config,
+                                         (struct LTE_PhysicalConfigDedicated*)*physicalConfigDedicated,
 #ifdef EXMIMO_IOT
                                          NULL, NULL, NULL,NULL,
 #else
-                                         (MeasObjectToAddModList_t*)MeasObj_list,
-                                         (ReportConfigToAddModList_t*)ReportConfig_list,
-                                         (QuantityConfig_t*)quantityConfig,
-                                         (MeasIdToAddModList_t*)MeasId_list,
-#endif
-                                         (MAC_MainConfig_t*)mac_MainConfig,
-                                         (MeasGapConfig_t*)NULL,
-                                         (MobilityControlInfo_t*)NULL,
-                                         (struct MeasConfig__speedStatePars*)Sparams,
-                                         (RSRP_Range_t*)rsrp,
-                                         (C_RNTI_t*)cba_RNTI,
-                                         (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
-                                         (SL_CommConfig_r12_t*)NULL,
-                                         (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                         , (SCellToAddMod_r10_t*)NULL
+                                         (LTE_MeasObjectToAddModList_t*)MeasObj_list,
+                                         (LTE_ReportConfigToAddModList_t*)ReportConfig_list,
+                                         (LTE_QuantityConfig_t*)quantityConfig,
+                                         (LTE_MeasIdToAddModList_t*)MeasId_list,
+#endif
+                                         (LTE_MAC_MainConfig_t*)mac_MainConfig,
+                                         (LTE_MeasGapConfig_t*)NULL,
+                                         (LTE_MobilityControlInfo_t*)NULL,
+                                         (struct LTE_MeasConfig__speedStatePars*)Sparams,
+                                         (LTE_RSRP_Range_t*)rsrp,
+                                         (LTE_C_RNTI_t*)cba_RNTI,
+                                         (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
+                                         (LTE_SL_CommConfig_r12_t*)NULL,
+                                         (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                         , (LTE_SCellToAddMod_r10_t*)NULL
 #endif
                                         );
   LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)buffer,size,
@@ -3440,7 +3438,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 #endif
 
   LOG_I(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   LOG_D(RRC,
@@ -3452,7 +3450,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" rrcConnectionReconfiguration UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -3481,37 +3479,37 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   uint16_t                            size;
   int                                 i;
  
-  // configure SRB1/SRB2, PhysicalConfigDedicated, MAC_MainConfig for UE
+  // configure SRB1/SRB2, PhysicalConfigDedicated, LTE_MAC_MainConfig for UE
   eNB_RRC_INST*                       rrc_inst = RC.rrc[ctxt_pP->module_id];
-  struct PhysicalConfigDedicated**    physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
+  struct LTE_PhysicalConfigDedicated**    physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
 
-  struct SRB_ToAddMod                *SRB2_config                      = NULL;
-  struct SRB_ToAddMod__rlc_Config    *SRB2_rlc_config                  = NULL;
-  struct SRB_ToAddMod__logicalChannelConfig *SRB2_lchan_config         = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters
+  struct LTE_SRB_ToAddMod                *SRB2_config                      = NULL;
+  struct LTE_SRB_ToAddMod__rlc_Config    *SRB2_rlc_config                  = NULL;
+  struct LTE_SRB_ToAddMod__logicalChannelConfig *SRB2_lchan_config         = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters
       *SRB2_ul_SpecificParameters       = NULL;
-  SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
-  SRB_ToAddModList_t                 **SRB_configList2                  = NULL;
-
-  struct DRB_ToAddMod                *DRB_config                       = NULL;
-  struct RLC_Config                  *DRB_rlc_config                   = NULL;
-  struct PDCP_Config                 *DRB_pdcp_config                  = NULL;
-  struct PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
-  struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
-  struct LogicalChannelConfig        *DRB_lchan_config                 = NULL;
-  struct LogicalChannelConfig__ul_SpecificParameters
+  LTE_SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
+  LTE_SRB_ToAddModList_t                 **SRB_configList2                  = NULL;
+
+  struct LTE_DRB_ToAddMod                *DRB_config                       = NULL;
+  struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
+  struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
+  struct LTE_PDCP_Config__rlc_AM         *PDCP_rlc_AM                      = NULL;
+  struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
+  struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters
       *DRB_ul_SpecificParameters        = NULL;
-  DRB_ToAddModList_t**                DRB_configList = &ue_context_pP->ue_context.DRB_configList;
-  DRB_ToAddModList_t**                DRB_configList2 = NULL;
-   MAC_MainConfig_t                   *mac_MainConfig                   = NULL;
-  MeasObjectToAddModList_t           *MeasObj_list                     = NULL;
-  MeasObjectToAddMod_t               *MeasObj                          = NULL;
-  ReportConfigToAddModList_t         *ReportConfig_list                = NULL;
-  ReportConfigToAddMod_t             *ReportConfig_per;//, *ReportConfig_A1,
+  LTE_DRB_ToAddModList_t**                DRB_configList = &ue_context_pP->ue_context.DRB_configList;
+  LTE_DRB_ToAddModList_t**                DRB_configList2 = NULL;
+  LTE_MAC_MainConfig_t                   *mac_MainConfig                   = NULL;
+  LTE_MeasObjectToAddModList_t           *MeasObj_list                     = NULL;
+  LTE_MeasObjectToAddMod_t               *MeasObj                          = NULL;
+  LTE_ReportConfigToAddModList_t         *ReportConfig_list                = NULL;
+  LTE_ReportConfigToAddMod_t             *ReportConfig_per;//, *ReportConfig_A1,
                                      // *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
-  MeasIdToAddModList_t               *MeasId_list                      = NULL;
-  MeasIdToAddMod_t                   *MeasId0; //, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
-#if Rel10
+  LTE_MeasIdToAddModList_t               *MeasId_list                      = NULL;
+  LTE_MeasIdToAddMod_t                   *MeasId0; //, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   long                               *sr_ProhibitTimer_r9              = NULL;
   //     uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
   //uint8_t                            sCellIndexToAdd = 0;
@@ -3520,24 +3518,24 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   long                               *logicalchannelgroup, *logicalchannelgroup_drb;
   long                               *maxHARQ_Tx, *periodicBSR_Timer;
 
-  RSRP_Range_t                       *rsrp                             = NULL;
-  struct MeasConfig__speedStatePars  *Sparams                          = NULL;
-  QuantityConfig_t                   *quantityConfig                   = NULL;
-  CellsToAddMod_t                    *CellToAdd                        = NULL;
-  CellsToAddModList_t                *CellsToAddModList                = NULL;
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
-  DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
+  LTE_RSRP_Range_t                       *rsrp                             = NULL;
+  struct LTE_MeasConfig__speedStatePars  *Sparams                          = NULL;
+  LTE_QuantityConfig_t                   *quantityConfig                   = NULL;
+  LTE_CellsToAddMod_t                    *CellToAdd                        = NULL;
+  LTE_CellsToAddModList_t                *CellsToAddModList                = NULL;
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
+  LTE_DedicatedInfoNAS_t                 *dedicatedInfoNas                 = NULL;
   /* for no gcc warnings */
   (void)dedicatedInfoNas;
 
-  C_RNTI_t                           *cba_RNTI                         = NULL;
+  LTE_C_RNTI_t                           *cba_RNTI                         = NULL;
 
   uint8_t xid = rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id);   //Transaction_id,
 
 #ifdef CBA
   //struct PUSCH_CBAConfigDedicated_vlola  *pusch_CBAConfigDedicated_vlola;
   uint8_t                            *cba_RNTI_buf;
-  cba_RNTI = CALLOC(1, sizeof(C_RNTI_t));
+  cba_RNTI = CALLOC(1, sizeof(LTE_C_RNTI_t));
   cba_RNTI_buf = CALLOC(1, 2 * sizeof(uint8_t));
   cba_RNTI->buf = cba_RNTI_buf;
   cba_RNTI->size = 2;
@@ -3577,27 +3575,27 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   SRB2_rlc_config = CALLOC(1, sizeof(*SRB2_rlc_config));
   SRB2_config->rlc_Config = SRB2_rlc_config;
 
-  SRB2_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue;
-  SRB2_rlc_config->choice.explicitValue.present = RLC_Config_PR_am;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms15;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p8;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = PollByte_kB1000;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t32;
-  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms10;
+  SRB2_rlc_config->present = LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue;
+  SRB2_rlc_config->choice.explicitValue.present = LTE_RLC_Config_PR_am;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms15;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p8;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kB1000;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t32;
+  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms10;
 
   SRB2_lchan_config = CALLOC(1, sizeof(*SRB2_lchan_config));
   SRB2_config->logicalChannelConfig = SRB2_lchan_config;
 
-  SRB2_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
+  SRB2_lchan_config->present = LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
 
   SRB2_ul_SpecificParameters = CALLOC(1, sizeof(*SRB2_ul_SpecificParameters));
 
   SRB2_ul_SpecificParameters->priority = 3; // let some priority for SRB1 and dedicated DRBs
   SRB2_ul_SpecificParameters->prioritisedBitRate =
-    LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
   SRB2_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   // LCG for CCCH and DCCH is 0 as defined in 36331
   logicalchannelgroup = CALLOC(1, sizeof(long));
@@ -3634,37 +3632,37 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
 
   DRB_config->eps_BearerIdentity = CALLOC(1, sizeof(long));
   *(DRB_config->eps_BearerIdentity) = 5L; // LW set to first value, allowed value 5..15, value : x+4
-  // DRB_config->drb_Identity = (DRB_Identity_t) 1; //allowed values 1..32
+  // DRB_config->drb_Identity = (LTE_DRB_Identity_t) 1; //allowed values 1..32
   // NN: this is the 1st DRB for this ue, so set it to 1
-  DRB_config->drb_Identity = (DRB_Identity_t) 1;  // (ue_mod_idP+1); //allowed values 1..32, value: x
+  DRB_config->drb_Identity = (LTE_DRB_Identity_t) 1;  // (ue_mod_idP+1); //allowed values 1..32, value: x
   DRB_config->logicalChannelIdentity = CALLOC(1, sizeof(long));
   *(DRB_config->logicalChannelIdentity) = (long)3; // value : x+2
   DRB_rlc_config = CALLOC(1, sizeof(*DRB_rlc_config));
   DRB_config->rlc_Config = DRB_rlc_config;
 
 #ifdef RRC_DEFAULT_RAB_IS_AM
-  DRB_rlc_config->present = RLC_Config_PR_am;
-  DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms50;
-  DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = PollPDU_p16;
-  DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = PollByte_kBinfinity;
-  DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t8;
-  DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-  DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms25;
+  DRB_rlc_config->present = LTE_RLC_Config_PR_am;
+  DRB_rlc_config->choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms50;
+  DRB_rlc_config->choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p16;
+  DRB_rlc_config->choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kBinfinity;
+  DRB_rlc_config->choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t8;
+  DRB_rlc_config->choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+  DRB_rlc_config->choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms25;
 #else
-  DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
+  DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
 #ifdef CBA
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering   = T_Reordering_ms5;//T_Reordering_ms25;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering   = LTE_T_Reordering_ms5;//T_Reordering_ms25;
 #else
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
 #endif
 #endif
 
   DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
   DRB_config->pdcp_Config = DRB_pdcp_config;
   DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-  *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+  *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
   DRB_pdcp_config->rlc_AM = NULL;
   DRB_pdcp_config->rlc_UM = NULL;
 
@@ -3679,9 +3677,9 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
 #else
   PDCP_rlc_UM = CALLOC(1, sizeof(*PDCP_rlc_UM));
   DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-  PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+  PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
 #endif
-  DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+  DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
   DRB_lchan_config = CALLOC(1, sizeof(*DRB_lchan_config));
   DRB_config->logicalChannelConfig = DRB_lchan_config;
@@ -3689,10 +3687,10 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
 
   DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-  DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+  DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
     //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
   DRB_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
   logicalchannelgroup_drb = CALLOC(1, sizeof(long));
@@ -3705,36 +3703,36 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   //ue_context_pP->ue_context.DRB_configList2[0] = &(*DRB_configList);
 
   mac_MainConfig = CALLOC(1, sizeof(*mac_MainConfig));
-  // ue_context_pP->ue_context.mac_MainConfig = mac_MainConfig;
+  // ue_context_pP->ue_context.mac_MainConfig = LTE_MAC_MainConfig;
 
   mac_MainConfig->ul_SCH_Config = CALLOC(1, sizeof(*mac_MainConfig->ul_SCH_Config));
 
   maxHARQ_Tx = CALLOC(1, sizeof(long));
-  *maxHARQ_Tx = MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
+  *maxHARQ_Tx = LTE_MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
   mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
   periodicBSR_Timer = CALLOC(1, sizeof(long));
-  *periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
+  *periodicBSR_Timer = LTE_PeriodicBSR_Timer_r12_sf64;
   mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
-  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
+  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = LTE_RetxBSR_Timer_r12_sf320;
   mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
 
-  mac_MainConfig->timeAlignmentTimerDedicated = TimeAlignmentTimer_infinity;
+  mac_MainConfig->timeAlignmentTimerDedicated = LTE_TimeAlignmentTimer_infinity;
 
   mac_MainConfig->drx_Config = NULL;
 
   mac_MainConfig->phr_Config = CALLOC(1, sizeof(*mac_MainConfig->phr_Config));
 
-  mac_MainConfig->phr_Config->present = MAC_MainConfig__phr_Config_PR_setup;
-  mac_MainConfig->phr_Config->choice.setup.periodicPHR_Timer = MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20; // sf20 = 20 subframes
+  mac_MainConfig->phr_Config->present = LTE_MAC_MainConfig__phr_Config_PR_setup;
+  mac_MainConfig->phr_Config->choice.setup.periodicPHR_Timer = LTE_MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20; // sf20 = 20 subframes
 
-  mac_MainConfig->phr_Config->choice.setup.prohibitPHR_Timer = MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20; // sf20 = 20 subframes
+  mac_MainConfig->phr_Config->choice.setup.prohibitPHR_Timer = LTE_MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20; // sf20 = 20 subframes
 
-  mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
+  mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
 
-#ifdef Rel10
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
   *sr_ProhibitTimer_r9 = 0;   // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
-  mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
+  mac_MainConfig->ext1 = CALLOC(1, sizeof(struct LTE_MAC_MainConfig__ext1));
   mac_MainConfig->ext1->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
   //sps_RA_ConfigList_rlola = NULL;
 #endif
@@ -3746,42 +3744,42 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
     if ((*physicalConfigDedicated)->antennaInfo) {
       (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0];
       LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.ue_TransmissionMode[0]);
-      if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) {
+      if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm3) {
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-    CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+    CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-    AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3;
+    LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf= MALLOC(1);
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.buf[0] = 0xc0;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6;
       }
-      else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) {
+      else if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm4) {
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-    CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+    CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-    AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm4;
+    LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm4;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.buf= MALLOC(1);
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.buf[0] = 0xfc;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.size=1;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.bits_unused=2;
 
       }
-      else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) {
+      else if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm5) {
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-    CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+    CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-    AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm5;
+    LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm5;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.buf= MALLOC(1);
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.buf[0] = 0xf0;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.size=1;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.bits_unused=4;
       }
-      else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) {
+      else if (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm6) {
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=     
-    CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
+    CALLOC(1,sizeof(LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR));
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
-    AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm6;
+    LTE_AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm6;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.buf= MALLOC(1);
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.buf[0] = 0xf0;
   (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.size=1;
@@ -3792,16 +3790,16 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
       LOG_E(RRC,"antenna_info not present in physical_config_dedicated. Not reconfiguring!\n");
     }
     if ((*physicalConfigDedicated)->cqi_ReportConfig) {
-      if ((rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) ||
-    (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) ||
-    (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6)) {
+      if ((rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm4) ||
+    (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm5) ||
+    (rrc_inst->configuration.ue_TransmissionMode[0] == LTE_AntennaInfoDedicated__transmissionMode_tm6)) {
   //feedback mode needs to be set as well
   //TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable
   printf("setting cqi reporting mode to rm31\n");
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-  *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=LTE_CQI_ReportModeAperiodic_rm31;
 #else
-  *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
+  *((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=LTE_CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
 #endif
       }
     }
@@ -3810,7 +3808,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
     }
   }
   else {
-    LOG_E(RRC,"physical_config_dedicated not present in RRCConnectionReconfiguration. Not reconfiguring!\n");
+    LOG_E(RRC,"physical_config_dedicated not present in LTE_RRCConnectionReconfiguration. Not reconfiguring!\n");
   }
 
   // Measurement ID list
@@ -3836,10 +3834,10 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   memset((void *)MeasObj, 0, sizeof(*MeasObj));
 
   MeasObj->measObjectId = 1;
-  MeasObj->measObject.present = MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
+  MeasObj->measObject.present = LTE_MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
   MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 3350; //band 7, 2.68GHz
   //MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 36090; //band 33, 1.909GHz
-  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = AllowedMeasBandwidth_mbw25;
+  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = LTE_AllowedMeasBandwidth_mbw25;
   MeasObj->measObject.choice.measObjectEUTRA.presenceAntennaPort1 = 1;
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf = CALLOC(1, sizeof(uint8_t));
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf[0] = 0;
@@ -3848,22 +3846,22 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   MeasObj->measObject.choice.measObjectEUTRA.offsetFreq = NULL;   // Default is 15 or 0dB
 
   MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList =
-    (CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
+    (LTE_CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
 
   CellsToAddModList = MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList;
 
   // Add adjacent cell lists (6 per eNB)
   for (i = 0; i < 6; i++) {
-    CellToAdd = (CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
+    CellToAdd = (LTE_CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
     CellToAdd->cellIndex = i + 1;
     CellToAdd->physCellId = get_adjacent_cell_id(ctxt_pP->module_id, i);
-    CellToAdd->cellIndividualOffset = Q_OffsetRange_dB0;
+    CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0;
 
     ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd);
   }
 
   ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj);
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
 
   // Report Configurations for periodical, A1-A5 events
 
@@ -3905,17 +3903,17 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
     // Periodical Measurement Report
 
   ReportConfig_per->reportConfigId = 1;
-  ReportConfig_per->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_per->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
 
     ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-      ReportConfigEUTRA__triggerType_PR_periodical;
+      LTE_ReportConfigEUTRA__triggerType_PR_periodical;
 
     ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.choice.periodical.purpose =
-      ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
+      LTE_ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
 
     // ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger = TimeToTrigger_ms40;  
-    ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+    ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
    ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
    ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = trig_param->report_interval ;//ReportInterval_ms2048; // RRC counter frame- ms1024 is 1ms   
 
@@ -3928,7 +3926,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
 
     quantityConfig = CALLOC(1, sizeof(*quantityConfig));
     memset((void *)quantityConfig, 0, sizeof(*quantityConfig));
-    quantityConfig->quantityConfigEUTRA = CALLOC(1, sizeof(struct QuantityConfigEUTRA));
+    quantityConfig->quantityConfigEUTRA = CALLOC(1, sizeof(struct LTE_QuantityConfigEUTRA));
     memset((void *)quantityConfig->quantityConfigEUTRA, 0, sizeof(*quantityConfig->quantityConfigEUTRA));
     quantityConfig->quantityConfigCDMA2000 = NULL;
     quantityConfig->quantityConfigGERAN = NULL;
@@ -3937,18 +3935,18 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
       CALLOC(1, sizeof(*(quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP)));
     quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ =
       CALLOC(1, sizeof(*(quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ)));
-    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = FilterCoefficient_fc4;
-    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = FilterCoefficient_fc4;
+    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = LTE_FilterCoefficient_fc4;
+    *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = LTE_FilterCoefficient_fc4;
 
   
 #if defined(ENABLE_ITTI)
   /* Initialize NAS list */
-  dedicatedInfoNASList = CALLOC(1, sizeof(struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
+  dedicatedInfoNASList = CALLOC(1, sizeof(struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList));
 
   /* Add all NAS PDUs to the list */
   for (i = 0; i < ue_context_pP->ue_context.nb_of_e_rabs; i++) {
     if (ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer != NULL) {
-      dedicatedInfoNas = CALLOC(1, sizeof(DedicatedInfoNAS_t));
+      dedicatedInfoNas = CALLOC(1, sizeof(LTE_DedicatedInfoNAS_t));
       memset(dedicatedInfoNas, 0, sizeof(OCTET_STRING_t));
       OCTET_STRING_fromBuf(dedicatedInfoNas, 
          (char*)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer,
@@ -3982,30 +3980,30 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
   size = do_RRCConnectionReconfiguration(ctxt_pP,
                                          buffer,
                                          xid,   //Transaction_id,
-                                         (SRB_ToAddModList_t*)NULL, // SRB_configList
-                                         (DRB_ToAddModList_t*)NULL,
-                                         (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                                         (struct SPS_Config*)NULL,    // *sps_Config,
-                                         (struct PhysicalConfigDedicated*)*physicalConfigDedicated,
+                                         (LTE_SRB_ToAddModList_t*)NULL, // SRB_configList
+                                         (LTE_DRB_ToAddModList_t*)NULL,
+                                         (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                                         (struct LTE_SPS_Config*)NULL,    // *sps_Config,
+                                         (struct LTE_PhysicalConfigDedicated*)*physicalConfigDedicated,
 // #ifdef EXMIMO_IOT
 //                                          NULL, NULL, NULL,NULL,
 // #else
-                                         (MeasObjectToAddModList_t*)MeasObj_list,
-                                         (ReportConfigToAddModList_t*)ReportConfig_list,
-                                         (QuantityConfig_t*)quantityConfig,
-                                         (MeasIdToAddModList_t*)MeasId_list,
+                                         (LTE_MeasObjectToAddModList_t*)MeasObj_list,
+                                         (LTE_ReportConfigToAddModList_t*)ReportConfig_list,
+                                         (LTE_QuantityConfig_t*)quantityConfig,
+                                         (LTE_MeasIdToAddModList_t*)MeasId_list,
 // #endif
-                                         (MAC_MainConfig_t*)mac_MainConfig,
-                                         (MeasGapConfig_t*)NULL,
-                                         (MobilityControlInfo_t*)NULL,
-                                         (struct MeasConfig__speedStatePars*)Sparams,
-                                         (RSRP_Range_t*)rsrp,
-                                         (C_RNTI_t*)cba_RNTI,
-                                         (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
-                                         (SL_CommConfig_r12_t*)NULL,
-                                         (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                         , (SCellToAddMod_r10_t*)NULL
+                                         (LTE_MAC_MainConfig_t*)mac_MainConfig,
+                                         (LTE_MeasGapConfig_t*)NULL,
+                                         (LTE_MobilityControlInfo_t*)NULL,
+                                         (struct LTE_MeasConfig__speedStatePars*)Sparams,
+                                         (LTE_RSRP_Range_t*)rsrp,
+                                         (LTE_C_RNTI_t*)cba_RNTI,
+                                         (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList,
+                                         (LTE_SL_CommConfig_r12_t*)NULL,
+                                         (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                         , (LTE_SCellToAddMod_r10_t*)NULL
 #endif
                                         );
   LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)buffer,size,
@@ -4025,7 +4023,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
 #endif
 
   LOG_I(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   LOG_D(RRC,
@@ -4037,7 +4035,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" rrcConnectionReconfiguration UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -4067,7 +4065,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
   uint8_t size;
   uint8_t buffer[100];
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   uint8_t sCellIndexToAdd = 0; //one SCell so far
 
   //   uint8_t sCellIndexToAdd;
@@ -4084,30 +4082,30 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
   size = do_RRCConnectionReconfiguration(ctxt_pP,
                                          buffer,
                                          rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id),//Transaction_id,
-                                         (SRB_ToAddModList_t*)NULL,
-                                         (DRB_ToAddModList_t*)NULL,
-                                         (DRB_ToReleaseList_t*)NULL,
-                                         (struct SPS_Config*)NULL,
-                                         (struct PhysicalConfigDedicated*)NULL,
-                                         (MeasObjectToAddModList_t*)NULL,
-                                         (ReportConfigToAddModList_t*)NULL,
-                                         (QuantityConfig_t*)NULL,
-                                         (MeasIdToAddModList_t*)NULL,
-                                         (MAC_MainConfig_t*)NULL,
-                                         (MeasGapConfig_t*)NULL,
-                                         (MobilityControlInfo_t*)NULL,
-                                         (struct MeasConfig__speedStatePars*)NULL,
-                                         (RSRP_Range_t*)NULL,
-                                         (C_RNTI_t*)NULL,
-                                         (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL,
-                                         (SL_CommConfig_r12_t*)NULL,
-                                         (SL_DiscConfig_r12_t*)NULL
-
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                         (LTE_SRB_ToAddModList_t*)NULL,
+                                         (LTE_DRB_ToAddModList_t*)NULL,
+                                         (LTE_DRB_ToReleaseList_t*)NULL,
+                                         (struct LTE_SPS_Config*)NULL,
+                                         (struct LTE_PhysicalConfigDedicated*)NULL,
+                                         (LTE_MeasObjectToAddModList_t*)NULL,
+                                         (LTE_ReportConfigToAddModList_t*)NULL,
+                                         (LTE_QuantityConfig_t*)NULL,
+                                         (LTE_MeasIdToAddModList_t*)NULL,
+                                         (LTE_MAC_MainConfig_t*)NULL,
+                                         (LTE_MeasGapConfig_t*)NULL,
+                                         (LTE_MobilityControlInfo_t*)NULL,
+                                         (struct LTE_MeasConfig__speedStatePars*)NULL,
+                                         (LTE_RSRP_Range_t*)NULL,
+                                         (LTE_C_RNTI_t*)NULL,
+                                         (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL,
+                                         (LTE_SL_CommConfig_r12_t*)NULL,
+                                         (LTE_SL_DiscConfig_r12_t*)NULL
+
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
                                          , ue_context_pP->ue_context.sCell_config
 #endif
                                         );
-  LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
+  LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
         ctxt_pP->module_id,ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   MSC_LOG_TX_MESSAGE(
@@ -4115,7 +4113,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
     MSC_RRC_UE,
     buffer,
     size,
-    MSC_AS_TIME_FMT" rrcConnectionReconfiguration UE %x MUI %d size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     rrc_eNB_mui,
@@ -4138,7 +4136,7 @@ void
 rrc_eNB_process_MeasurementReport(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*         ue_context_pP,
-  const MeasResults_t*   const measResults2
+  const LTE_MeasResults_t*   const measResults2
 )
 //-----------------------------------------------------------------------------
 {
@@ -4153,7 +4151,7 @@ rrc_eNB_process_MeasurementReport(
   
   if (measResults2->measId > 0 ){
      if (ue_context_pP->ue_context.measResults == NULL) {
-       ue_context_pP->ue_context.measResults = CALLOC(1, sizeof(MeasResults_t));
+       ue_context_pP->ue_context.measResults = CALLOC(1, sizeof(LTE_MeasResults_t));
      }
      ue_context_pP->ue_context.measResults->measId=measResults2->measId; 
      ue_context_pP->ue_context.measResults->measResultPCell.rsrpResult=measResults2->measResultPCell.rsrpResult;
@@ -4175,7 +4173,7 @@ rrc_eNB_process_MeasurementReport(
      for (i=0; i < neighboring_cells; i++){
        memcpy (ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[i],
 	       measResults2->measResultNeighCells->choice.measResultListEUTRA.list.array[i],
-	       sizeof(MeasResultListEUTRA_t));
+	       sizeof(LTE_MeasResultListEUTRA_t));
        
        LOG_D(RRC, "Physical Cell Id %d\n",
 	     (int)ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[i]->physCellId);
@@ -4186,7 +4184,7 @@ rrc_eNB_process_MeasurementReport(
      }
    }
 
-// #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+// #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   
 // #else
@@ -4225,7 +4223,7 @@ void
 rrc_eNB_generate_HandoverPreparationInformation(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t* const ue_context_pP,
-  PhysCellId_t                 targetPhyId
+  LTE_PhysCellId_t            targetPhyId
 )
 //-----------------------------------------------------------------------------
 {
@@ -4236,7 +4234,7 @@ rrc_eNB_generate_HandoverPreparationInformation(
   /*
      uint8_t buffer[100];
      uint8_t size;
-     struct PhysicalConfigDedicated  **physicalConfigDedicated = &RC.rrc[enb_mod_idP]->physicalConfigDedicated[ue_mod_idP];
+     struct LTE_PhysicalConfigDedicated  **physicalConfigDedicated = &RC.rrc[enb_mod_idP]->physicalConfigDedicated[ue_mod_idP];
      RadioResourceConfigDedicated_t *radioResourceConfigDedicated = CALLOC(1,sizeof(RadioResourceConfigDedicated_t));
    */
 
@@ -4247,9 +4245,9 @@ rrc_eNB_generate_HandoverPreparationInformation(
   handoverInfo->as_config.sourceDl_CarrierFreq = 36090;   //Verify!
 
   memcpy((void *)&handoverInfo->as_config.sourceMasterInformationBlock,
-         (void*)&RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.mib, sizeof(MasterInformationBlock_t));
+         (void*)&RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.mib, sizeof(LTE_MasterInformationBlock_t));
   memcpy((void *)&handoverInfo->as_config.sourceMeasConfig,
-         (void*)ue_context_pP->ue_context.measConfig, sizeof(MeasConfig_t));
+         (void*)ue_context_pP->ue_context.measConfig, sizeof(LTE_MeasConfig_t));
 
   // FIXME handoverInfo not used...
   free( handoverInfo );
@@ -4257,14 +4255,14 @@ rrc_eNB_generate_HandoverPreparationInformation(
 
   //to be configured
   memset((void*)&ue_context_pP->ue_context.handover_info->as_config.sourceSecurityAlgorithmConfig,
-         0, sizeof(SecurityAlgorithmConfig_t));
+         0, sizeof(LTE_SecurityAlgorithmConfig_t));
 
   memcpy((void*)&ue_context_pP->ue_context.handover_info->as_config.sourceSystemInformationBlockType1,
-         (void*)&RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.SIB1, sizeof(SystemInformationBlockType1_t));
+         (void*)&RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.SIB1, sizeof(LTE_SystemInformationBlockType1_t));
   memcpy((void*)&ue_context_pP->ue_context.handover_info->as_config.sourceSystemInformationBlockType2,
-         (void*)&RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.SIB23, sizeof(SystemInformationBlockType2_t));
+         (void*)&RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.SIB23, sizeof(LTE_SystemInformationBlockType2_t));
   ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo =
-    CALLOC(1, sizeof(ReestablishmentInfo_t));
+    CALLOC(1, sizeof(LTE_ReestablishmentInfo_t));
   ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId =
     RC.rrc[ctxt_pP->module_id]->carrier[0] /* CROUX TBC */.physCellId;
   ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->targetCellShortMAC_I.buf = NULL;  // Check values later
@@ -4303,10 +4301,10 @@ rrc_eNB_generate_HandoverPreparationInformation(
         CALLOC(1, sizeof(*(ue_context_target_p->ue_context.handover_info)));
       memcpy((void*)&ue_context_target_p->ue_context.handover_info->as_context,
              (void*)&ue_context_pP->ue_context.handover_info->as_context,
-             sizeof(AS_Context_t));
+             sizeof(LTE_AS_Context_t));
       memcpy((void*)&ue_context_target_p->ue_context.handover_info->as_config,
              (void*)&ue_context_pP->ue_context.handover_info->as_config,
-             sizeof(AS_Config_t));
+             sizeof(LTE_AS_Config_t));
       ue_context_target_p->ue_context.handover_info->ho_prepare = 0x00;// 0xFF;
       ue_context_target_p->ue_context.handover_info->ho_complete = 0;
       ue_context_pP->ue_context.handover_info->modid_t = mod_id_target;
@@ -4338,7 +4336,7 @@ rrc_eNB_process_handoverPreparationInformation(
 
 
   LOG_I(RRC,
-        "[eNB %d] Frame %d : Logical Channel UL-DCCH, processing RRCHandoverPreparationInformation, sending RRCConnectionReconfiguration to UE %d \n",
+        "[eNB %d] Frame %d : Logical Channel UL-DCCH, processing RRCHandoverPreparationInformation, sending LTE_RRCConnectionReconfiguration to UE %d \n",
         ctxt_pP->module_id, ctxt_pP->frame, ue_context_pP->ue_context.rnti);
   rrc_eNB_generate_RRCConnectionReconfiguration_handover(
     ctxt_pP,
@@ -4369,7 +4367,7 @@ check_handovers(
               ctxt_pP->rnti,
               ctxt_pP->module_id,
               ue_context_p->ue_context.handover_info->modid_t);
-        // source eNB generates rrcconnectionreconfiguration to prepare the HO
+        // source eNB generates LTE_RRCConnectionreconfiguration to prepare the HO
         rrc_eNB_process_handoverPreparationInformation(
           ctxt_pP,
           ue_context_p);
@@ -4393,7 +4391,7 @@ check_handovers(
                                ue_context_p->ue_context.handover_info->size,
                                ue_context_p->ue_context.handover_info->buf,
                                PDCP_TRANSMISSION_MODE_CONTROL
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,NULL, NULL
 #endif
                                );
@@ -4409,7 +4407,7 @@ check_handovers(
   }
 }
 
-// 5.3.5.4 RRCConnectionReconfiguration including the mobilityControlInfo to prepare the UE handover
+// 5.3.5.4 LTE_RRCConnectionReconfiguration including the mobilityControlInfo to prepare the UE handover
 //-----------------------------------------------------------------------------
 void
 rrc_eNB_generate_RRCConnectionReconfiguration_handover(
@@ -4428,58 +4426,58 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   int                                 i;
   uint8_t                             rv[2];
   uint16_t                            Idx;
-  // configure SRB1/SRB2, PhysicalConfigDedicated, MAC_MainConfig for UE
+  // configure SRB1/SRB2, PhysicalConfigDedicated, LTE_MAC_MainConfig for UE
   eNB_RRC_INST*                       rrc_inst = RC.rrc[ctxt_pP->module_id];
-  struct PhysicalConfigDedicated**    physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
-
-  struct SRB_ToAddMod                *SRB2_config;
-  struct SRB_ToAddMod__rlc_Config    *SRB2_rlc_config;
-  struct SRB_ToAddMod__logicalChannelConfig *SRB2_lchan_config;
-  struct LogicalChannelConfig__ul_SpecificParameters *SRB2_ul_SpecificParameters;
-  LogicalChannelConfig_t             *SRB1_logicalChannelConfig = NULL;
-  SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;    // not used in this context: may be removed
-  SRB_ToAddModList_t                 *SRB_configList2;
-
-  struct DRB_ToAddMod                *DRB_config;
-  struct RLC_Config                  *DRB_rlc_config;
-  struct PDCP_Config                 *DRB_pdcp_config;
-  struct PDCP_Config__rlc_UM         *PDCP_rlc_UM;
-  struct LogicalChannelConfig        *DRB_lchan_config;
-  struct LogicalChannelConfig__ul_SpecificParameters *DRB_ul_SpecificParameters;
-  DRB_ToAddModList_t                 *DRB_configList2;
-
-  MAC_MainConfig_t                   *mac_MainConfig;
-  MeasObjectToAddModList_t           *MeasObj_list;
-  MeasObjectToAddMod_t               *MeasObj;
-  ReportConfigToAddModList_t         *ReportConfig_list;
-  ReportConfigToAddMod_t             *ReportConfig_per, *ReportConfig_A1,
-                                     *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
-  MeasIdToAddModList_t               *MeasId_list;
-  MeasIdToAddMod_t                   *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
-  QuantityConfig_t                   *quantityConfig;
-  MobilityControlInfo_t              *mobilityInfo;
+  struct LTE_PhysicalConfigDedicated**    physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
+
+  struct LTE_SRB_ToAddMod                *SRB2_config;
+  struct LTE_SRB_ToAddMod__rlc_Config    *SRB2_rlc_config;
+  struct LTE_SRB_ToAddMod__logicalChannelConfig *SRB2_lchan_config;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters *SRB2_ul_SpecificParameters;
+  LTE_LogicalChannelConfig_t             *SRB1_logicalChannelConfig = NULL;
+  LTE_SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;    // not used in this context: may be removed
+  LTE_SRB_ToAddModList_t                 *SRB_configList2;
+
+  struct LTE_DRB_ToAddMod                *DRB_config;
+  struct LTE_RLC_Config                  *DRB_rlc_config;
+  struct LTE_PDCP_Config                 *DRB_pdcp_config;
+  struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM;
+  struct LTE_LogicalChannelConfig        *DRB_lchan_config;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters *DRB_ul_SpecificParameters;
+  LTE_DRB_ToAddModList_t                 *DRB_configList2;
+
+  LTE_MAC_MainConfig_t                   *mac_MainConfig;
+  LTE_MeasObjectToAddModList_t           *MeasObj_list;
+  LTE_MeasObjectToAddMod_t               *MeasObj;
+  LTE_ReportConfigToAddModList_t         *ReportConfig_list;
+  LTE_ReportConfigToAddMod_t             *ReportConfig_per, *ReportConfig_A1,
+                                         *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
+  LTE_MeasIdToAddModList_t               *MeasId_list;
+  LTE_MeasIdToAddMod_t                   *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
+  LTE_QuantityConfig_t                   *quantityConfig;
+  LTE_MobilityControlInfo_t              *mobilityInfo;
   // HandoverCommand_t handoverCommand;
   //uint8_t                             sourceModId =
   //  get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId);
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   long                               *sr_ProhibitTimer_r9;
 #endif
 
   long                               *logicalchannelgroup, *logicalchannelgroup_drb;
   long                               *maxHARQ_Tx, *periodicBSR_Timer;
 
-  // RSRP_Range_t *rsrp;
-  struct MeasConfig__speedStatePars  *Sparams;
-  CellsToAddMod_t                    *CellToAdd;
-  CellsToAddModList_t                *CellsToAddModList;
+  // LTE_RSRP_Range_t *rsrp;
+  struct LTE_MeasConfig__speedStatePars  *Sparams;
+  LTE_CellsToAddMod_t                    *CellToAdd;
+  LTE_CellsToAddModList_t                *CellsToAddModList;
   // srb 1: for HO
-  struct SRB_ToAddMod                *SRB1_config;
-  struct SRB_ToAddMod__rlc_Config    *SRB1_rlc_config;
-  struct SRB_ToAddMod__logicalChannelConfig *SRB1_lchan_config;
-  struct LogicalChannelConfig__ul_SpecificParameters *SRB1_ul_SpecificParameters;
+  struct LTE_SRB_ToAddMod                *SRB1_config;
+  struct LTE_SRB_ToAddMod__rlc_Config    *SRB1_rlc_config;
+  struct LTE_SRB_ToAddMod__logicalChannelConfig *SRB1_lchan_config;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters *SRB1_ul_SpecificParameters;
   // phy config dedicated
-  PhysicalConfigDedicated_t          *physicalConfigDedicated2;
-  struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList;
+  LTE_PhysicalConfigDedicated_t          *physicalConfigDedicated2;
+  struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList;
   protocol_ctxt_t                     ctxt;
 
   LOG_D(RRC, "[eNB %d] Frame %d: handover preparation: get the newSourceUEIdentity (C-RNTI): ",
@@ -4499,19 +4497,19 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   SRB1_rlc_config = CALLOC(1, sizeof(*SRB1_rlc_config));
   SRB1_config->rlc_Config = SRB1_rlc_config;
 
-  SRB1_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue;
-  SRB1_rlc_config->choice.explicitValue.present = RLC_Config_PR_am;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms15;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p8;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = PollByte_kB1000;
-  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t16;
-  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms10;
+  SRB1_rlc_config->present = LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue;
+  SRB1_rlc_config->choice.explicitValue.present = LTE_RLC_Config_PR_am;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms15;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p8;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kB1000;
+  SRB1_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t16;
+  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+  SRB1_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms10;
 
   SRB1_lchan_config = CALLOC(1, sizeof(*SRB1_lchan_config));
   SRB1_config->logicalChannelConfig = SRB1_lchan_config;
 
-  SRB1_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
+  SRB1_lchan_config->present = LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
   SRB1_ul_SpecificParameters = CALLOC(1, sizeof(*SRB1_ul_SpecificParameters));
 
   SRB1_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB1_ul_SpecificParameters;
@@ -4520,11 +4518,11 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   //assign_enum(&SRB1_ul_SpecificParameters->prioritisedBitRate,LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity);
   SRB1_ul_SpecificParameters->prioritisedBitRate =
-    LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
 
   //assign_enum(&SRB1_ul_SpecificParameters->bucketSizeDuration,LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50);
   SRB1_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   logicalchannelgroup = CALLOC(1, sizeof(long));
   *logicalchannelgroup = 0;
@@ -4556,11 +4554,11 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   // PDSCH
   //assign_enum(&physicalConfigDedicated2->pdsch_ConfigDedicated->p_a,
   //          PDSCH_ConfigDedicated__p_a_dB0);
-  physicalConfigDedicated2->pdsch_ConfigDedicated->p_a = PDSCH_ConfigDedicated__p_a_dB0;
+  physicalConfigDedicated2->pdsch_ConfigDedicated->p_a = LTE_PDSCH_ConfigDedicated__p_a_dB0;
 
   // PUCCH
   physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present =
-    PUCCH_ConfigDedicated__ackNackRepetition_PR_release;
+    LTE_PUCCH_ConfigDedicated__ackNackRepetition_PR_release;
   physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.choice.release = 0;
   physicalConfigDedicated2->pucch_ConfigDedicated->tdd_AckNackFeedbackMode = NULL;    //PUCCH_ConfigDedicated__tdd_AckNackFeedbackMode_multiplexing;
 
@@ -4574,18 +4572,18 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   //assign_enum(&physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled,
   // UplinkPowerControlDedicated__deltaMCS_Enabled_en1);
   physicalConfigDedicated2->uplinkPowerControlDedicated->deltaMCS_Enabled =
-    UplinkPowerControlDedicated__deltaMCS_Enabled_en1;
+    LTE_UplinkPowerControlDedicated__deltaMCS_Enabled_en1;
   physicalConfigDedicated2->uplinkPowerControlDedicated->accumulationEnabled = 1; // should be TRUE in order to have 0dB power offset
   physicalConfigDedicated2->uplinkPowerControlDedicated->p0_UE_PUCCH = 0; // 0 dB
   physicalConfigDedicated2->uplinkPowerControlDedicated->pSRS_Offset = 0; // 0 dB
   physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient =
     CALLOC(1, sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient));
   //  assign_enum(physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient,FilterCoefficient_fc4); // fc4 dB
-  *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient = FilterCoefficient_fc4;  // fc4 dB
+  *physicalConfigDedicated2->uplinkPowerControlDedicated->filterCoefficient = LTE_FilterCoefficient_fc4;  // fc4 dB
 
   // TPC-PDCCH-Config
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->present = TPC_PDCCH_Config_PR_setup;
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_Index.present = TPC_Index_PR_indexOfFormat3;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->present = LTE_TPC_PDCCH_Config_PR_setup;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_Index.present = LTE_TPC_Index_PR_indexOfFormat3;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_Index.choice.indexOfFormat3 = 1;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.buf = CALLOC(1, 2);
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.size = 2;
@@ -4593,8 +4591,8 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.buf[1] = 0x34 + ue_context_pP->local_uid;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH->choice.setup.tpc_RNTI.bits_unused = 0;
 
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->present = TPC_PDCCH_Config_PR_setup;
-  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_Index.present = TPC_Index_PR_indexOfFormat3;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->present = LTE_TPC_PDCCH_Config_PR_setup;
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_Index.present = LTE_TPC_Index_PR_indexOfFormat3;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_Index.choice.indexOfFormat3 = 1;
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_RNTI.buf = CALLOC(1, 2);
   physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH->choice.setup.tpc_RNTI.size = 2;
@@ -4636,34 +4634,34 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   //AntennaInfoDedicated
   physicalConfigDedicated2->antennaInfo = CALLOC(1, sizeof(*physicalConfigDedicated2->antennaInfo));
-  physicalConfigDedicated2->antennaInfo->present = PhysicalConfigDedicated__antennaInfo_PR_explicitValue;
+  physicalConfigDedicated2->antennaInfo->present = LTE_PhysicalConfigDedicated__antennaInfo_PR_explicitValue;
   //assign_enum(&physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode,
-  //     AntennaInfoDedicated__transmissionMode_tm2);
+  //     LTE_AntennaInfoDedicated__transmissionMode_tm2);
   /*
      switch (transmission_mode){
      case 1:
-     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm1;
+     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm1;
      break;
      case 2:
-     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm2;
+     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm2;
      break;
      case 4:
-     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm4;
+     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm4;
      break;
      case 5:
-     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm5;
+     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm5;
      break;
      case 6:
-     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     AntennaInfoDedicated__transmissionMode_tm6;
+     physicalConfigDedicated2->antennaInfo->choice.explicitValue.transmissionMode=     LTE_AntennaInfoDedicated__transmissionMode_tm6;
      break;
      }
    */
   physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.present =
-    AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_release;
+    LTE_AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_release;
   physicalConfigDedicated2->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection.choice.release = 0;
 
   // SchedulingRequestConfig
-  physicalConfigDedicated2->schedulingRequestConfig->present = SchedulingRequestConfig_PR_setup;
+  physicalConfigDedicated2->schedulingRequestConfig->present = LTE_SchedulingRequestConfig_PR_setup;
   physicalConfigDedicated2->schedulingRequestConfig->choice.setup.sr_PUCCH_ResourceIndex = ue_context_pP->local_uid;
 
   if (rrc_inst->carrier[0].sib1->tdd_Config==NULL) {  // FD
@@ -4696,7 +4694,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   //SchedulingRequestConfig__setup__dsr_TransMax_n4);
   //  assign_enum(&physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax = SchedulingRequestConfig__setup__dsr_TransMax_n4;
   physicalConfigDedicated2->schedulingRequestConfig->choice.setup.dsr_TransMax =
-    SchedulingRequestConfig__setup__dsr_TransMax_n4;
+    LTE_SchedulingRequestConfig__setup__dsr_TransMax_n4;
 
   LOG_D(RRC,
         "handover_config [FRAME %05d][RRC_eNB][MOD %02d][][--- MAC_CONFIG_REQ  (SRB1 UE %x) --->][MAC_eNB][MOD %02d][]\n",
@@ -4705,38 +4703,38 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 			 ctxt_pP->module_id,
 			 ue_context_pP->ue_context.primaryCC_id,
 			 0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 0,
 #endif 
 			 ue_context_pP->ue_context.rnti,
-			 (BCCH_BCH_Message_t *) NULL,
-			 (RadioResourceConfigCommonSIB_t*) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-			 (RadioResourceConfigCommonSIB_t*) NULL,
+			 (LTE_BCCH_BCH_Message_t *) NULL,
+			 (LTE_RadioResourceConfigCommonSIB_t*) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+			 (LTE_RadioResourceConfigCommonSIB_t*) NULL,
 #endif
 			 ue_context_pP->ue_context.physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			 (SCellToAddMod_r10_t *)NULL,
-			 //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			 (LTE_SCellToAddMod_r10_t *)NULL,
+			 //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			 (MeasObjectToAddMod_t **) NULL,
+			 (LTE_MeasObjectToAddMod_t **) NULL,
 			 ue_context_pP->ue_context.mac_MainConfig,
 			 1,
 			 SRB1_logicalChannelConfig,
 			 ue_context_pP->ue_context.measGapConfig,
-			 (TDD_Config_t*) NULL,
-			 (MobilityControlInfo_t*) NULL,
-			 (SchedulingInfoList_t*) NULL,
+			 (LTE_TDD_Config_t*) NULL,
+			 (LTE_MobilityControlInfo_t*) NULL,
+			 (LTE_SchedulingInfoList_t*) NULL,
 			 0,
 			 NULL,
 			 NULL,
-			 (MBSFN_SubframeConfigList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			 , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
+			 (LTE_MBSFN_SubframeConfigList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			 , 0, (LTE_MBSFN_AreaInfoList_r9_t *) NULL, (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 			 ,
-			 (SystemInformationBlockType1_v1310_IEs_t *)NULL
+			 (LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL
 #endif
 			 );
   
@@ -4750,27 +4748,27 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   SRB2_rlc_config = CALLOC(1, sizeof(*SRB2_rlc_config));
   SRB2_config->rlc_Config = SRB2_rlc_config;
 
-  SRB2_rlc_config->present = SRB_ToAddMod__rlc_Config_PR_explicitValue;
-  SRB2_rlc_config->choice.explicitValue.present = RLC_Config_PR_am;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = T_PollRetransmit_ms15;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = PollPDU_p8;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = PollByte_kB1000;
-  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = UL_AM_RLC__maxRetxThreshold_t32;
-  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = T_Reordering_ms35;
-  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = T_StatusProhibit_ms10;
+  SRB2_rlc_config->present = LTE_SRB_ToAddMod__rlc_Config_PR_explicitValue;
+  SRB2_rlc_config->choice.explicitValue.present = LTE_RLC_Config_PR_am;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms15;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollPDU = LTE_PollPDU_p8;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.pollByte = LTE_PollByte_kB1000;
+  SRB2_rlc_config->choice.explicitValue.choice.am.ul_AM_RLC.maxRetxThreshold = LTE_UL_AM_RLC__maxRetxThreshold_t32;
+  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+  SRB2_rlc_config->choice.explicitValue.choice.am.dl_AM_RLC.t_StatusProhibit = LTE_T_StatusProhibit_ms10;
 
   SRB2_lchan_config = CALLOC(1, sizeof(*SRB2_lchan_config));
   SRB2_config->logicalChannelConfig = SRB2_lchan_config;
 
-  SRB2_lchan_config->present = SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
+  SRB2_lchan_config->present = LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue;
 
   SRB2_ul_SpecificParameters = CALLOC(1, sizeof(*SRB2_ul_SpecificParameters));
 
   SRB2_ul_SpecificParameters->priority = 1;
   SRB2_ul_SpecificParameters->prioritisedBitRate =
-    LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
   SRB2_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   // LCG for CCCH and DCCH is 0 as defined in 36331
   logicalchannelgroup = CALLOC(1, sizeof(long));
@@ -4786,17 +4784,17 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   /// DRB
   DRB_config = CALLOC(1, sizeof(*DRB_config));
 
-  //DRB_config->drb_Identity = (DRB_Identity_t) 1; //allowed values 1..32
+  //DRB_config->drb_Identity = (LTE_DRB_Identity_t) 1; //allowed values 1..32
   // NN: this is the 1st DRB for this ue, so set it to 1
-  DRB_config->drb_Identity = (DRB_Identity_t) 1;  // (ue_mod_idP+1); //allowed values 1..32
+  DRB_config->drb_Identity = (LTE_DRB_Identity_t) 1;  // (ue_mod_idP+1); //allowed values 1..32
   DRB_config->logicalChannelIdentity = CALLOC(1, sizeof(long));
   *(DRB_config->logicalChannelIdentity) = (long)3;
   DRB_rlc_config = CALLOC(1, sizeof(*DRB_rlc_config));
   DRB_config->rlc_Config = DRB_rlc_config;
-  DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+  DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
 
   DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
   DRB_config->pdcp_Config = DRB_pdcp_config;
@@ -4804,8 +4802,8 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   DRB_pdcp_config->rlc_AM = NULL;
   PDCP_rlc_UM = CALLOC(1, sizeof(*PDCP_rlc_UM));
   DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-  PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-  DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+  PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+  DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
 
   DRB_lchan_config = CALLOC(1, sizeof(*DRB_lchan_config));
   DRB_config->logicalChannelConfig = DRB_lchan_config;
@@ -4814,9 +4812,9 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   DRB_ul_SpecificParameters->priority = 2;    // lower priority than srb1, srb2
   DRB_ul_SpecificParameters->prioritisedBitRate =
-    LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
   DRB_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+    LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
 
   // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
   logicalchannelgroup_drb = CALLOC(1, sizeof(long));
@@ -4831,14 +4829,14 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   mac_MainConfig->ul_SCH_Config = CALLOC(1, sizeof(*mac_MainConfig->ul_SCH_Config));
 
   maxHARQ_Tx = CALLOC(1, sizeof(long));
-  *maxHARQ_Tx = MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
+  *maxHARQ_Tx = LTE_MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
   mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
 
   periodicBSR_Timer = CALLOC(1, sizeof(long));
-  *periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
+  *periodicBSR_Timer = LTE_PeriodicBSR_Timer_r12_sf64;
   mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
 
-  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
+  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = LTE_RetxBSR_Timer_r12_sf320;
 
   mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
 
@@ -4846,17 +4844,17 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   mac_MainConfig->phr_Config = CALLOC(1, sizeof(*mac_MainConfig->phr_Config));
 
-  mac_MainConfig->phr_Config->present = MAC_MainConfig__phr_Config_PR_setup;
-  mac_MainConfig->phr_Config->choice.setup.periodicPHR_Timer = MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20; // sf20 = 20 subframes
+  mac_MainConfig->phr_Config->present = LTE_MAC_MainConfig__phr_Config_PR_setup;
+  mac_MainConfig->phr_Config->choice.setup.periodicPHR_Timer = LTE_MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20; // sf20 = 20 subframes
 
-  mac_MainConfig->phr_Config->choice.setup.prohibitPHR_Timer = MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20; // sf20 = 20 subframes
+  mac_MainConfig->phr_Config->choice.setup.prohibitPHR_Timer = LTE_MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20; // sf20 = 20 subframes
 
-  mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
+  mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
   sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
   *sr_ProhibitTimer_r9 = 0;   // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
-  mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
+  mac_MainConfig->ext1 = CALLOC(1, sizeof(struct LTE_MAC_MainConfig__ext1));
   mac_MainConfig->ext1->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
   //sps_RA_ConfigList_rlola = NULL;
 #endif
@@ -4900,7 +4898,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   MeasId5->reportConfigId = 6;
   ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId5);
 
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list;
 
   // Add one EUTRA Measurement Object
   MeasObj_list = CALLOC(1, sizeof(*MeasObj_list));
@@ -4912,9 +4910,9 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   memset((void *)MeasObj, 0, sizeof(*MeasObj));
 
   MeasObj->measObjectId = 1;
-  MeasObj->measObject.present = MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
+  MeasObj->measObject.present = LTE_MeasObjectToAddMod__measObject_PR_measObjectEUTRA;
   MeasObj->measObject.choice.measObjectEUTRA.carrierFreq = 36090;
-  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = AllowedMeasBandwidth_mbw25;
+  MeasObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth = LTE_AllowedMeasBandwidth_mbw25;
   MeasObj->measObject.choice.measObjectEUTRA.presenceAntennaPort1 = 1;
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf = CALLOC(1, sizeof(uint8_t));
   MeasObj->measObject.choice.measObjectEUTRA.neighCellConfig.buf[0] = 0;
@@ -4923,21 +4921,21 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   MeasObj->measObject.choice.measObjectEUTRA.offsetFreq = NULL;   // Default is 15 or 0dB
 
   MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList =
-    (CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
+    (LTE_CellsToAddModList_t *) CALLOC(1, sizeof(*CellsToAddModList));
   CellsToAddModList = MeasObj->measObject.choice.measObjectEUTRA.cellsToAddModList;
 
   // Add adjacent cell lists (6 per eNB)
   for (i = 0; i < 6; i++) {
-    CellToAdd = (CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
+    CellToAdd = (LTE_CellsToAddMod_t *) CALLOC(1, sizeof(*CellToAdd));
     CellToAdd->cellIndex = i + 1;
     CellToAdd->physCellId = get_adjacent_cell_id(ctxt_pP->module_id, i);
-    CellToAdd->cellIndividualOffset = Q_OffsetRange_dB0;
+    CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0;
 
     ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd);
   }
 
   ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj);
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list;
 
   // Report Configurations for periodical, A1-A5 events
   ReportConfig_list = CALLOC(1, sizeof(*ReportConfig_list));
@@ -4955,126 +4953,126 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   ReportConfig_A5 = CALLOC(1, sizeof(*ReportConfig_A5));
 
   ReportConfig_per->reportConfigId = 1;
-  ReportConfig_per->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_per->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_periodical;
+    LTE_ReportConfigEUTRA__triggerType_PR_periodical;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerType.choice.periodical.purpose =
-    ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+    LTE_ReportConfigEUTRA__triggerType__periodical__purpose_reportStrongestCells;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_per);
 
   ReportConfig_A1->reportConfigId = 2;
-  ReportConfig_A1->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A1->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA1.
-  a1_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+  a1_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA1.
   a1_Threshold.choice.threshold_RSRP = 10;
 
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A1);
 
   ReportConfig_A2->reportConfigId = 3;
-  ReportConfig_A2->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A2->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2;
   ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA2.
-  a2_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+  a2_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA2.
   a2_Threshold.choice.threshold_RSRP = 10;
 
-  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A2);
 
   ReportConfig_A3->reportConfigId = 4;
-  ReportConfig_A3->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A3->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3;
   ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA3.a3_Offset =
     10;
   ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
   eventA3.reportOnLeave = 1;
 
-  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A3);
 
   ReportConfig_A4->reportConfigId = 5;
-  ReportConfig_A4->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A4->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4;
   ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA4.
-  a4_Threshold.present = ThresholdEUTRA_PR_threshold_RSRP;
+  a4_Threshold.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA4.
   a4_Threshold.choice.threshold_RSRP = 10;
 
-  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A4);
 
   ReportConfig_A5->reportConfigId = 6;
-  ReportConfig_A5->reportConfig.present = ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
+  ReportConfig_A5->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.present =
-    ReportConfigEUTRA__triggerType_PR_event;
+    LTE_ReportConfigEUTRA__triggerType_PR_event;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present =
-    ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5;
+    LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-  eventA5.a5_Threshold1.present = ThresholdEUTRA_PR_threshold_RSRP;
+  eventA5.a5_Threshold1.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
-  eventA5.a5_Threshold2.present = ThresholdEUTRA_PR_threshold_RSRP;
+  eventA5.a5_Threshold2.present = LTE_ThresholdEUTRA_PR_threshold_RSRP;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
   eventA5.a5_Threshold1.choice.threshold_RSRP = 10;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.
   eventA5.a5_Threshold2.choice.threshold_RSRP = 10;
 
-  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerQuantity = ReportConfigEUTRA__triggerQuantity_rsrp;
-  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportQuantity = ReportConfigEUTRA__reportQuantity_both;
+  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerQuantity = LTE_ReportConfigEUTRA__triggerQuantity_rsrp;
+  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportQuantity = LTE_ReportConfigEUTRA__reportQuantity_both;
   ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2;
-  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = ReportInterval_ms120;
-  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = ReportConfigEUTRA__reportAmount_infinity;
+  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120;
+  ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity;
 
   ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A5);
 
   Sparams = CALLOC(1, sizeof(*Sparams));
-  Sparams->present = MeasConfig__speedStatePars_PR_setup;
-  Sparams->choice.setup.timeToTrigger_SF.sf_High = SpeedStateScaleFactors__sf_Medium_oDot75;
-  Sparams->choice.setup.timeToTrigger_SF.sf_Medium = SpeedStateScaleFactors__sf_High_oDot5;
+  Sparams->present = LTE_MeasConfig__speedStatePars_PR_setup;
+  Sparams->choice.setup.timeToTrigger_SF.sf_High = LTE_SpeedStateScaleFactors__sf_Medium_oDot75;
+  Sparams->choice.setup.timeToTrigger_SF.sf_Medium = LTE_SpeedStateScaleFactors__sf_High_oDot5;
   Sparams->choice.setup.mobilityStateParameters.n_CellChangeHigh = 10;
   Sparams->choice.setup.mobilityStateParameters.n_CellChangeMedium = 5;
-  Sparams->choice.setup.mobilityStateParameters.t_Evaluation = MobilityStateParameters__t_Evaluation_s60;
-  Sparams->choice.setup.mobilityStateParameters.t_HystNormal = MobilityStateParameters__t_HystNormal_s120;
+  Sparams->choice.setup.mobilityStateParameters.t_Evaluation = LTE_MobilityStateParameters__t_Evaluation_s60;
+  Sparams->choice.setup.mobilityStateParameters.t_HystNormal = LTE_MobilityStateParameters__t_HystNormal_s120;
 
   quantityConfig = CALLOC(1, sizeof(*quantityConfig));
   memset((void *)quantityConfig, 0, sizeof(*quantityConfig));
@@ -5087,15 +5085,15 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
     CALLOC(1, sizeof(*quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP));
   quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ =
     CALLOC(1, sizeof(*quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ));
-  *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = FilterCoefficient_fc4;
-  *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = FilterCoefficient_fc4;
+  *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRP = LTE_FilterCoefficient_fc4;
+  *quantityConfig->quantityConfigEUTRA->filterCoefficientRSRQ = LTE_FilterCoefficient_fc4;
 
   /* mobilityinfo  */
 
   mobilityInfo = CALLOC(1, sizeof(*mobilityInfo));
   memset((void *)mobilityInfo, 0, sizeof(*mobilityInfo));
   mobilityInfo->targetPhysCellId =
-    (PhysCellId_t) two_tier_hexagonal_cellIds[ue_context_pP->ue_context.handover_info->modid_t];
+    (LTE_PhysCellId_t) two_tier_hexagonal_cellIds[ue_context_pP->ue_context.handover_info->modid_t];
   LOG_D(RRC, "[eNB %d] Frame %d: handover preparation: targetPhysCellId: %ld mod_id: %d ue: %x \n",
         ctxt_pP->module_id,
         ctxt_pP->frame,
@@ -5106,7 +5104,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   mobilityInfo->additionalSpectrumEmission = CALLOC(1, sizeof(*mobilityInfo->additionalSpectrumEmission));
   *mobilityInfo->additionalSpectrumEmission = 1;  //Check this value!
 
-  mobilityInfo->t304 = MobilityControlInfo__t304_ms50;    // need to configure an appropriate value here
+  mobilityInfo->t304 = LTE_MobilityControlInfo__t304_ms50;    // need to configure an appropriate value here
 
   // New UE Identity (C-RNTI) to identify an UE uniquely in a cell
   mobilityInfo->newUE_Identity.size = 2;
@@ -5122,41 +5120,41 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   mobilityInfo->radioResourceConfigCommon.rach_ConfigCommon =
     CALLOC(1, sizeof(*mobilityInfo->radioResourceConfigCommon.rach_ConfigCommon));
   memcpy((void *)mobilityInfo->radioResourceConfigCommon.rach_ConfigCommon,
-         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.rach_ConfigCommon, sizeof(RACH_ConfigCommon_t));
+         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.rach_ConfigCommon, sizeof(LTE_RACH_ConfigCommon_t));
   mobilityInfo->radioResourceConfigCommon.prach_Config.prach_ConfigInfo =
     CALLOC(1, sizeof(*mobilityInfo->radioResourceConfigCommon.prach_Config.prach_ConfigInfo));
   memcpy((void *)mobilityInfo->radioResourceConfigCommon.prach_Config.prach_ConfigInfo,
          (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.prach_Config.prach_ConfigInfo,
-         sizeof(PRACH_ConfigInfo_t));
+         sizeof(LTE_PRACH_ConfigInfo_t));
 
   mobilityInfo->radioResourceConfigCommon.prach_Config.rootSequenceIndex =
     rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.prach_Config.rootSequenceIndex;
   mobilityInfo->radioResourceConfigCommon.pdsch_ConfigCommon =
     CALLOC(1, sizeof(*mobilityInfo->radioResourceConfigCommon.pdsch_ConfigCommon));
   memcpy((void *)mobilityInfo->radioResourceConfigCommon.pdsch_ConfigCommon,
-         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.pdsch_ConfigCommon, sizeof(PDSCH_ConfigCommon_t));
+         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.pdsch_ConfigCommon, sizeof(LTE_PDSCH_ConfigCommon_t));
   memcpy((void *)&mobilityInfo->radioResourceConfigCommon.pusch_ConfigCommon,
-         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.pusch_ConfigCommon, sizeof(PUSCH_ConfigCommon_t));
+         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.pusch_ConfigCommon, sizeof(LTE_PUSCH_ConfigCommon_t));
   mobilityInfo->radioResourceConfigCommon.phich_Config = NULL;
   mobilityInfo->radioResourceConfigCommon.pucch_ConfigCommon =
     CALLOC(1, sizeof(*mobilityInfo->radioResourceConfigCommon.pucch_ConfigCommon));
   memcpy((void *)mobilityInfo->radioResourceConfigCommon.pucch_ConfigCommon,
-         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.pucch_ConfigCommon, sizeof(PUCCH_ConfigCommon_t));
+         (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.pucch_ConfigCommon, sizeof(LTE_PUCCH_ConfigCommon_t));
   mobilityInfo->radioResourceConfigCommon.soundingRS_UL_ConfigCommon =
     CALLOC(1, sizeof(*mobilityInfo->radioResourceConfigCommon.soundingRS_UL_ConfigCommon));
   memcpy((void *)mobilityInfo->radioResourceConfigCommon.soundingRS_UL_ConfigCommon,
          (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon,
-         sizeof(SoundingRS_UL_ConfigCommon_t));
+         sizeof(LTE_SoundingRS_UL_ConfigCommon_t));
   mobilityInfo->radioResourceConfigCommon.uplinkPowerControlCommon =
     CALLOC(1, sizeof(*mobilityInfo->radioResourceConfigCommon.uplinkPowerControlCommon));
   memcpy((void *)mobilityInfo->radioResourceConfigCommon.uplinkPowerControlCommon,
          (void *)&rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.uplinkPowerControlCommon,
-         sizeof(UplinkPowerControlCommon_t));
+         sizeof(LTE_UplinkPowerControlCommon_t));
   mobilityInfo->radioResourceConfigCommon.antennaInfoCommon = NULL;
   mobilityInfo->radioResourceConfigCommon.p_Max = NULL;   // CALLOC(1,sizeof(*mobilityInfo->radioResourceConfigCommon.p_Max));
   //memcpy((void *)mobilityInfo->radioResourceConfigCommon.p_Max,(void *)rrc_inst->sib1->p_Max,sizeof(P_Max_t));
-  mobilityInfo->radioResourceConfigCommon.tdd_Config = NULL;  //CALLOC(1,sizeof(TDD_Config_t));
-  //memcpy((void *)mobilityInfo->radioResourceConfigCommon.tdd_Config,(void *)rrc_inst->sib1->tdd_Config,sizeof(TDD_Config_t));
+  mobilityInfo->radioResourceConfigCommon.tdd_Config = NULL;  //CALLOC(1,sizeof(LTE_TDD_Config_t));
+  //memcpy((void *)mobilityInfo->radioResourceConfigCommon.tdd_Config,(void *)rrc_inst->sib1->tdd_Config,sizeof(LTE_TDD_Config_t));
   mobilityInfo->radioResourceConfigCommon.ul_CyclicPrefixLength =
     rrc_inst->carrier[0] /* CROUX TBC */.sib2->radioResourceConfigCommon.ul_CyclicPrefixLength;
   //End of configuration of radioResourceConfigCommon
@@ -5166,8 +5164,8 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   mobilityInfo->carrierFreq->ul_CarrierFreq = NULL;
 
   mobilityInfo->carrierBandwidth = CALLOC(1, sizeof(
-      *mobilityInfo->carrierBandwidth));    //CALLOC(1,sizeof(struct CarrierBandwidthEUTRA));  AllowedMeasBandwidth_mbw25
-  mobilityInfo->carrierBandwidth->dl_Bandwidth = CarrierBandwidthEUTRA__dl_Bandwidth_n25;
+      *mobilityInfo->carrierBandwidth));    //CALLOC(1,sizeof(struct LTE_CarrierBandwidthEUTRA));  LTE_AllowedMeasBandwidth_mbw25
+  mobilityInfo->carrierBandwidth->dl_Bandwidth = LTE_CarrierBandwidthEUTRA__dl_Bandwidth_n25;
   mobilityInfo->carrierBandwidth->ul_Bandwidth = NULL;
   mobilityInfo->rach_ConfigDedicated = NULL;
 
@@ -5175,17 +5173,17 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   memcpy(ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.srb_ToAddModList,
          (void*)SRB_configList2,
-         sizeof(SRB_ToAddModList_t));
+         sizeof(LTE_SRB_ToAddModList_t));
   memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.drb_ToAddModList,
          (void*)DRB_configList2,
-         sizeof(DRB_ToAddModList_t));
+         sizeof(LTE_DRB_ToAddModList_t));
   ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.drb_ToReleaseList = NULL;
   memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.mac_MainConfig,
          (void*)mac_MainConfig,
-         sizeof(MAC_MainConfig_t));
+         sizeof(LTE_MAC_MainConfig_t));
   memcpy((void*)ue_context_pP->ue_context.handover_info->as_config.sourceRadioResourceConfig.physicalConfigDedicated,
          (void*)ue_context_pP->ue_context.physicalConfigDedicated,
-         sizeof(PhysicalConfigDedicated_t));
+         sizeof(LTE_PhysicalConfigDedicated_t));
   /*    memcpy((void *)rrc_inst->handover_info[ue_mod_idP]->as_config.sourceRadioResourceConfig.sps_Config,
      (void *)rrc_inst->sps_Config[ue_mod_idP],
      sizeof(SPS_Config_t));
@@ -5214,17 +5212,17 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   rrc_pdcp_config_asn1_req(&ctxt,
                            ue_context_pP->ue_context.SRB_configList,
-                           (DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL, 0xff, NULL, NULL, NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                           , (PMCH_InfoList_r9_t *) NULL
+                           (LTE_DRB_ToAddModList_t *) NULL, (LTE_DRB_ToReleaseList_t *) NULL, 0xff, NULL, NULL, NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                           , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                            ,NULL);
 
   rrc_rlc_config_asn1_req(&ctxt,
                           ue_context_pP->ue_context.SRB_configList,
-                          (DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                          , (PMCH_InfoList_r9_t *) NULL
+                          (LTE_DRB_ToAddModList_t *) NULL, (LTE_DRB_ToReleaseList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                          , (LTE_PMCH_InfoList_r9_t *) NULL
                           , 0, 0
 #endif
                          );
@@ -5232,7 +5230,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   /* Initialize NAS list */
   dedicatedInfoNASList = NULL;
 
-  //  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
+  //  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list;
   memset(buffer, 0, RRC_BUF_SIZE);
 
  int size=do_RRCConnectionReconfiguration(
@@ -5255,23 +5253,23 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
            NULL,
            NULL,
            dedicatedInfoNASList,
-           (SL_CommConfig_r12_t*)NULL,
-           (SL_DiscConfig_r12_t*)NULL
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+           (LTE_SL_CommConfig_r12_t*)NULL,
+           (LTE_SL_DiscConfig_r12_t*)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
            , NULL   // SCellToAddMod_r10_t
 #endif
          );
  if (size <= 0)
   LOG_E(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration for handover (bytes %d, UE rnti %x) failed\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration for handover (bytes %d, UE rnti %x) failed\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
  else
   LOG_I(RRC,
-        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration for handover (bytes %d, UE rnti %x)\n",
+        "[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration for handover (bytes %d, UE rnti %x)\n",
         ctxt_pP->module_id, ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
   // to be updated if needed
   /*if (RC.rrc[ctxt_pP->module_id]->SRB1_config[ue_mod_idP]->logicalChannelConfig) {
-     if (RC.rrc[ctxt_pP->module_id]->SRB1_config[ue_mod_idP]->logicalChannelConfig->present == SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
+     if (RC.rrc[ctxt_pP->module_id]->SRB1_config[ue_mod_idP]->logicalChannelConfig->present == LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
      SRB1_logicalChannelConfig = &RC.rrc[ctxt_pP->module_id]->SRB1_config[ue_mod_idP]->logicalChannelConfig->choice.explicitValue;
      }
      else {
@@ -5293,34 +5291,34 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 			 ctxt_pP->module_id,
 			 ue_context_pP->ue_context.primaryCC_id,
 			 0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			 0,
 #endif
 			 ue_context_pP->ue_context.rnti,
-			 (BCCH_BCH_Message_t *) NULL,
-			 (RadioResourceConfigCommonSIB_t *) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-			 (RadioResourceConfigCommonSIB_t *) NULL,
+			 (LTE_BCCH_BCH_Message_t *) NULL,
+			 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+			 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
 #endif
 			 ue_context_pP->ue_context.physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			 (SCellToAddMod_r10_t *)NULL,
-			 //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			 (LTE_SCellToAddMod_r10_t *)NULL,
+			 //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			 (MeasObjectToAddMod_t **) NULL,
+			 (LTE_MeasObjectToAddMod_t **) NULL,
 			 ue_context_pP->ue_context.mac_MainConfig,
 			 1,
 			 SRB1_logicalChannelConfig,
 			 ue_context_pP->ue_context.measGapConfig,
-			 (TDD_Config_t *) NULL,
-			 (MobilityControlInfo_t *) mobilityInfo,
-			 (SchedulingInfoList_t *) NULL, 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			 , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
+			 (LTE_TDD_Config_t *) NULL,
+			 (LTE_MobilityControlInfo_t *) mobilityInfo,
+			 (LTE_SchedulingInfoList_t *) NULL, 0, NULL, NULL, (LTE_MBSFN_SubframeConfigList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			 , 0, (LTE_MBSFN_AreaInfoList_r9_t *) NULL, (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 			 ,
-			 (SystemInformationBlockType1_v1310_IEs_t *)NULL
+			 (LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL
 #endif
 			 );
   
@@ -5357,15 +5355,15 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
 /*
   void ue_rrc_process_rrcConnectionReconfiguration(uint8_t enb_mod_idP,frame_t frameP,
-  RRCConnectionReconfiguration_t *rrcConnectionReconfiguration,
+  LTE_RRCConnectionReconfiguration_t *rrcConnectionReconfiguration,
   uint8_t CH_index) {
 
-  if (rrcConnectionReconfiguration->criticalExtensions.present == RRCConnectionReconfiguration__criticalExtensions_PR_c1)
-  if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.present == RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8) {
+  if (rrcConnectionReconfiguration->criticalExtensions.present == LTE_RRCConnectionReconfiguration__criticalExtensions_PR_c1)
+  if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.present == LTE_RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8) {
 
   if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated) {
   rrc_ue_process_radioResourceConfigDedicated(enb_mod_idP,frameP,CH_index,
-  rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated);
+  LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated);
 
   }
 
@@ -5402,10 +5400,10 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
   uint8_t                            *kUPenc = NULL;
   ue_context_pP->ue_context.ue_reestablishment_timer = 0;
 
-  DRB_ToAddModList_t*                 DRB_configList = ue_context_pP->ue_context.DRB_configList2[xid];
-  SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList2[xid];
-  DRB_ToReleaseList_t*                DRB_Release_configList2 = ue_context_pP->ue_context.DRB_Release_configList2[xid];
-  DRB_Identity_t*                     drb_id_p      = NULL;
+  LTE_DRB_ToAddModList_t*                 DRB_configList = ue_context_pP->ue_context.DRB_configList2[xid];
+  LTE_SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList2[xid];
+  LTE_DRB_ToReleaseList_t*                DRB_Release_configList2 = ue_context_pP->ue_context.DRB_Release_configList2[xid];
+  LTE_DRB_Identity_t*                     drb_id_p      = NULL;
 
   T(T_ENB_RRC_CONNECTION_RECONFIGURATION_COMPLETE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
     T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
@@ -5439,7 +5437,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
     ctxt_pP,
     SRB_configList, //NULL,  //LG-RK 14/05/2014 SRB_configList,
     DRB_configList, 
-//    (DRB_ToReleaseList_t *) NULL,
+//    (LTE_DRB_ToReleaseList_t *) NULL,
     DRB_Release_configList2,
     /*RC.rrc[ctxt_pP->module_id]->ciphering_algorithm[ue_mod_idP] |
              (RC.rrc[ctxt_pP->module_id]->integrity_algorithm[ue_mod_idP] << 4),
@@ -5448,8 +5446,8 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
     kRRCenc,
     kRRCint,
     kUPenc
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-    , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+    , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
     ,NULL);
   // Refresh SRBs/DRBs
@@ -5457,10 +5455,10 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
     ctxt_pP,
     SRB_configList, // NULL,  //LG-RK 14/05/2014 SRB_configList,
     DRB_configList,
-//    (DRB_ToReleaseList_t *) NULL
+//    (LTE_DRB_ToReleaseList_t *) NULL
     DRB_Release_configList2
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-    , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+    , (LTE_PMCH_InfoList_r9_t *) NULL
     , 0, 0
 #endif
   );
@@ -5497,7 +5495,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
       if (DRB_configList->list.array[i]) {
 	drb_id = (int)DRB_configList->list.array[i]->drb_Identity;
         LOG_I(RRC,
-              "[eNB %d] Frame  %d : Logical Channel UL-DCCH, Received RRCConnectionReconfigurationComplete from UE rnti %x, reconfiguring DRB %d/LCID %d\n",
+              "[eNB %d] Frame  %d : Logical Channel UL-DCCH, Received LTE_RRCConnectionReconfigurationComplete from UE rnti %x, reconfiguring DRB %d/LCID %d\n",
               ctxt_pP->module_id,
               ctxt_pP->frame,
               ctxt_pP->rnti,
@@ -5505,7 +5503,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
               (int)*DRB_configList->list.array[i]->logicalChannelIdentity);
         // for pre-ci tests
         LOG_I(RRC,
-              "[eNB %d] Frame  %d : Logical Channel UL-DCCH, Received RRCConnectionReconfigurationComplete from UE %u, reconfiguring DRB %d/LCID %d\n",
+              "[eNB %d] Frame  %d : Logical Channel UL-DCCH, Received LTE_RRCConnectionReconfigurationComplete from UE %u, reconfiguring DRB %d/LCID %d\n",
               ctxt_pP->module_id,
               ctxt_pP->frame,
               oai_emulation.info.eNB_ue_local_uid_to_ue_module_id[ctxt_pP->module_id][ue_context_pP->local_uid],
@@ -5533,7 +5531,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
                 ctxt_pP->module_id);
           oip_ifup = nas_config(
                        ctxt_pP->module_id,   // interface index
-                       ctxt_pP->module_id + 1,   // thrid octet
+                       ctxtReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA_pP->module_id + 1,   // thrid octet
                        ctxt_pP->module_id + 1);  // fourth octet
 
           if (oip_ifup == 0) {    // interface is up --> send a config the DRB
@@ -5570,35 +5568,35 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
 				 ctxt_pP->module_id,
 				 ue_context_pP->ue_context.primaryCC_id,
 				 0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 				 0,
 #endif
 				 ue_context_pP->ue_context.rnti,
-				 (BCCH_BCH_Message_t *) NULL,
-				 (RadioResourceConfigCommonSIB_t *) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-				 (RadioResourceConfigCommonSIB_t *) NULL,
+				 (LTE_BCCH_BCH_Message_t *) NULL,
+				 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+				 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
 #endif
 				 ue_context_pP->ue_context.physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-				 (SCellToAddMod_r10_t *)NULL,
-				 //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+				 (LTE_SCellToAddMod_r10_t *)NULL,
+				 //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-				 (MeasObjectToAddMod_t **) NULL,
+				 (LTE_MeasObjectToAddMod_t **) NULL,
 				 ue_context_pP->ue_context.mac_MainConfig,
 				 DRB2LCHAN[i],
 				 DRB_configList->list.array[i]->logicalChannelConfig,
 				 ue_context_pP->ue_context.measGapConfig,
-				 (TDD_Config_t *) NULL,
+				 (LTE_TDD_Config_t *) NULL,
 				 NULL,
-				 (SchedulingInfoList_t *) NULL,
-				 0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-				 , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
+				 (LTE_SchedulingInfoList_t *) NULL,
+				 0, NULL, NULL, (LTE_MBSFN_SubframeConfigList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+				 , 0, (LTE_MBSFN_AreaInfoList_r9_t *) NULL, (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 				 ,
-				 (SystemInformationBlockType1_v1310_IEs_t *)NULL
+				 (LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL
 #endif
 				 );
 	  
@@ -5625,35 +5623,35 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
           rrc_mac_config_req_eNB(ctxt_pP->module_id,
 				 ue_context_pP->ue_context.primaryCC_id,
 				 0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 				 0,
 #endif
 				 ue_context_pP->ue_context.rnti,
-				 (BCCH_BCH_Message_t *) NULL,
-				 (RadioResourceConfigCommonSIB_t *) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-				 (RadioResourceConfigCommonSIB_t *) NULL,
+				 (LTE_BCCH_BCH_Message_t *) NULL,
+				 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+				 (LTE_RadioResourceConfigCommonSIB_t *) NULL,
 #endif
 				 ue_context_pP->ue_context.physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-				 (SCellToAddMod_r10_t *)NULL,
-				 //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+				 (LTE_SCellToAddMod_r10_t *)NULL,
+				 //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-				 (MeasObjectToAddMod_t **) NULL,
+				 (LTE_MeasObjectToAddMod_t **) NULL,
 				 ue_context_pP->ue_context.mac_MainConfig,
 				 DRB2LCHAN[i],
-				 (LogicalChannelConfig_t *) NULL,
-				 (MeasGapConfig_t *) NULL,
-				 (TDD_Config_t *) NULL,
+				 (LTE_LogicalChannelConfig_t *) NULL,
+				 (LTE_MeasGapConfig_t *) NULL,
+				 (LTE_TDD_Config_t *) NULL,
 				 NULL, 
-				 (SchedulingInfoList_t *) NULL,
+				 (LTE_SchedulingInfoList_t *) NULL,
 				 0, NULL, NULL, NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-				 , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+				 , 0, (LTE_MBSFN_AreaInfoList_r9_t *) NULL, (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 				 ,
-				 (SystemInformationBlockType1_v1310_IEs_t *)NULL
+				 (LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL
 #endif
 				 );
         }
@@ -5688,9 +5686,9 @@ rrc_eNB_generate_RRCConnectionSetup(
 //-----------------------------------------------------------------------------
 {
 
-  LogicalChannelConfig_t             *SRB1_logicalChannelConfig;  //,*SRB2_logicalChannelConfig;
-  SRB_ToAddModList_t                **SRB_configList;
-  SRB_ToAddMod_t                     *SRB1_config;
+  LTE_LogicalChannelConfig_t             *SRB1_logicalChannelConfig;  //,*SRB2_logicalChannelConfig;
+  LTE_SRB_ToAddModList_t                **SRB_configList;
+  LTE_SRB_ToAddMod_t                     *SRB1_config;
   int                                 cnt;
 
   T(T_ENB_RRC_CONNECTION_SETUP, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
@@ -5712,7 +5710,7 @@ rrc_eNB_generate_RRCConnectionSetup(
               RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size,
               "[MSG] RRC Connection Setup\n");
 
-  // configure SRB1/SRB2, PhysicalConfigDedicated, MAC_MainConfig for UE
+  // configure SRB1/SRB2, PhysicalConfigDedicated, LTE_MAC_MainConfig for UE
 
   if (*SRB_configList != NULL) {
     for (cnt = 0; cnt < (*SRB_configList)->list.count; cnt++) {
@@ -5721,7 +5719,7 @@ rrc_eNB_generate_RRCConnectionSetup(
 
         if (SRB1_config->logicalChannelConfig) {
           if (SRB1_config->logicalChannelConfig->present ==
-              SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
+              LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
             SRB1_logicalChannelConfig = &SRB1_config->logicalChannelConfig->choice.explicitValue;
           } else {
             SRB1_logicalChannelConfig = &SRB1_logicalChannelConfig_defaultValue;
@@ -5737,35 +5735,35 @@ rrc_eNB_generate_RRCConnectionSetup(
 			       ctxt_pP->module_id,
 			       ue_context_pP->ue_context.primaryCC_id,
 			       0,0,0,0,0,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 			       0,
 #endif
 			       ue_context_pP->ue_context.rnti,
-			       (BCCH_BCH_Message_t *) NULL,
-			       (RadioResourceConfigCommonSIB_t *) NULL,
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-			       (RadioResourceConfigCommonSIB_t *) NULL,
+			       (LTE_BCCH_BCH_Message_t *) NULL,
+			       (LTE_RadioResourceConfigCommonSIB_t *) NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+			       (LTE_RadioResourceConfigCommonSIB_t *) NULL,
 #endif
 			       ue_context_pP->ue_context.physicalConfigDedicated,
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			       (SCellToAddMod_r10_t *)NULL,
-			       //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+			       (LTE_SCellToAddMod_r10_t *)NULL,
+			       //(struct LTE_PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
-			       (MeasObjectToAddMod_t **) NULL,
+			       (LTE_MeasObjectToAddMod_t **) NULL,
 			       ue_context_pP->ue_context.mac_MainConfig,
 			       1,
 			       SRB1_logicalChannelConfig,
 			       ue_context_pP->ue_context.measGapConfig,
-			       (TDD_Config_t *) NULL,
+			       (LTE_TDD_Config_t *) NULL,
 			       NULL,
-			       (SchedulingInfoList_t *) NULL,
-			       0, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			       , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
+			       (LTE_SchedulingInfoList_t *) NULL,
+			       0, NULL, NULL, (LTE_MBSFN_SubframeConfigList_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+			       , 0, (LTE_MBSFN_AreaInfoList_r9_t *) NULL, (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-#if (RRC_VERSION >= MAKE_VERSION(13, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(13, 0, 0))
 			       ,
-			       (SystemInformationBlockType1_v1310_IEs_t *)NULL
+			       (LTE_SystemInformationBlockType1_v1310_IEs_t *)NULL
 #endif
 			       );
         break;
@@ -5778,21 +5776,21 @@ rrc_eNB_generate_RRCConnectionSetup(
     MSC_RRC_UE,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.Header, // LG WARNING
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size,
-    MSC_AS_TIME_FMT" RRCConnectionSetup UE %x size %u",
+    MSC_AS_TIME_FMT" LTE_RRCConnectionSetup UE %x size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     ue_context_pP->ue_context.rnti,
     RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 
 
   LOG_I(RRC,
-        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCConnectionSetup (bytes %d)\n",
+        PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionSetup (bytes %d)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
         RC.rrc[ctxt_pP->module_id]->carrier[CC_id].Srb0.Tx_buffer.payload_size);
 
   //ue_context_pP->ue_context.ue_release_timer_thres=100;
      // activate release timer, if RRCSetupComplete not received after 100 frames, remove UE
    ue_context_pP->ue_context.ue_release_timer=1;
-   // remove UE after 10 frames after RRCConnectionRelease is triggered
+   // remove UE after 10 frames after LTE_RRCConnectionRelease is triggered
    ue_context_pP->ue_context.ue_release_timer_thres=1000;
 }
 
@@ -5868,14 +5866,14 @@ openair_rrc_eNB_init(
 
   LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Checking release \n",
         PROTOCOL_RRC_CTXT_ARGS(&ctxt));
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   // can clear it at runtime
   RC.rrc[ctxt.module_id]->carrier[0].MBMS_flag = 0;
 
   // This has to come from some top-level configuration
   // only CC_id 0 is logged
-#if (RRC_VERSION < MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
   LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel10 RRC detected, MBMS flag %d\n",
 #else
   LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel14 RRC detected, MBMS flag %d\n",
@@ -5925,7 +5923,7 @@ openair_rrc_eNB_init(
   rrc_init_global_param();
   for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     switch (RC.rrc[ctxt.module_id]->carrier[CC_id].MBMS_flag) {
     case 1:
     case 2:
@@ -5970,11 +5968,11 @@ rrc_eNB_decode_ccch(
 )
 //-----------------------------------------------------------------------------
 {
-  module_id_t                                   Idx;
-  asn_dec_rval_t                      dec_rval;
-  UL_CCCH_Message_t                  *ul_ccch_msg = NULL;
-  RRCConnectionRequest_r8_IEs_t*                rrcConnectionRequest = NULL;
-  RRCConnectionReestablishmentRequest_r8_IEs_t* rrcConnectionReestablishmentRequest = NULL;
+  module_id_t                                       Idx;
+  asn_dec_rval_t                                    dec_rval;
+  LTE_UL_CCCH_Message_t                             *ul_ccch_msg = NULL;
+  LTE_RRCConnectionRequest_r8_IEs_t*                rrcConnectionRequest = NULL;
+  LTE_RRCConnectionReestablishmentRequest_r8_IEs_t* rrcConnectionReestablishmentRequest = NULL;
   int                                 i, rval;
   struct rrc_eNB_ue_context_s*                  ue_context_p = NULL;
   uint64_t                                      random_value = 0;
@@ -5995,7 +5993,7 @@ rrc_eNB_decode_ccch(
         ((uint8_t *) Srb_info->Rx_buffer.Payload)[5], (uint8_t *) Srb_info->Rx_buffer.Payload);
   dec_rval = uper_decode(
                NULL,
-               &asn_DEF_UL_CCCH_Message,
+               &asn_DEF_LTE_UL_CCCH_Message,
                (void**)&ul_ccch_msg,
                (uint8_t*) Srb_info->Rx_buffer.Payload,
                100,
@@ -6019,7 +6017,7 @@ rrc_eNB_decode_ccch(
     size_t                              message_string_size;
 
     if ((message_string_size =
-           xer_sprint(message_string, sizeof(message_string), &asn_DEF_UL_CCCH_Message, (void *)ul_ccch_msg)) > 0) {
+           xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_CCCH_Message, (void *)ul_ccch_msg)) > 0) {
       MessageDef                         *msg_p;
 
       msg_p = itti_alloc_new_message_sized(TASK_RRC_ENB, RRC_UL_CCCH, message_string_size + sizeof(IttiMsgText));
@@ -6044,17 +6042,17 @@ rrc_eNB_decode_ccch(
     return -1;
   }
 
-  if (ul_ccch_msg->message.present == UL_CCCH_MessageType_PR_c1) {
+  if (ul_ccch_msg->message.present == LTE_UL_CCCH_MessageType_PR_c1) {
 
     switch (ul_ccch_msg->message.choice.c1.present) {
 
-    case UL_CCCH_MessageType__c1_PR_NOTHING:
+    case LTE_UL_CCCH_MessageType__c1_PR_NOTHING:
       LOG_I(RRC,
             PROTOCOL_RRC_CTXT_FMT" Received PR_NOTHING on UL-CCCH-Message\n",
             PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
       break;
 
-    case UL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentRequest:
+    case LTE_UL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentRequest:
       T(T_ENB_RRC_CONNECTION_REESTABLISHMENT_REQUEST, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
@@ -6068,10 +6066,10 @@ rrc_eNB_decode_ccch(
       rrcConnectionReestablishmentRequest =
         &ul_ccch_msg->message.choice.c1.choice.rrcConnectionReestablishmentRequest.criticalExtensions.choice.rrcConnectionReestablishmentRequest_r8;
       LOG_I(RRC,
-            PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentRequest cause %s\n",
+            PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentRequest cause %s\n",
             PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
-            ((rrcConnectionReestablishmentRequest->reestablishmentCause == ReestablishmentCause_otherFailure) ?    "Other Failure" :
-             (rrcConnectionReestablishmentRequest->reestablishmentCause == ReestablishmentCause_handoverFailure) ? "Handover Failure" :
+            ((rrcConnectionReestablishmentRequest->reestablishmentCause == LTE_ReestablishmentCause_otherFailure) ?    "Other Failure" :
+             (rrcConnectionReestablishmentRequest->reestablishmentCause == LTE_ReestablishmentCause_handoverFailure) ? "Handover Failure" :
              "reconfigurationFailure"));
       /*{
       uint64_t                            c_rnti = 0;
@@ -6097,7 +6095,7 @@ rrc_eNB_decode_ccch(
 
       if (rrcConnectionReestablishmentRequest->ue_Identity.physCellId != RC.rrc[ctxt_pP->module_id]->carrier[CC_id].physCellId) {
         LOG_E(RRC,
-              PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentRequest ue_Identity.physCellId(%ld) is not equal to current physCellId(%d), let's reject the UE\n",
+              PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentRequest ue_Identity.physCellId(%ld) is not equal to current physCellId(%d), let's reject the UE\n",
               PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
               rrcConnectionReestablishmentRequest->ue_Identity.physCellId,
               RC.rrc[ctxt_pP->module_id]->carrier[CC_id].physCellId);
@@ -6114,7 +6112,7 @@ rrc_eNB_decode_ccch(
       if (rrcConnectionReestablishmentRequest->ue_Identity.c_RNTI.size == 0 ||
           rrcConnectionReestablishmentRequest->ue_Identity.c_RNTI.size > 2) {
         LOG_E(RRC,
-              PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentRequest c_RNTI range error, let's reject the UE\n",
+              PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentRequest c_RNTI range error, let's reject the UE\n",
               PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
         rrc_eNB_generate_RRCConnectionReestablishmentReject(ctxt_pP, ue_context_p, CC_id);
         break;
@@ -6127,7 +6125,7 @@ rrc_eNB_decode_ccch(
       ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt_pP->module_id], c_rnti);
       if (ue_context_p == NULL) {
         LOG_E(RRC,
-              PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentRequest without UE context, let's reject the UE\n",
+              PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentRequest without UE context, let's reject the UE\n",
               PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
         rrc_eNB_generate_RRCConnectionReestablishmentReject(ctxt_pP, ue_context_p, CC_id);
         break;
@@ -6135,7 +6133,7 @@ rrc_eNB_decode_ccch(
       int UE_id = find_UE_id(ctxt_pP->module_id, c_rnti);
       if(UE_id == -1){
           LOG_E(RRC,
-                PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentRequest without UE_id(MAC) rnti %x, let's reject the UE\n",
+                PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentRequest without UE_id(MAC) rnti %x, let's reject the UE\n",
                 PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),c_rnti);
           rrc_eNB_generate_RRCConnectionReestablishmentReject(ctxt_pP, ue_context_p, CC_id);
           break;
@@ -6250,23 +6248,23 @@ rrc_eNB_decode_ccch(
 
       rrc_pdcp_config_asn1_req(ctxt_pP,
                                ue_context_p->ue_context.SRB_configList,
-                               (DRB_ToAddModList_t *) NULL,
-                               (DRB_ToReleaseList_t*) NULL,
+                               (LTE_DRB_ToAddModList_t *) NULL,
+                               (LTE_DRB_ToReleaseList_t*) NULL,
                                0xff,
                                NULL,
                                NULL,
                                NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                               , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                               , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                                ,NULL);
 
       rrc_rlc_config_asn1_req(ctxt_pP,
                               ue_context_p->ue_context.SRB_configList,
-                              (DRB_ToAddModList_t*) NULL,
-                              (DRB_ToReleaseList_t*) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                              , (PMCH_InfoList_r9_t *) NULL,
+                              (LTE_DRB_ToAddModList_t*) NULL,
+                              (LTE_DRB_ToReleaseList_t*) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                              , (LTE_PMCH_InfoList_r9_t *) NULL,
                               0,0
 #   endif
                              );
@@ -6274,7 +6272,7 @@ rrc_eNB_decode_ccch(
       }
       break;
 
-    case UL_CCCH_MessageType__c1_PR_rrcConnectionRequest:
+    case LTE_UL_CCCH_MessageType__c1_PR_rrcConnectionRequest:
       T(T_ENB_RRC_CONNECTION_REQUEST, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
@@ -6298,14 +6296,14 @@ rrc_eNB_decode_ccch(
           MSC_RRC_UE,
           Srb_info->Rx_buffer.Payload,
           dec_rval.consumed,
-          MSC_AS_TIME_FMT" RRCConnectionRequest UE %x size %u (UE already in context)",
+          MSC_AS_TIME_FMT" LTE_RRCConnectionRequest UE %x size %u (UE already in context)",
           MSC_AS_TIME_ARGS(ctxt_pP),
           ue_context_p->ue_context.rnti,
           dec_rval.consumed);
       } else {
         rrcConnectionRequest = &ul_ccch_msg->message.choice.c1.choice.rrcConnectionRequest.criticalExtensions.choice.rrcConnectionRequest_r8;
         {
-          if (InitialUE_Identity_PR_randomValue == rrcConnectionRequest->ue_Identity.present) {
+          if (LTE_InitialUE_Identity_PR_randomValue == rrcConnectionRequest->ue_Identity.present) {
           if(rrcConnectionRequest->ue_Identity.choice.randomValue.size != 5)
           {
             LOG_I(RRC, "wrong InitialUE-Identity randomValue size, expected 5, provided %lu",
@@ -6324,9 +6322,9 @@ rrc_eNB_decode_ccch(
               ue_context_p->ue_context.ul_failure_timer = 20000;
             }
             ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, random_value);
-          } else if (InitialUE_Identity_PR_s_TMSI == rrcConnectionRequest->ue_Identity.present) {
+          } else if (LTE_InitialUE_Identity_PR_s_TMSI == rrcConnectionRequest->ue_Identity.present) {
             /* Save s-TMSI */
-            S_TMSI_t   s_TMSI = rrcConnectionRequest->ue_Identity.choice.s_TMSI;
+            LTE_S_TMSI_t   s_TMSI = rrcConnectionRequest->ue_Identity.choice.s_TMSI;
             mme_code_t mme_code = BIT_STRING_to_uint8(&s_TMSI.mmec);
             m_tmsi_t   m_tmsi   = BIT_STRING_to_uint32(&s_TMSI.m_TMSI);
             random_value = (((uint64_t)mme_code) << 32) | m_tmsi;
@@ -6394,10 +6392,9 @@ rrc_eNB_decode_ccch(
 
         if (ue_context_p != NULL) {
 
-
 #if defined(ENABLE_ITTI)
           ue_context_p->ue_context.establishment_cause = rrcConnectionRequest->establishmentCause;
-          ue_context_p->ue_context.reestablishment_cause = ReestablishmentCause_spare1;
+          ue_context_p->ue_context.reestablishment_cause = LTE_ReestablishmentCause_spare1;
 	  if (stmsi_received==0)
 	    LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Accept new connection from UE random UE identity (0x%" PRIx64 ") MME code %u TMSI %u cause %ld\n",
 		  PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
@@ -6478,23 +6475,23 @@ rrc_eNB_decode_ccch(
 
       rrc_pdcp_config_asn1_req(ctxt_pP,
                                ue_context_p->ue_context.SRB_configList,
-                               (DRB_ToAddModList_t *) NULL,
-                               (DRB_ToReleaseList_t*) NULL,
+                               (LTE_DRB_ToAddModList_t *) NULL,
+                               (LTE_DRB_ToReleaseList_t*) NULL,
                                0xff,
                                NULL,
                                NULL,
                                NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                               , (PMCH_InfoList_r9_t *) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                               , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
                                ,NULL);
 
       rrc_rlc_config_asn1_req(ctxt_pP,
                               ue_context_p->ue_context.SRB_configList,
-                              (DRB_ToAddModList_t*) NULL,
-                              (DRB_ToReleaseList_t*) NULL
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-                              , (PMCH_InfoList_r9_t *) NULL
+                              (LTE_DRB_ToAddModList_t*) NULL,
+                              (LTE_DRB_ToReleaseList_t*) NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+                              , (LTE_PMCH_InfoList_r9_t *) NULL
                               , 0, 0
 #endif
                              );
@@ -6532,7 +6529,7 @@ rrc_eNB_decode_dcch(
 
   asn_dec_rval_t                      dec_rval;
   //UL_DCCH_Message_t uldcchmsg;
-  UL_DCCH_Message_t                  *ul_dcch_msg = NULL; //&uldcchmsg;
+  LTE_UL_DCCH_Message_t               *ul_dcch_msg = NULL; //&uldcchmsg;
   int i;
   struct rrc_eNB_ue_context_s*        ue_context_p = NULL;
 #if defined(ENABLE_ITTI)
@@ -6562,7 +6559,7 @@ rrc_eNB_decode_dcch(
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
   dec_rval = uper_decode(
                NULL,
-               &asn_DEF_UL_DCCH_Message,
+               &asn_DEF_LTE_UL_DCCH_Message,
                (void**)&ul_dcch_msg,
                Rx_sdu,
                sdu_sizeP,
@@ -6588,16 +6585,16 @@ rrc_eNB_decode_dcch(
                    RC.rrc[ctxt_pP->module_id],
                    ctxt_pP->rnti);
 
-  if (ul_dcch_msg->message.present == UL_DCCH_MessageType_PR_c1) {
+  if (ul_dcch_msg->message.present == LTE_UL_DCCH_MessageType_PR_c1) {
 
     switch (ul_dcch_msg->message.choice.c1.present) {
-    case UL_DCCH_MessageType__c1_PR_NOTHING:   /* No components present */
+    case LTE_UL_DCCH_MessageType__c1_PR_NOTHING:   /* No components present */
       break;
 
-    case UL_DCCH_MessageType__c1_PR_csfbParametersRequestCDMA2000:
+    case LTE_UL_DCCH_MessageType__c1_PR_csfbParametersRequestCDMA2000:
       break;
 
-    case UL_DCCH_MessageType__c1_PR_measurementReport:
+    case LTE_UL_DCCH_MessageType__c1_PR_measurementReport:
       // to avoid segmentation fault
       if(!ue_context_p){
         LOG_I(RRC, "Processing measurementReport UE %x, ue_context_p is NULL\n", ctxt_pP->rnti);
@@ -6616,10 +6613,10 @@ rrc_eNB_decode_dcch(
         criticalExtensions.choice.c1.choice.measurementReport_r8.measResults);
       break;
 
-    case UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete:
+    case LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete:
       // to avoid segmentation fault
       if(!ue_context_p){
-        LOG_I(RRC, "Processing RRCConnectionReconfigurationComplete UE %x, ue_context_p is NULL\n", ctxt_pP->rnti);
+        LOG_I(RRC, "Processing LTE_RRCConnectionReconfigurationComplete UE %x, ue_context_p is NULL\n", ctxt_pP->rnti);
         break;
       }
       LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)(Rx_sdu),sdu_sizeP,
@@ -6630,7 +6627,7 @@ rrc_eNB_decode_dcch(
         MSC_RRC_UE,
         Rx_sdu,
         sdu_sizeP,
-        MSC_AS_TIME_FMT" RRCConnectionReconfigurationComplete UE %x size %u",
+        MSC_AS_TIME_FMT" LTE_RRCConnectionReconfigurationComplete UE %x size %u",
         MSC_AS_TIME_ARGS(ctxt_pP),
         ue_context_p->ue_context.rnti,
         sdu_sizeP);
@@ -6644,7 +6641,7 @@ rrc_eNB_decode_dcch(
 
       if (ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.criticalExtensions.
           present ==
-          RRCConnectionReconfigurationComplete__criticalExtensions_PR_rrcConnectionReconfigurationComplete_r8) {
+          LTE_RRCConnectionReconfigurationComplete__criticalExtensions_PR_rrcConnectionReconfigurationComplete_r8) {
 	/*NN: revise the condition */
 	/*FK: left the condition as is for the case MME is used (S1 mode) but setting  dedicated_DRB = 1 otherwise (noS1 mode) so that no second RRCReconfiguration message activationg more DRB is sent as this causes problems with the nasmesh driver.*/
         if (EPC_MODE_ENABLED) {
@@ -6740,11 +6737,11 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
                              ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.rrc_TransactionIdentifier);
           }
   }else if(dedicated_DRB == 0){
-          if(ue_context_p->ue_context.reestablishment_cause == ReestablishmentCause_spare1){
+          if(ue_context_p->ue_context.reestablishment_cause == LTE_ReestablishmentCause_spare1){
 	    rrc_eNB_send_S1AP_INITIAL_CONTEXT_SETUP_RESP(ctxt_pP,
 						       ue_context_p);
           } else {
-            ue_context_p->ue_context.reestablishment_cause = ReestablishmentCause_spare1;
+            ue_context_p->ue_context.reestablishment_cause = LTE_ReestablishmentCause_spare1;
             for (uint8_t e_rab = 0; e_rab < ue_context_p->ue_context.nb_of_e_rabs; e_rab++) {
               if (ue_context_p->ue_context.e_rab[e_rab].status == E_RAB_STATUS_DONE) {
                 ue_context_p->ue_context.e_rab[e_rab].status = E_RAB_STATUS_ESTABLISHED;
@@ -6771,7 +6768,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
 #endif 
       break;
 
-    case UL_DCCH_MessageType__c1_PR_rrcConnectionReestablishmentComplete:
+    case LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReestablishmentComplete:
       T(T_ENB_RRC_CONNECTION_REESTABLISHMENT_COMPLETE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
@@ -6783,7 +6780,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
         MSC_RRC_UE,
         Rx_sdu,
         sdu_sizeP,
-        MSC_AS_TIME_FMT" rrcConnectionReestablishmentComplete UE %x size %u",
+        MSC_AS_TIME_FMT" LTE_RRCConnectionReestablishmentComplete UE %x size %u",
         MSC_AS_TIME_ARGS(ctxt_pP),
         ue_context_p->ue_context.rnti,
         sdu_sizeP);
@@ -6814,7 +6811,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
 
         if (!ue_context_p) {
           LOG_E(RRC,
-                PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentComplete without UE context, falt\n",
+                PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentComplete without UE context, falt\n",
                 PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
           break;
         }
@@ -6822,7 +6819,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
         int UE_id = find_UE_id(ctxt_pP->module_id, ctxt_pP->rnti);
         if(UE_id == -1){
           LOG_E(RRC,
-                PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionReestablishmentComplete without UE_id(MAC) rnti %x, fault\n",
+                PROTOCOL_RRC_CTXT_UE_FMT" LTE_RRCConnectionReestablishmentComplete without UE_id(MAC) rnti %x, fault\n",
                 PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ctxt_pP->rnti);
           break;
         }
@@ -6830,7 +6827,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
         ue_context_p->ue_context.ue_reestablishment_timer = 0;
 
         if (ul_dcch_msg->message.choice.c1.choice.rrcConnectionReestablishmentComplete.criticalExtensions.present ==
-            RRCConnectionReestablishmentComplete__criticalExtensions_PR_rrcConnectionReestablishmentComplete_r8) {
+            LTE_RRCConnectionReestablishmentComplete__criticalExtensions_PR_rrcConnectionReestablishmentComplete_r8) {
           rrc_eNB_process_RRCConnectionReestablishmentComplete(ctxt_pP, reestablish_rnti, ue_context_p,
               ul_dcch_msg->message.choice.c1.choice.rrcConnectionReestablishmentComplete.rrc_TransactionIdentifier,
               &ul_dcch_msg->message.choice.c1.choice.rrcConnectionReestablishmentComplete.criticalExtensions.choice.rrcConnectionReestablishmentComplete_r8);
@@ -6844,15 +6841,15 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
         }
         //ue_context_p->ue_context.ue_release_timer = 0;
         ue_context_p->ue_context.ue_reestablishment_timer = 1;
-        // remove UE after 100 frames after RRCConnectionReestablishmentRelease is triggered
+        // remove UE after 100 frames after LTE_RRCConnectionReestablishmentRelease is triggered
         ue_context_p->ue_context.ue_reestablishment_timer_thres = 1000;
       }
       break;
 
-    case UL_DCCH_MessageType__c1_PR_rrcConnectionSetupComplete:
+    case LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionSetupComplete:
       // to avoid segmentation fault
       if(!ue_context_p){
-        LOG_I(RRC, "Processing RRCConnectionSetupComplete UE %x, ue_context_p is NULL\n", ctxt_pP->rnti);
+        LOG_I(RRC, "Processing LTE_RRCConnectionSetupComplete UE %x, ue_context_p is NULL\n", ctxt_pP->rnti);
         break;
       }
       LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
@@ -6863,7 +6860,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
         MSC_RRC_UE,
         Rx_sdu,
         sdu_sizeP,
-        MSC_AS_TIME_FMT" RRCConnectionSetupComplete UE %x size %u",
+        MSC_AS_TIME_FMT" LTE_RRCConnectionSetupComplete UE %x size %u",
         MSC_AS_TIME_ARGS(ctxt_pP),
         ue_context_p->ue_context.rnti,
         sdu_sizeP);
@@ -6876,10 +6873,10 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
             sdu_sizeP);
 
       if (ul_dcch_msg->message.choice.c1.choice.rrcConnectionSetupComplete.criticalExtensions.present ==
-          RRCConnectionSetupComplete__criticalExtensions_PR_c1) {
+          LTE_RRCConnectionSetupComplete__criticalExtensions_PR_c1) {
         if (ul_dcch_msg->message.choice.c1.choice.rrcConnectionSetupComplete.criticalExtensions.choice.c1.
             present ==
-            RRCConnectionSetupComplete__criticalExtensions__c1_PR_rrcConnectionSetupComplete_r8) {
+            LTE_RRCConnectionSetupComplete__criticalExtensions__c1_PR_rrcConnectionSetupComplete_r8) {
           rrc_eNB_process_RRCConnectionSetupComplete(
             ctxt_pP,
             ue_context_p,
@@ -6899,7 +6896,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
       ue_context_p->ue_context.ue_release_timer=0;
       break;
 
-    case UL_DCCH_MessageType__c1_PR_securityModeComplete:
+    case LTE_UL_DCCH_MessageType__c1_PR_securityModeComplete:
       T(T_ENB_RRC_SECURITY_MODE_COMPLETE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
       // to avoid segmentation fault
@@ -6932,7 +6929,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
             DCCH,
             sdu_sizeP);
       if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-         xer_fprint(stdout, &asn_DEF_UL_DCCH_Message, (void *)ul_dcch_msg);
+         xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)ul_dcch_msg);
       }
       // confirm with PDCP about the security mode for DCCH
       //rrc_pdcp_config_req (enb_mod_idP, frameP, 1,CONFIG_ACTION_SET_SECURITY_MODE, (ue_mod_idP * NB_RB_MAX) + DCCH, 0x77);
@@ -6942,7 +6939,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
         ue_context_p);
       break;
 
-    case UL_DCCH_MessageType__c1_PR_securityModeFailure:
+    case LTE_UL_DCCH_MessageType__c1_PR_securityModeFailure:
       T(T_ENB_RRC_SECURITY_MODE_FAILURE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
@@ -6966,7 +6963,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
             DCCH,
             sdu_sizeP);
       if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-         xer_fprint(stdout, &asn_DEF_UL_DCCH_Message, (void *)ul_dcch_msg);
+         xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)ul_dcch_msg);
       }
       // cancel the security mode in PDCP
 
@@ -6975,7 +6972,7 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
       rrc_eNB_generate_UECapabilityEnquiry(ctxt_pP, ue_context_p);
       break;
 
-    case UL_DCCH_MessageType__c1_PR_ueCapabilityInformation:
+    case LTE_UL_DCCH_MessageType__c1_PR_ueCapabilityInformation:
       T(T_ENB_RRC_UE_CAPABILITY_INFORMATION, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
       // to avoid segmentation fault
@@ -7008,17 +7005,17 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
             DCCH,
             sdu_sizeP);
       if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-          xer_fprint(stdout, &asn_DEF_UL_DCCH_Message, (void *)ul_dcch_msg);
+          xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)ul_dcch_msg);
       }
       LOG_I(RRC, "got UE capabilities for UE %x\n", ctxt_pP->rnti);
       if (ue_context_p->ue_context.UE_Capability) {
         LOG_I(RRC, "freeing old UE capabilities for UE %x\n", ctxt_pP->rnti);
-        ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
+        ASN_STRUCT_FREE(asn_DEF_LTE_UE_EUTRA_Capability,
                         ue_context_p->ue_context.UE_Capability);
         ue_context_p->ue_context.UE_Capability = 0;
       }
       dec_rval = uper_decode(NULL,
-                             &asn_DEF_UE_EUTRA_Capability,
+                             &asn_DEF_LTE_UE_EUTRA_Capability,
                              (void **)&ue_context_p->ue_context.UE_Capability,
                              ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.
                              choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.
@@ -7027,14 +7024,14 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
                              choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.
                              array[0]->ueCapabilityRAT_Container.size, 0, 0);
       if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-         xer_fprint(stdout, &asn_DEF_UE_EUTRA_Capability, ue_context_p->ue_context.UE_Capability);
+         xer_fprint(stdout, &asn_DEF_LTE_UE_EUTRA_Capability, ue_context_p->ue_context.UE_Capability);
       }
 
       if ((dec_rval.code != RC_OK) && (dec_rval.consumed == 0)) {
         LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UE capabilities (%zu bytes)\n",
               PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
               dec_rval.consumed);
-        ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
+        ASN_STRUCT_FREE(asn_DEF_LTE_UE_EUTRA_Capability,
                         ue_context_p->ue_context.UE_Capability);
         ue_context_p->ue_context.UE_Capability = 0;
       }
@@ -7061,13 +7058,13 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
           RC.rrc[ctxt_pP->module_id]->HO_flag);
       break;
 
-    case UL_DCCH_MessageType__c1_PR_ulHandoverPreparationTransfer:
+    case LTE_UL_DCCH_MessageType__c1_PR_ulHandoverPreparationTransfer:
       T(T_ENB_RRC_UL_HANDOVER_PREPARATION_TRANSFER, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
       break;
 
-    case UL_DCCH_MessageType__c1_PR_ulInformationTransfer:
+    case LTE_UL_DCCH_MessageType__c1_PR_ulInformationTransfer:
       T(T_ENB_RRC_UL_INFORMATION_TRANSFER, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
       // to avoid segmentation fault
@@ -7097,41 +7094,41 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
       }
       break;
 
-    case UL_DCCH_MessageType__c1_PR_counterCheckResponse:
+    case LTE_UL_DCCH_MessageType__c1_PR_counterCheckResponse:
       T(T_ENB_RRC_COUNTER_CHECK_RESPONSE, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
       break;
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
 
-    case UL_DCCH_MessageType__c1_PR_ueInformationResponse_r9:
+    case LTE_UL_DCCH_MessageType__c1_PR_ueInformationResponse_r9:
       T(T_ENB_RRC_UE_INFORMATION_RESPONSE_R9, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
       break;
 
-    case UL_DCCH_MessageType__c1_PR_proximityIndication_r9:
+    case LTE_UL_DCCH_MessageType__c1_PR_proximityIndication_r9:
       T(T_ENB_RRC_PROXIMITY_INDICATION_R9, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
       break;
 #endif
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-    case UL_DCCH_MessageType__c1_PR_rnReconfigurationComplete_r10:
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+    case LTE_UL_DCCH_MessageType__c1_PR_rnReconfigurationComplete_r10:
       T(T_ENB_RRC_RECONFIGURATION_COMPLETE_R10, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
       break;
 
-    case UL_DCCH_MessageType__c1_PR_mbmsCountingResponse_r10:
+    case LTE_UL_DCCH_MessageType__c1_PR_mbmsCountingResponse_r10:
       T(T_ENB_RRC_MBMS_COUNTING_RESPONSE_R10, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
       break;
 
-    case UL_DCCH_MessageType__c1_PR_interFreqRSTDMeasurementIndication_r10:
+    case LTE_UL_DCCH_MessageType__c1_PR_interFreqRSTDMeasurementIndication_r10:
       T(T_ENB_RRC_INTER_FREQ_RSTD_MEASUREMENT_INDICATION, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
         T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
 
@@ -7150,13 +7147,13 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
 
     return 0;
     //TTN for D2D
-  } else if (ul_dcch_msg->message.present == UL_DCCH_MessageType_PR_messageClassExtension){
+  } else if (ul_dcch_msg->message.present == LTE_UL_DCCH_MessageType_PR_messageClassExtension){
      LOG_I(RRC, "THINH [UL_DCCH_MessageType_PR_messageClassExtension]\n");
 
      switch (ul_dcch_msg->message.choice.messageClassExtension.present) {
-     case UL_DCCH_MessageType__messageClassExtension_PR_NOTHING: /* No components present */
+     case LTE_UL_DCCH_MessageType__messageClassExtension_PR_NOTHING: /* No components present */
         break;
-     case UL_DCCH_MessageType__messageClassExtension_PR_c2: //SidelinkUEInformation
+     case LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2: //SidelinkUEInformation
      //case UL_DCCH_MessageType__messageClassExtension__c2_PR_sidelinkUEInformation_r12: //SidelinkUEInformation
         LOG_I(RRC,"THINH [UL_DCCH_MessageType__messageClassExtension_PR_c2]\n");
 
@@ -7437,7 +7434,7 @@ openair_rrc_top_init_eNB(int eMBMS_active,uint8_t HO_active)
       RC.rrc[module_id]->HO_flag   = (uint8_t)HO_active;
     }
 
-#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
     LOG_I(RRC,"[eNB] eMBMS active state is %d \n", eMBMS_active);
 
     for (module_id=0; module_id<NB_eNB_INST; module_id++) {
@@ -7480,11 +7477,11 @@ uint8_t
 rrc_eNB_process_SidelinkUEInformation(
       const protocol_ctxt_t* const ctxt_pP,
       rrc_eNB_ue_context_t*         ue_context_pP,
-      SidelinkUEInformation_r12_t * sidelinkUEInformation
+      LTE_SidelinkUEInformation_r12_t * sidelinkUEInformation
 )
 //-----------------------------------------------------------------------------
 {
-   SL_DestinationInfoList_r12_t  *destinationInfoList;
+   LTE_SL_DestinationInfoList_r12_t  *destinationInfoList;
    int n_destinations = 0;
    int n_discoveryMessages = 0;
 
@@ -7493,8 +7490,8 @@ rrc_eNB_process_SidelinkUEInformation(
          PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
 
    //For SL Communication
-   if (sidelinkUEInformation->criticalExtensions.present ==  SidelinkUEInformation_r12__criticalExtensions_PR_c1){
-      if (sidelinkUEInformation->criticalExtensions.choice.c1.present == SidelinkUEInformation_r12__criticalExtensions__c1_PR_sidelinkUEInformation_r12){
+   if (sidelinkUEInformation->criticalExtensions.present == LTE_SidelinkUEInformation_r12__criticalExtensions_PR_c1){
+      if (sidelinkUEInformation->criticalExtensions.choice.c1.present == LTE_SidelinkUEInformation_r12__criticalExtensions__c1_PR_sidelinkUEInformation_r12){
          // express its interest to receive SL communication
          if (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commRxInterestedFreq_r12 !=  NULL){
 
@@ -7503,7 +7500,7 @@ rrc_eNB_process_SidelinkUEInformation(
          // express its interest to transmit  non-relay one-to-many SL communication
          if ((sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12 != NULL) && (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->carrierFreq_r12 != NULL)){
             n_destinations = sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12.list.count;
-            destinationInfoList = CALLOC(1, sizeof(SL_DestinationInfoList_r12_t));
+            destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
             for (int i=0; i< n_destinations; i++ ){
                //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12.list.array[i]);
                ASN_SEQUENCE_ADD(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12.list.array[i]);
@@ -7518,7 +7515,7 @@ rrc_eNB_process_SidelinkUEInformation(
          if ((sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension != NULL) && (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13 != NULL)) {
             if (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->carrierFreq_r12 != NULL){
                n_destinations = sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->destinationInfoList_r12.list.count;
-               destinationInfoList = CALLOC(1, sizeof(SL_DestinationInfoList_r12_t));
+               destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
                for (int i=0; i< n_destinations; i++ ){
                   //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->destinationInfoList_r12.list.array[i]);
                   ASN_SEQUENCE_ADD(&destinationInfoList->list,sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->destinationInfoList_r12.list.array[i]);
@@ -7533,7 +7530,7 @@ rrc_eNB_process_SidelinkUEInformation(
          if ((sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension != NULL) &&(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13 != NULL)) {
             if (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13->destinationInfoList_r12.list.count > 0) {
                n_destinations = sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13->destinationInfoList_r12.list.count;
-               destinationInfoList = CALLOC(1, sizeof(SL_DestinationInfoList_r12_t));
+               destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
                for (int i=0; i< n_destinations; i++ ){
                   //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13->destinationInfoList_r12.list.array[i]);
                   ASN_SEQUENCE_ADD(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13->destinationInfoList_r12.list.array[i]);
@@ -7548,7 +7545,7 @@ rrc_eNB_process_SidelinkUEInformation(
          if ((sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension != NULL) && (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13 != NULL)) {
             if (sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12.list.count > 0){
                n_destinations = sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12.list.count;
-               destinationInfoList = CALLOC(1, sizeof(SL_DestinationInfoList_r12_t));
+               destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
                for (int i=0; i< n_destinations; i++ ){
                   //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12.list.array[i]);
                   ASN_SEQUENCE_ADD(&destinationInfoList->list,sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12.list.array[i]);
@@ -7587,7 +7584,7 @@ int
 rrc_eNB_generate_RRCConnectionReconfiguration_Sidelink(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t* const ue_context_pP,
-  SL_DestinationInfoList_r12_t  *destinationInfoList,
+  LTE_SL_DestinationInfoList_r12_t  *destinationInfoList,
   int n_discoveryMessages
 )
 //-----------------------------------------------------------------------------
@@ -7601,55 +7598,55 @@ rrc_eNB_generate_RRCConnectionReconfiguration_Sidelink(
   //populate dedicated resources for SL communication (sl-CommConfig)
   if ((destinationInfoList != NULL) && (destinationInfoList->list.count > 0)) {
 
-     LOG_I(RRC,"[eNB %d] Frame %d, Generate RRCConnectionReconfiguration_Sidelink (bytes %d, UE id %x), number of destinations %d\n",
+     LOG_I(RRC,"[eNB %d] Frame %d, Generate LTE_RRCConnectionReconfiguration_Sidelink (bytes %d, UE id %x), number of destinations %d\n",
             ctxt_pP->module_id,ctxt_pP->frame, size, ue_context_pP->ue_context.rnti,destinationInfoList->list.count );
      //get dedicated resources from available pool and assign to the UE
-     SL_CommConfig_r12_t  sl_CommConfig[destinationInfoList->list.count];
+     LTE_SL_CommConfig_r12_t  sl_CommConfig[destinationInfoList->list.count];
      //get a RP from the available RPs
      sl_CommConfig[0] = rrc_eNB_get_sidelink_commTXPool(ctxt_pP, ue_context_pP, destinationInfoList);
 
      size = do_RRCConnectionReconfiguration(ctxt_pP,
                    buffer,
                    rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id),   //Transaction_id
-                   (SRB_ToAddModList_t*)NULL,
-                   (DRB_ToAddModList_t*)NULL,
-                   (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                   (struct SPS_Config*)NULL,    // *sps_Config,
+                   (LTE_SRB_ToAddModList_t*)NULL,
+                   (LTE_DRB_ToAddModList_t*)NULL,
+                   (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                   (struct LTE_SPS_Config*)NULL,    // *sps_Config,
                    NULL, NULL, NULL, NULL,NULL,
                    NULL, NULL,  NULL, NULL, NULL, NULL,
-                   (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL,
-                   (SL_CommConfig_r12_t*)&sl_CommConfig,
-                   (SL_DiscConfig_r12_t*)NULL
-  #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                           , (SCellToAddMod_r10_t*)NULL
+                   (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL,
+                   (LTE_SL_CommConfig_r12_t*)&sl_CommConfig,
+                   (LTE_SL_DiscConfig_r12_t*)NULL
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                           , (LTE_SCellToAddMod_r10_t*)NULL
   #endif
                                            );
      //
   }
   //populate dedicated resources for SL discovery (sl-DiscConfig)
   if (n_discoveryMessages > 0) {
-     SL_DiscConfig_r12_t sl_DiscConfig[n_discoveryMessages];
+     LTE_SL_DiscConfig_r12_t sl_DiscConfig[n_discoveryMessages];
      //get a RP from the available RPs
      sl_DiscConfig[0] = rrc_eNB_get_sidelink_discTXPool(ctxt_pP, ue_context_pP, n_discoveryMessages );
      size = do_RRCConnectionReconfiguration(ctxt_pP,
                    buffer,
                    rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id),   //Transaction_id
-                   (SRB_ToAddModList_t*)NULL,
-                   (DRB_ToAddModList_t*)NULL,
-                   (DRB_ToReleaseList_t*)NULL,  // DRB2_list,
-                   (struct SPS_Config*)NULL,    // *sps_Config,
+                   (LTE_SRB_ToAddModList_t*)NULL,
+                   (LTE_DRB_ToAddModList_t*)NULL,
+                   (LTE_DRB_ToReleaseList_t*)NULL,  // DRB2_list,
+                   (struct LTE_SPS_Config*)NULL,    // *sps_Config,
                    NULL, NULL, NULL, NULL,NULL,
                    NULL, NULL,  NULL, NULL, NULL, NULL,
-                   (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL,
-                   (SL_CommConfig_r12_t*)NULL,
-                   (SL_DiscConfig_r12_t*)&sl_DiscConfig
-  #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                                           , (SCellToAddMod_r10_t*)NULL
+                   (struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL,
+                   (LTE_SL_CommConfig_r12_t*)NULL,
+                   (LTE_SL_DiscConfig_r12_t*)&sl_DiscConfig
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                           , (LTE_SCellToAddMod_r10_t*)NULL
   #endif
                                            );
   }
 
-  LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCConnectionReconfiguration_Sidelink (bytes %d, UE id %x)\n",
+  LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration_Sidelink (bytes %d, UE id %x)\n",
         ctxt_pP->module_id,ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
 
   rrc_data_req(
@@ -7666,16 +7663,16 @@ rrc_eNB_generate_RRCConnectionReconfiguration_Sidelink(
   return size;
 }
 
-SL_CommConfig_r12_t rrc_eNB_get_sidelink_commTXPool( const protocol_ctxt_t* const ctxt_pP, rrc_eNB_ue_context_t* const ue_context_pP,  SL_DestinationInfoList_r12_t  *destinationInfoList ){
+LTE_SL_CommConfig_r12_t rrc_eNB_get_sidelink_commTXPool( const protocol_ctxt_t* const ctxt_pP, rrc_eNB_ue_context_t* const ue_context_pP, LTE_SL_DestinationInfoList_r12_t  *destinationInfoList ){
    // for the moment, use scheduled resource allocation
-   SL_CommConfig_r12_t  *sl_CommConfig;
-   SL_CommResourcePool_r12_t    *sc_CommTxConfig;
+   LTE_SL_CommConfig_r12_t  *sl_CommConfig;
+   LTE_SL_CommResourcePool_r12_t    *sc_CommTxConfig;
 
-   sl_CommConfig = CALLOC(1, sizeof(struct SL_CommConfig_r12));
+   sl_CommConfig = CALLOC(1, sizeof(struct LTE_SL_CommConfig_r12));
    sl_CommConfig->commTxResources_r12 = CALLOC(1, sizeof(*sl_CommConfig->commTxResources_r12));
-   sl_CommConfig->commTxResources_r12->present = SL_CommConfig_r12__commTxResources_r12_PR_setup;
+   sl_CommConfig->commTxResources_r12->present = LTE_SL_CommConfig_r12__commTxResources_r12_PR_setup;
 
-   sl_CommConfig->commTxResources_r12->choice.setup.present = SL_CommConfig_r12__commTxResources_r12__setup_PR_scheduled_r12;
+   sl_CommConfig->commTxResources_r12->choice.setup.present = LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_scheduled_r12;
    sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.size = 2;
    sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.buf = CALLOC(1,2);
    sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.buf[0] = 0x00;
@@ -7683,37 +7680,37 @@ SL_CommConfig_r12_t rrc_eNB_get_sidelink_commTXPool( const protocol_ctxt_t* cons
    sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.bits_unused = 0;
    sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mcs_r12 = CALLOC(1,sizeof(*sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mcs_r12));
    //*sl_CommConfig_test->commTxResources_r12->choice.setup.choice.scheduled_r12.mcs_r12 = 12; //Msc
-   sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL = RetxBSR_Timer_r12_sf320; //MacConfig, for testing only
+   sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL = LTE_RetxBSR_Timer_r12_sf320; //MacConfig, for testing only
    //sl_CommConfig_test->commTxResources_r12->choice.setup.choice.scheduled_r12.sc_CommTxConfig_r12;
 
    sc_CommTxConfig = & sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sc_CommTxConfig_r12;
 
-   sc_CommTxConfig->sc_CP_Len_r12 = SL_CP_Len_r12_normal;
-   sc_CommTxConfig->sc_Period_r12 = SL_PeriodComm_r12_sf40;
-   sc_CommTxConfig->data_CP_Len_r12  = SL_CP_Len_r12_normal;
+   sc_CommTxConfig->sc_CP_Len_r12 = LTE_SL_CP_Len_r12_normal;
+   sc_CommTxConfig->sc_Period_r12 = LTE_SL_PeriodComm_r12_sf40;
+   sc_CommTxConfig->data_CP_Len_r12 = LTE_SL_CP_Len_r12_normal;
    //sc_TF_ResourceConfig_r12
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.prb_Num_r12 = 20;
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.prb_Start_r12 = 5;
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.prb_End_r12 = 44;
-   sc_CommTxConfig->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present = SL_OffsetIndicator_r12_PR_small_r12;
+   sc_CommTxConfig->sc_TF_ResourceConfig_r12.offsetIndicator_r12.present = LTE_SL_OffsetIndicator_r12_PR_small_r12;
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = 0;
 
-   sc_CommTxConfig->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present = SubframeBitmapSL_r12_PR_bs40_r12;
+   sc_CommTxConfig->sc_TF_ResourceConfig_r12.subframeBitmap_r12.present = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.size = 5;
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf  = CALLOC(1,5);
    sc_CommTxConfig->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.bits_unused = 0;
    //dataHoppingConfig_r12
    sc_CommTxConfig->dataHoppingConfig_r12.hoppingParameter_r12 = 0;
-   sc_CommTxConfig->dataHoppingConfig_r12.numSubbands_r12  =  SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
+   sc_CommTxConfig->dataHoppingConfig_r12.numSubbands_r12  = LTE_SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
    sc_CommTxConfig->dataHoppingConfig_r12.rb_Offset_r12 = 0;
    //ue_SelectedResourceConfig_r12
    sc_CommTxConfig->ue_SelectedResourceConfig_r12 = CALLOC (1, sizeof (*sc_CommTxConfig->ue_SelectedResourceConfig_r12));
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Num_r12 = 20;
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_Start_r12 = 5;
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.prb_End_r12 = 44;
-   sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.present = SL_OffsetIndicator_r12_PR_small_r12;
+   sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.present = LTE_SL_OffsetIndicator_r12_PR_small_r12;
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.offsetIndicator_r12.choice.small_r12 = 0 ;
-   sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.present = SubframeBitmapSL_r12_PR_bs40_r12;
+   sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.present = LTE_SubframeBitmapSL_r12_PR_bs40_r12;
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.size = 5;
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.buf  = CALLOC(1,5);
    sc_CommTxConfig->ue_SelectedResourceConfig_r12->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs4_r12.bits_unused = 0;
@@ -7730,19 +7727,20 @@ SL_CommConfig_r12_t rrc_eNB_get_sidelink_commTXPool( const protocol_ctxt_t* cons
    sc_CommTxConfig->rxParametersNCell_r12->syncConfigIndex_r12 = 0;
    //txParameters_r12
    sc_CommTxConfig->txParameters_r12 = CALLOC (1, sizeof (*sc_CommTxConfig->txParameters_r12));
-   sc_CommTxConfig->txParameters_r12->sc_TxParameters_r12.alpha_r12 = Alpha_r12_al0;
+   sc_CommTxConfig->txParameters_r12->sc_TxParameters_r12.alpha_r12 = LTE_Alpha_r12_al0;
    sc_CommTxConfig->txParameters_r12->sc_TxParameters_r12.p0_r12 = 0;
    sc_CommTxConfig->ext1 = NULL ;
 
    return *sl_CommConfig;
 }
 
-SL_DiscConfig_r12_t rrc_eNB_get_sidelink_discTXPool( const protocol_ctxt_t* const ctxt_pP, rrc_eNB_ue_context_t* const ue_context_pP,  int n_discoveryMessages ){
+
+LTE_SL_DiscConfig_r12_t rrc_eNB_get_sidelink_discTXPool( const protocol_ctxt_t* const ctxt_pP, rrc_eNB_ue_context_t* const ue_context_pP,  int n_discoveryMessages ){
    //TODO
-   SL_DiscConfig_r12_t  sl_DiscConfig;
+   LTE_SL_DiscConfig_r12_t  sl_DiscConfig;
    sl_DiscConfig.discTxResources_r12 = CALLOC(1,sizeof(*sl_DiscConfig.discTxResources_r12));
-   sl_DiscConfig.discTxResources_r12->present = SL_DiscConfig_r12__discTxResources_r12_PR_setup;
-   sl_DiscConfig.discTxResources_r12->choice.setup.present = SL_DiscConfig_r12__discTxResources_r12__setup_PR_scheduled_r12;
+   sl_DiscConfig.discTxResources_r12->present = LTE_SL_DiscConfig_r12__discTxResources_r12_PR_setup;
+   sl_DiscConfig.discTxResources_r12->choice.setup.present = LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_scheduled_r12;
    //sl_DiscConfig.discTxResources_r12->choice.setup.choice.scheduled_r12.discHoppingConfig_r12;
    //sl_DiscConfig.discTxResources_r12->choice.setup.choice.scheduled_r12.discTF_IndexList_r12;
    //sl_DiscConfig.discTxResources_r12->choice.setup.choice.scheduled_r12.discTxConfig_r12;
diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c
index f7116ff8a41cb2ac98b8a2dce0e0bbc71f111d2a..73316f4673e749a4d7c7ae56764404ac117db856 100644
--- a/openair2/RRC/LTE/rrc_eNB_S1AP.c
+++ b/openair2/RRC/LTE/rrc_eNB_S1AP.c
@@ -57,7 +57,7 @@
 #endif
 #include "msc.h"
 
-#include "UERadioAccessCapabilityInformation.h"
+#include "LTE_UERadioAccessCapabilityInformation.h"
 
 #include "gtpv1u_eNB_task.h"
 #include "RRC/LTE/rrc_eNB_GTPV1U.h"
@@ -79,13 +79,13 @@ static const uint16_t S1AP_ENCRYPTION_EEA2_MASK = 0x4000;
 static const uint16_t S1AP_INTEGRITY_EIA1_MASK = 0x8000;
 static const uint16_t S1AP_INTEGRITY_EIA2_MASK = 0x4000;
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 2, 0))
-# define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 2, 0))
+# define INTEGRITY_ALGORITHM_NONE LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920
 #else
 #ifdef EXMIMO_IOT
-# define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_eia2
+# define INTEGRITY_ALGORITHM_NONE LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia2
 #else
-# define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_reserved
+# define INTEGRITY_ALGORITHM_NONE LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_reserved
 #endif
 #endif
 
@@ -408,21 +408,21 @@ rrc_eNB_get_ue_context_from_s1ap_ids(
  *\param algorithms The bit mask of available algorithms received from S1AP.
  *\return the selected algorithm.
  */
-static CipheringAlgorithm_r12_t rrc_eNB_select_ciphering(uint16_t algorithms)
+static LTE_CipheringAlgorithm_r12_t rrc_eNB_select_ciphering(uint16_t algorithms)
 {
 
 //#warning "Forced   return SecurityAlgorithmConfig__cipheringAlgorithm_eea0, to be deleted in future"
-  return CipheringAlgorithm_r12_eea0;
+  return LTE_CipheringAlgorithm_r12_eea0;
 
   if (algorithms & S1AP_ENCRYPTION_EEA2_MASK) {
-    return CipheringAlgorithm_r12_eea2;
+    return LTE_CipheringAlgorithm_r12_eea2;
   }
 
   if (algorithms & S1AP_ENCRYPTION_EEA1_MASK) {
-    return CipheringAlgorithm_r12_eea1;
+    return LTE_CipheringAlgorithm_r12_eea1;
   }
 
-  return CipheringAlgorithm_r12_eea0;
+  return LTE_CipheringAlgorithm_r12_eea0;
 }
 
 /*! \fn e_SecurityAlgorithmConfig__integrityProtAlgorithm rrc_eNB_select_integrity(uint16_t algorithms)
@@ -430,15 +430,15 @@ static CipheringAlgorithm_r12_t rrc_eNB_select_ciphering(uint16_t algorithms)
  *\param algorithms The bit mask of available algorithms received from S1AP.
  *\return the selected algorithm.
  */
-static e_SecurityAlgorithmConfig__integrityProtAlgorithm rrc_eNB_select_integrity(uint16_t algorithms)
+static e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm rrc_eNB_select_integrity(uint16_t algorithms)
 {
 
   if (algorithms & S1AP_INTEGRITY_EIA2_MASK) {
-    return SecurityAlgorithmConfig__integrityProtAlgorithm_eia2;
+    return LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia2;
   }
 
   if (algorithms & S1AP_INTEGRITY_EIA1_MASK) {
-    return SecurityAlgorithmConfig__integrityProtAlgorithm_eia1;
+    return LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia1;
   }
 
   return INTEGRITY_ALGORITHM_NONE;
@@ -458,9 +458,9 @@ rrc_eNB_process_security(
   security_capabilities_t* security_capabilities_pP
 )
 {
-  boolean_t                                         changed = FALSE;
-  CipheringAlgorithm_r12_t                          cipheringAlgorithm;
-  e_SecurityAlgorithmConfig__integrityProtAlgorithm integrityProtAlgorithm;
+  boolean_t                                             changed = FALSE;
+  LTE_CipheringAlgorithm_r12_t                          cipheringAlgorithm;
+  e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm integrityProtAlgorithm;
 
   /* Save security parameters */
   ue_context_pP->ue_context.security_capabilities = *security_capabilities_pP;
@@ -546,7 +546,7 @@ rrc_pdcp_config_security(
 #if defined(ENABLE_SECURITY)
 
 
-  SRB_ToAddModList_t*                 SRB_configList = ue_context_pP->ue_context.SRB_configList;
+  LTE_SRB_ToAddModList_t*             SRB_configList = ue_context_pP->ue_context.SRB_configList;
   uint8_t                            *kRRCenc = NULL;
   uint8_t                            *kRRCint = NULL;
   uint8_t                            *kUPenc = NULL;
@@ -668,21 +668,21 @@ void
 rrc_eNB_send_S1AP_UPLINK_NAS(
   const protocol_ctxt_t*    const ctxt_pP,
   rrc_eNB_ue_context_t*             const ue_context_pP,
-  UL_DCCH_Message_t*        const ul_dcch_msg
+  LTE_UL_DCCH_Message_t*        const ul_dcch_msg
 )
 //------------------------------------------------------------------------------
 {
 #if defined(ENABLE_ITTI)
   {
-    ULInformationTransfer_t *ulInformationTransfer = &ul_dcch_msg->message.choice.c1.choice.ulInformationTransfer;
+    LTE_ULInformationTransfer_t *ulInformationTransfer = &ul_dcch_msg->message.choice.c1.choice.ulInformationTransfer;
 
-    if ((ulInformationTransfer->criticalExtensions.present == ULInformationTransfer__criticalExtensions_PR_c1)
+    if ((ulInformationTransfer->criticalExtensions.present == LTE_ULInformationTransfer__criticalExtensions_PR_c1)
     && (ulInformationTransfer->criticalExtensions.choice.c1.present
-    == ULInformationTransfer__criticalExtensions__c1_PR_ulInformationTransfer_r8)
+    == LTE_ULInformationTransfer__criticalExtensions__c1_PR_ulInformationTransfer_r8)
     && (ulInformationTransfer->criticalExtensions.choice.c1.choice.ulInformationTransfer_r8.dedicatedInfoType.present
-    == ULInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS)) {
+    == LTE_ULInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS)) {
       /* This message hold a dedicated info NAS payload, forward it to NAS */
-      struct ULInformationTransfer_r8_IEs__dedicatedInfoType *dedicatedInfoType =
+      struct LTE_ULInformationTransfer_r8_IEs__dedicatedInfoType *dedicatedInfoType =
           &ulInformationTransfer->criticalExtensions.choice.c1.choice.ulInformationTransfer_r8.dedicatedInfoType;
       uint32_t pdu_length;
       uint8_t *pdu_buffer;
@@ -705,15 +705,15 @@ rrc_eNB_send_S1AP_UPLINK_NAS(
   }
 #else
   {
-    ULInformationTransfer_t *ulInformationTransfer;
+    LTE_ULInformationTransfer_t *ulInformationTransfer;
     ulInformationTransfer =
     &ul_dcch_msg->message.choice.c1.choice.
     ulInformationTransfer;
 
     if (ulInformationTransfer->criticalExtensions.present ==
-    ULInformationTransfer__criticalExtensions_PR_c1) {
+    LTE_ULInformationTransfer__criticalExtensions_PR_c1) {
       if (ulInformationTransfer->criticalExtensions.choice.c1.present ==
-      ULInformationTransfer__criticalExtensions__c1_PR_ulInformationTransfer_r8) {
+      LTE_ULInformationTransfer__criticalExtensions__c1_PR_ulInformationTransfer_r8) {
 
         ULInformationTransfer_r8_IEs_t
         *ulInformationTransferR8;
@@ -722,7 +722,7 @@ rrc_eNB_send_S1AP_UPLINK_NAS(
         c1.choice.ulInformationTransfer_r8;
 
         if (ulInformationTransferR8->dedicatedInfoType.present ==
-            ULInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS) {
+            LTE_ULInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS) {
 
           extract_imsi(ulInformationTransferR8->dedicatedInfoType.choice.dedicatedInfoNAS.buf,
                        ulInformationTransferR8->dedicatedInfoType.choice.dedicatedInfoNAS.size,
@@ -742,30 +742,30 @@ rrc_eNB_send_S1AP_UPLINK_NAS(
 void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*          const ue_context_pP,
-  UL_DCCH_Message_t* ul_dcch_msg
+  LTE_UL_DCCH_Message_t* ul_dcch_msg
 )
 //------------------------------------------------------------------------------
 {
-  UECapabilityInformation_t *ueCapabilityInformation = &ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation;
+  LTE_UECapabilityInformation_t *ueCapabilityInformation = &ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation;
   /* 4096 is arbitrary, should be big enough */
   unsigned char buf[4096];
   unsigned char *buf2;
-  UERadioAccessCapabilityInformation_t rac;
+  LTE_UERadioAccessCapabilityInformation_t rac;
 
-  if (ueCapabilityInformation->criticalExtensions.present != UECapabilityInformation__criticalExtensions_PR_c1
-      || ueCapabilityInformation->criticalExtensions.choice.c1.present != UECapabilityInformation__criticalExtensions__c1_PR_ueCapabilityInformation_r8) {
+  if (ueCapabilityInformation->criticalExtensions.present != LTE_UECapabilityInformation__criticalExtensions_PR_c1
+      || ueCapabilityInformation->criticalExtensions.choice.c1.present != LTE_UECapabilityInformation__criticalExtensions__c1_PR_ueCapabilityInformation_r8) {
     LOG_E(RRC, "[eNB %d][UE %x] bad UE capabilities\n", ctxt_pP->module_id, ue_context_pP->ue_context.rnti);
     return;
   }
 
-  asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, NULL, ueCapabilityInformation, buf, 4096);
+  asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_LTE_UECapabilityInformation, NULL, ueCapabilityInformation, buf, 4096);
 
   if (ret.encoded == -1) abort();
 
-  memset(&rac, 0, sizeof(UERadioAccessCapabilityInformation_t));
+  memset(&rac, 0, sizeof(LTE_UERadioAccessCapabilityInformation_t));
 
-  rac.criticalExtensions.present = UERadioAccessCapabilityInformation__criticalExtensions_PR_c1;
-  rac.criticalExtensions.choice.c1.present = UERadioAccessCapabilityInformation__criticalExtensions__c1_PR_ueRadioAccessCapabilityInformation_r8;
+  rac.criticalExtensions.present = LTE_UERadioAccessCapabilityInformation__criticalExtensions_PR_c1;
+  rac.criticalExtensions.choice.c1.present = LTE_UERadioAccessCapabilityInformation__criticalExtensions__c1_PR_ueRadioAccessCapabilityInformation_r8;
   rac.criticalExtensions.choice.c1.choice.ueRadioAccessCapabilityInformation_r8.ue_RadioAccessCapabilityInfo.buf = buf;
   rac.criticalExtensions.choice.c1.choice.ueRadioAccessCapabilityInformation_r8.ue_RadioAccessCapabilityInfo.size = (ret.encoded+7)/8;
   rac.criticalExtensions.choice.c1.choice.ueRadioAccessCapabilityInformation_r8.nonCriticalExtension = NULL;
@@ -774,7 +774,7 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
   buf2 = malloc16(8192);
   if (buf2 == NULL) abort();
 
-  ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, NULL, &rac, buf2, 8192);
+  ret = uper_encode_to_buffer(&asn_DEF_LTE_UERadioAccessCapabilityInformation, NULL, &rac, buf2, 8192);
 
   if (ret.encoded == -1) abort();
 
@@ -872,7 +872,7 @@ rrc_eNB_send_S1AP_NAS_FIRST_REQ(
 
       if (rrcConnectionSetupComplete->registeredMME != NULL) {
         /* Fill GUMMEI */
-        struct RegisteredMME *r_mme = rrcConnectionSetupComplete->registeredMME;
+        struct LTE_RegisteredMME *r_mme = rrcConnectionSetupComplete->registeredMME;
 
         S1AP_NAS_FIRST_REQ (message_p).ue_identity.presenceMask |= UE_IDENTITIES_gummei;
 
@@ -1978,7 +1978,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
                   /* get nB from configuration */
                   /* get default DRX cycle from configuration */
                   Tc = (uint8_t)RC.rrc[instance]->configuration.pcch_defaultPagingCycle[CC_id];
-                  if (Tc < PCCH_Config__defaultPagingCycle_rf32 || Tc > PCCH_Config__defaultPagingCycle_rf256) {
+                  if (Tc < LTE_PCCH_Config__defaultPagingCycle_rf32 || Tc > LTE_PCCH_Config__defaultPagingCycle_rf256) {
                       continue;
                   }
                   Tue = (uint8_t)S1AP_PAGING_IND(msg_p).paging_drx;
@@ -1987,10 +1987,10 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
                   /* set pcch_nB = PCCH-Config->nB */
                   pcch_nB = (uint32_t)RC.rrc[instance]->configuration.pcch_nB[CC_id];
                   switch (pcch_nB) {
-                    case PCCH_Config__nB_fourT:
+                    case LTE_PCCH_Config__nB_fourT:
                         Ns = 4;
                         break;
-                    case PCCH_Config__nB_twoT:
+                    case LTE_PCCH_Config__nB_twoT:
                         Ns = 2;
                         break;
                     default:
@@ -1998,21 +1998,21 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
                         break;
                   }
                   /* set N = min(T,nB) */
-                  if (pcch_nB > PCCH_Config__nB_oneT) {
+                  if (pcch_nB > LTE_PCCH_Config__nB_oneT) {
                     switch (pcch_nB) {
-                    case PCCH_Config__nB_halfT:
+                    case LTE_PCCH_Config__nB_halfT:
                       N = T/2;
                       break;
-                    case PCCH_Config__nB_quarterT:
+                    case LTE_PCCH_Config__nB_quarterT:
                       N = T/4;
                       break;
-                    case PCCH_Config__nB_oneEighthT:
+                    case LTE_PCCH_Config__nB_oneEighthT:
                       N = T/8;
                       break;
-                    case PCCH_Config__nB_oneSixteenthT:
+                    case LTE_PCCH_Config__nB_oneSixteenthT:
                       N = T/16;
                       break;
-                    case PCCH_Config__nB_oneThirtySecondT:
+                    case LTE_PCCH_Config__nB_oneThirtySecondT:
                       N = T/32;
                       break;
                     default:
diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.h b/openair2/RRC/LTE/rrc_eNB_S1AP.h
index a924caf254c664159089e1bcf27579bbbb687b67..eb427bc7bd9e474cac11326d4241947408bdfd10 100644
--- a/openair2/RRC/LTE/rrc_eNB_S1AP.h
+++ b/openair2/RRC/LTE/rrc_eNB_S1AP.h
@@ -33,7 +33,7 @@
 
 # if defined(ENABLE_USE_MME)
 
-#include "UL-DCCH-Message.h"
+#include "LTE_UL-DCCH-Message.h"
 
 /* Up link procedures */
 
@@ -106,7 +106,7 @@ void
 rrc_eNB_send_S1AP_UPLINK_NAS(
   const protocol_ctxt_t*    const ctxt_pP,
   rrc_eNB_ue_context_t*          const ue_context_pP,
-  UL_DCCH_Message_t* const ul_dcch_msg
+  LTE_UL_DCCH_Message_t* const ul_dcch_msg
 );
 
 /*! \fn void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(const protocol_ctxt_t   * const ctxt_pP, eNB_RRC_UE_t * const ue_context_pP, UL_DCCH_Message_t *ul_dcch_msg)
@@ -118,7 +118,7 @@ rrc_eNB_send_S1AP_UPLINK_NAS(
 void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*          const ue_context_pP,
-  UL_DCCH_Message_t* ul_dcch_msg
+  LTE_UL_DCCH_Message_t* ul_dcch_msg
 );
 
 /*! \fn rrc_eNB_send_S1AP_NAS_FIRST_REQ(const protocol_ctxt_t* const ctxt_pP,eNB_RRC_UE_t *const ue_context_pP, RRCConnectionSetupComplete_r8_IEs_t *rrcConnectionSetupComplete)
@@ -132,7 +132,7 @@ void
 rrc_eNB_send_S1AP_NAS_FIRST_REQ(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*          const ue_context_pP,
-  RRCConnectionSetupComplete_r8_IEs_t* rrcConnectionSetupComplete
+  LTE_RRCConnectionSetupComplete_r8_IEs_t* rrcConnectionSetupComplete
 );
 
 
diff --git a/openair2/RRC/LTE/rrc_extern.h b/openair2/RRC/LTE/rrc_extern.h
index 59200fb9cc4250c6e9cd13f457b779fd6ed0e757..90017dc80c6485045be2ef82c695301eea293057 100644
--- a/openair2/RRC/LTE/rrc_extern.h
+++ b/openair2/RRC/LTE/rrc_extern.h
@@ -40,8 +40,8 @@ extern UE_RRC_INST *UE_rrc_inst;
 
 extern uint8_t DRB2LCHAN[8];
 
-extern LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue;
-extern LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue;
+extern LTE_LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue;
+extern LTE_LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue;
 
 
 #ifndef PHY_EMUL
diff --git a/openair2/RRC/LTE/rrc_proto.h b/openair2/RRC/LTE/rrc_proto.h
index de16f45c2a718fcb6d583cbdaa92378be2442f51..0aeb67dfbaa7ff688fd05d34353f38937bfd1d40 100644
--- a/openair2/RRC/LTE/rrc_proto.h
+++ b/openair2/RRC/LTE/rrc_proto.h
@@ -106,7 +106,7 @@ rrc_ue_decode_dcch(
   const uint8_t                eNB_indexP
 );
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 int decode_SL_Discovery_Message(
   const protocol_ctxt_t* const ctxt_pP,
   const uint8_t                eNB_index,
@@ -130,7 +130,7 @@ rrc_ue_generate_RRCConnectionRequest(
 void
 rrc_ue_process_rrcConnectionReconfiguration(
   const protocol_ctxt_t* const       ctxt_pP,
-  RRCConnectionReconfiguration_t* rrcConnectionReconfiguration,
+  LTE_RRCConnectionReconfiguration_t* rrcConnectionReconfiguration,
   uint8_t eNB_index
 );
 
@@ -140,7 +140,7 @@ rrc_ue_process_rrcConnectionReconfiguration(
     \param eNB_index Index of corresponding eNB/CH
     \param SRB_config Pointer to SRB_ToAddMod IE from configuration
     @returns 0 on success*/
-int32_t  rrc_ue_establish_srb1(module_id_t module_idP,frame_t frameP,uint8_t eNB_index,struct SRB_ToAddMod *SRB_config);
+int32_t  rrc_ue_establish_srb1(module_id_t module_idP,frame_t frameP,uint8_t eNB_index,struct LTE_SRB_ToAddMod *SRB_config);
 
 /** \brief Establish SRB2 based on configuration in SRB_ToAddMod structure.  Configures RLC/PDCP accordingly
     \param module_idP Instance ID of UE
@@ -148,14 +148,14 @@ int32_t  rrc_ue_establish_srb1(module_id_t module_idP,frame_t frameP,uint8_t eNB
     \param eNB_index Index of corresponding eNB/CH
     \param SRB_config Pointer to SRB_ToAddMod IE from configuration
     @returns 0 on success*/
-int32_t  rrc_ue_establish_srb2(module_id_t module_idP,frame_t frameP, uint8_t eNB_index,struct SRB_ToAddMod *SRB_config);
+int32_t  rrc_ue_establish_srb2(module_id_t module_idP,frame_t frameP, uint8_t eNB_index,struct LTE_SRB_ToAddMod *SRB_config);
 
 /** \brief Establish a DRB according to DRB_ToAddMod structure
     \param module_idP Instance ID of UE
     \param eNB_index Index of corresponding CH/eNB
     \param DRB_config Pointer to DRB_ToAddMod IE from configuration
     @returns 0 on success */
-int32_t  rrc_ue_establish_drb(module_id_t module_idP,frame_t frameP,uint8_t eNB_index,struct DRB_ToAddMod *DRB_config);
+int32_t  rrc_ue_establish_drb(module_id_t module_idP,frame_t frameP,uint8_t eNB_index,struct LTE_DRB_ToAddMod *DRB_config);
 
 /** \brief Process MobilityControlInfo Message to proceed with handover and configure PHY/MAC
     \param ctxt_pP Running context
@@ -166,7 +166,7 @@ void
 rrc_ue_process_mobilityControlInfo(
   const protocol_ctxt_t* const       ctxt_pP,
   const uint8_t                      eNB_index,
-  struct MobilityControlInfo* const mobilityControlInfo
+  struct LTE_MobilityControlInfo* const mobilityControlInfo
 );
 
 /** \brief Process a measConfig Message and configure PHY/MAC
@@ -177,7 +177,7 @@ void
 rrc_ue_process_measConfig(
   const protocol_ctxt_t* const       ctxt_pP,
   const uint8_t                      eNB_index,
-  MeasConfig_t* const               measConfig
+  LTE_MeasConfig_t* const               measConfig
 );
 
 /** \brief Process a RadioResourceConfigDedicated Message and configure PHY/MAC
@@ -187,7 +187,7 @@ rrc_ue_process_measConfig(
 void rrc_ue_process_radioResourceConfigDedicated(
   const protocol_ctxt_t* const ctxt_pP,
   uint8_t eNB_index,
-  RadioResourceConfigDedicated_t *radioResourceConfigDedicated);
+  LTE_RadioResourceConfigDedicated_t *radioResourceConfigDedicated);
 
 
 /** \brief Process a RadioResourceConfig and configure PHY/MAC for SL communication/discovery
@@ -200,10 +200,10 @@ void rrc_ue_process_radioResourceConfigDedicated(
 void rrc_ue_process_sidelink_radioResourceConfig(
   module_id_t Mod_idP,
   uint8_t eNB_index,
-  SystemInformationBlockType18_r12_t     *sib18,
-  SystemInformationBlockType19_r12_t     *sib19,
-  SL_CommConfig_r12_t* sl_CommConfig,
-  SL_DiscConfig_r12_t* sl_DiscConfig);
+  LTE_SystemInformationBlockType18_r12_t     *sib18,
+  LTE_SystemInformationBlockType19_r12_t     *sib19,
+  LTE_SL_CommConfig_r12_t* sl_CommConfig,
+  LTE_SL_DiscConfig_r12_t* sl_DiscConfig);
 
 /** \brief Init control socket to listen to incoming packets from ProSe App
  *
@@ -269,7 +269,7 @@ void
 rrc_eNB_process_RRCConnectionSetupComplete(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*        ue_context_pP,
-  RRCConnectionSetupComplete_r8_IEs_t* rrcConnectionSetupComplete
+  LTE_RRCConnectionSetupComplete_r8_IEs_t* rrcConnectionSetupComplete
 );
 
 /**\brief Process the RRCConnectionReconfigurationComplete based on information coming from UE
@@ -370,7 +370,7 @@ int
 rrc_eNB_generate_RRCConnectionReconfiguration_Sidelink(
       const protocol_ctxt_t* const ctxt_pP,
       rrc_eNB_ue_context_t*           const ue_context_pP,
-      SL_DestinationInfoList_r12_t  *destinationInfoList,
+      LTE_SL_DestinationInfoList_r12_t  *destinationInfoList,
       int n_discoveryMessages
 );
 
@@ -381,24 +381,24 @@ uint8_t
 rrc_eNB_process_SidelinkUEInformation(
       const protocol_ctxt_t* const ctxt_pP,
       rrc_eNB_ue_context_t*         ue_context_pP,
-      SidelinkUEInformation_r12_t*  sidelinkUEInformation
+      LTE_SidelinkUEInformation_r12_t*  sidelinkUEInformation
 );
 
 /** \brief Get a Resource Pool to transmit SL communication
     \param ctxt_pP Running context
     \param ue_context_pP UE context
     \param destinationInfoList Pointer to the list of SL destinations*/
-SL_CommConfig_r12_t rrc_eNB_get_sidelink_commTXPool(
+LTE_SL_CommConfig_r12_t rrc_eNB_get_sidelink_commTXPool(
       const protocol_ctxt_t* const ctxt_pP,
       rrc_eNB_ue_context_t* const ue_context_pP,
-      SL_DestinationInfoList_r12_t  *destinationInfoList
+      LTE_SL_DestinationInfoList_r12_t  *destinationInfoList
 );
 
 /** \brief Get a Resource Pool for Discovery
     \param ctxt_pP Running context
     \param ue_context_pP UE context
     \param n_discoveryMessages Number of discovery messages*/
-SL_DiscConfig_r12_t rrc_eNB_get_sidelink_discTXPool(
+LTE_SL_DiscConfig_r12_t rrc_eNB_get_sidelink_discTXPool(
       const protocol_ctxt_t* const ctxt_pP,
       rrc_eNB_ue_context_t* const ue_context_pP,
       int n_discoveryMessages
@@ -572,14 +572,14 @@ void
 rrc_eNB_process_MeasurementReport(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*        ue_context_pP,
-  const MeasResults_t*   const measResults2
+  const LTE_MeasResults_t*   const measResults2
 );
 
 void
 rrc_eNB_generate_HandoverPreparationInformation(
   const protocol_ctxt_t* const ctxt_pP,
   rrc_eNB_ue_context_t*          const ue_context_pP,
-  PhysCellId_t targetPhyId
+  LTE_PhysCellId_t targetPhyId
 );
 
 void
diff --git a/openair2/RRC/LTE/rrc_vars.h b/openair2/RRC/LTE/rrc_vars.h
index 028a59f7d96915928827a8c24090f40a7efc7c7a..e328ce13599597bbfdd2774822c9078d0a47f205 100644
--- a/openair2/RRC/LTE/rrc_vars.h
+++ b/openair2/RRC/LTE/rrc_vars.h
@@ -47,34 +47,34 @@ uint8_t DRB2LCHAN[8];
 long logicalChannelGroup0 = 0;
 long  logicalChannelSR_Mask_r9=0;
 
-struct LogicalChannelConfig__ul_SpecificParameters LCSRB1 =  {1,
-         LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity,
+struct LTE_LogicalChannelConfig__ul_SpecificParameters LCSRB1 =  {1,
+         LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity,
          0,
          &logicalChannelGroup0
 };
-struct LogicalChannelConfig__ul_SpecificParameters LCSRB2 =  {3,
-         LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity,
+struct LTE_LogicalChannelConfig__ul_SpecificParameters LCSRB2 =  {3,
+         LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity,
          0,
          &logicalChannelGroup0
 };
 
 
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+struct LTE_LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
          logicalChannelSR_Mask_r9: &logicalChannelSR_Mask_r9
 };
 #endif
 
 // These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6)
-LogicalChannelConfig_t  SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+LTE_LogicalChannelConfig_t  SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
                                                                   ,
                                                                   ext1: &logicalChannelSR_Mask_r9_ext1
 #endif
                                                                  };
 
-LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2
-#if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+LTE_LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2
+#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
                                                                  ,
                                                                  ext1: &logicalChannelSR_Mask_r9_ext1
 #endif
diff --git a/openair3/GTPV1-U/gtpv1u_eNB.c b/openair3/GTPV1-U/gtpv1u_eNB.c
index 1e2cd85710752e7aff39f0241b56e833ef9e2781..c8bfd1255c0ebd600d02bc0803186a0c4be6b5eb 100644
--- a/openair3/GTPV1-U/gtpv1u_eNB.c
+++ b/openair3/GTPV1-U/gtpv1u_eNB.c
@@ -263,7 +263,7 @@ NwGtpv1uRcT gtpv1u_eNB_process_stack_req(
 			     buffer_len,
 			     buffer,
 			     PDCP_TRANSMISSION_MODE_DATA
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
               ,NULL, NULL
 #endif
               );
@@ -1052,7 +1052,7 @@ void *gtpv1u_eNB_process_itti_msg(void *notUsed) {
       if (hash_rc == HASH_TABLE_KEY_NOT_EXISTS) {
         LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: while getting ue rnti %x in hashtable ue_mapping\n", data_req_p->rnti);
       } else {
-        if ((data_req_p->rab_id >= GTPV1U_BEARER_OFFSET) && (data_req_p->rab_id <= max_val_DRB_Identity)) {
+        if ((data_req_p->rab_id >= GTPV1U_BEARER_OFFSET) && (data_req_p->rab_id <= max_val_LTE_DRB_Identity)) {
           enb_s1u_teid                        = gtpv1u_ue_data_p->bearers[data_req_p->rab_id - GTPV1U_BEARER_OFFSET].teid_eNB;
           sgw_s1u_teid                        = gtpv1u_ue_data_p->bearers[data_req_p->rab_id - GTPV1U_BEARER_OFFSET].teid_sgw;
           stack_req.apiType                   = NW_GTPV1U_ULP_API_SEND_TPDU;
diff --git a/openair3/GTPV1-U/gtpv1u_eNB_defs.h b/openair3/GTPV1-U/gtpv1u_eNB_defs.h
index db928c4438d927cd333b59ac6caaef3b72513198..978a3c58bc01731a463bde048fcac72cb07a836a 100644
--- a/openair3/GTPV1-U/gtpv1u_eNB_defs.h
+++ b/openair3/GTPV1-U/gtpv1u_eNB_defs.h
@@ -28,7 +28,7 @@
  */
 
 #include "hashtable.h"
-#include "asn_constant.h"
+#include "LTE_asn_constant.h"
 
 #ifndef GTPV1U_ENB_DEFS_H_
 #define GTPV1U_ENB_DEFS_H_
@@ -38,7 +38,7 @@
 #define GTPV1U_UDP_PORT (2152)
 #define GTPV1U_BEARER_OFFSET 3
 
-#define GTPV1U_MAX_BEARERS_ID     (max_val_DRB_Identity - GTPV1U_BEARER_OFFSET)
+#define GTPV1U_MAX_BEARERS_ID     (max_val_LTE_DRB_Identity - GTPV1U_BEARER_OFFSET)
 
 typedef enum {
   BEARER_DOWN = 0,
diff --git a/targets/ARCH/BLADERF/README b/targets/ARCH/BLADERF/README
new file mode 100644
index 0000000000000000000000000000000000000000..c93c938bafcde213308ca785e48a391489fd2d1c
--- /dev/null
+++ b/targets/ARCH/BLADERF/README
@@ -0,0 +1,138 @@
+BladeRF documentation
+=====================
+
+As of 2018-11-06, the bladeRF support is not fully automatic and requires
+some manual settings before use. This documentation is the ultimate source
+of information. If something described in this file does not work or does
+not correspond to the reality, then contact us so we can fix the problems
+and update this documentation.
+
+1. Install bladeRF 2.0 libraries.
+
+    As of now, it's better to install from source.
+    So, do not run: ./build_oai -I -w BLADERF
+    (That is: do not include '-w BLADERF'.)
+
+    Instead, follow the instructions at: https://github.com/Nuand/bladeRF
+
+    If you already had some bladeRF software installed using automatic
+    methods, first remove it by hand ('apt-get purge bladeRF' or something
+    similar, you can get the list of installed bladeRF packages by running
+    'dpkg -l|grep -i blade', remove them all).
+
+2. Update the device.
+
+    Download the latest FX3 firmware and FPGA images from Nuand's website.
+    As of writing, this is:
+
+        https://github.com/Nuand/bladeRF/wiki
+
+    That points to the following pages.
+    For FX3:
+
+        http://www.nuand.com/fx3_images/
+
+    For FPGA:
+
+        http://www.nuand.com/fpga_images/
+
+    Install FX3 firmware:
+
+        sudo bladeRF-cli -f bladeRF_fw_latest.img
+
+    Install FPGA image (this is for BladeRF x40):
+
+        sudo bladeRF-cli -L hostedx40-latest.rbf
+
+    Retrieve calibration information:
+
+        sudo bladeRF-cli -i
+        info
+
+    That outputs the serial number of your device.
+
+    Go to:
+
+        https://www.nuand.com/calibration
+
+    And enter your serial number.
+    The website tells you to run something like:
+
+        sudo bladeRF-cli -i
+        flash_init_cal 40 0x9271
+
+    Actual values depend on your device and serial number.
+
+3. Calibrate the bladeRF device.
+
+    We will work with band 7 on 2.68GHz with a bandwidth of 5 MHz (25 RBs).
+
+    Plug the bladeRF device, then run:
+
+        sudo bladeRF-cli -i
+        set frequency tx 2680000000
+        set frequency rx 2560000000
+        set gain rx 60
+        set gain tx 60
+        set bandwidth 5000000
+        set samplerate 7680000
+        cal lms
+        cal lms
+        cal lms
+        cal dc rxtx
+        cal dc rxtx
+        cal dc rxtx
+
+4. Tune the RX gain using the enb tracer.
+
+    Run the softmodem and the 'enb' tracer. For instructions, see:
+
+        https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/T/basic
+
+    In the enb window, check the 'input signal'. You should see some blue
+    signal as seen at:
+
+        https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/T/enb
+
+    (the 'Time signal power' plot).
+
+    The level should be around 30.
+
+    If it's not around 30 then edit your configuration file and modify
+    the value 'max_rxgain' in the section 'RUs'.
+
+    The configuration file to use is:
+
+        configuration/bladeRF/enb-band7-5mhz.conf
+
+    In the configuration file, you also need to set the correct values for:
+
+        - tracking_area_code
+        - plmn_list: mcc, mnc, mnc_length
+        - mme_ip_address: this is the IP address used by the computer running
+          the softmodem to connect to the EPC
+        - NETWORK_INTERFACES: all the ENB*ADDRESS* variables have to point
+          to the IP address of the EPC machine
+
+5. You're good to go.
+
+    You can now connect a UE and pass some traffic. If everything is well
+    configured you can expect more than 16 Mb/s of throughput in the downlink
+    using iperf and more than 8 Mb/s in the uplink. Looking at the logs, you
+    should find lines containing 'PHR 40' and 'CQI 15'. If your values are
+    lower then your setup may need some adjustments.
+
+6. In case of problems.
+
+    If the performance of the softmodem is very bad, you can stop it and
+    run the calibration again, without setting the parameters (frequencies,
+    gains, etc.). Just run:
+
+        sudo bladeRF-cli -i
+        cal lms
+        cal dc rxtx
+
+    That may help.
+
+    Be sure to use proper radio equipment (duplexer, antennas, clean
+    environment without interferences).
diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
index 75a7825669d2320c062ded059aa1ced9c05987bf..e5966af267047b0285583bab64d2e75370b65385 100644
--- a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
+++ b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
@@ -116,15 +116,6 @@ int trx_brf_start(openair0_device *device) {
     abort();
   }
 
-  if ((status=bladerf_calibrate_dc(brf->dev, BLADERF_MODULE_TX)) != 0) {
-    fprintf(stderr,"Failed to calibrate TX DC: %s\n", bladerf_strerror(status));
-    abort();
-  }
-  if ((status=bladerf_calibrate_dc(brf->dev, BLADERF_MODULE_RX)) != 0) {
-    fprintf(stderr,"Failed to calibrate RX DC: %s\n", bladerf_strerror(status));
-    abort();
-  }
-
   return 0;
 }
 
@@ -235,8 +226,6 @@ static int trx_brf_read(openair0_device *device, openair0_timestamp *ptimestamp,
  * \param device the hardware to use
  */
 void trx_brf_end(openair0_device *device) {
-abort();
-
   int status;
   brf_state_t *brf = (brf_state_t*)device->priv;
   // Disable RX module, shutting down our underlying RX stream
@@ -247,6 +236,7 @@ abort();
     fprintf(stderr, "Failed to disable TX module: %s\n",  bladerf_strerror(status));
   }
   bladerf_close(brf->dev);
+  exit(1);
 }
 
 /*! \brief print the BladeRF statistics  
@@ -362,6 +352,8 @@ void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
  */
 void calibrate_rf(openair0_device *device) {
 
+  /* TODO: this function does not seem to work. Disabled until fixed. */
+  return;
 
   brf_state_t *brf = (brf_state_t *)device->priv;
   openair0_timestamp ptimestamp;
@@ -1005,6 +997,12 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
   // RX  
   // Example of CLI output: RX Frequency: 2539999999Hz
   
+
+  if ((status=bladerf_set_gain_mode(brf->dev, BLADERF_MODULE_RX, BLADERF_GAIN_MGC))) {
+    fprintf(stderr, "[BRF] Failed to disable AGC\n");
+    brf_error(status);
+  }
+
   if ((status=bladerf_set_frequency(brf->dev, BLADERF_MODULE_RX, (unsigned int) openair0_cfg->rx_freq[0])) != 0){
     fprintf(stderr,"Failed to set RX frequency: %s\n",bladerf_strerror(status));
     brf_error(status);
@@ -1096,17 +1094,14 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
 
   // calibrate 
     
- if ((status=bladerf_calibrate_dc(brf->dev, BLADERF_MODULE_TX)) != 0) {
-    fprintf(stderr,"Failed to calibrate TX DC: %s\n", bladerf_strerror(status));
+  if ((status=bladerf_calibrate_dc(brf->dev, BLADERF_DC_CAL_LPF_TUNING)) != 0 ||
+      (status=bladerf_calibrate_dc(brf->dev, BLADERF_DC_CAL_TX_LPF)) != 0 ||
+      (status=bladerf_calibrate_dc(brf->dev, BLADERF_DC_CAL_RX_LPF)) != 0 ||
+      (status=bladerf_calibrate_dc(brf->dev, BLADERF_DC_CAL_RXVGA2)) != 0) {
+    fprintf(stderr, "[BRF] error calibrating\n");
     brf_error(status);
-  } else 
-    printf("[BRF] TX module calibrated DC \n");
- 
-  if ((status=bladerf_calibrate_dc(brf->dev, BLADERF_MODULE_RX)) != 0) {
-    fprintf(stderr,"Failed to calibrate RX DC: %s\n", bladerf_strerror(status));
-    brf_error(status);
-  }else 
-    printf("[BRF] RX module calibrated DC \n");
+  } else
+    printf("[BRF] calibration OK\n");
   
   bladerf_log_set_verbosity(get_brf_log_level(openair0_cfg->log_level));
   
@@ -1146,8 +1141,8 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
  * \returns 0 on success
  */
 int brf_error(int status) {
-  
-  //exit(-1);
+  fprintf(stderr, "[BRF] brf_error: %s\n", bladerf_strerror(status));
+  exit(-1);
   return status; // or status error code
 }
 
@@ -1190,7 +1185,7 @@ struct bladerf * open_bladerf_from_serial(const char *serial) {
 int get_brf_log_level(int log_level){
 
   int level=BLADERF_LOG_LEVEL_INFO;
-  return  BLADERF_LOG_LEVEL_DEBUG; // BLADERF_LOG_LEVEL_VERBOSE;// BLADERF_LOG_LEVEL_DEBUG; //
+  return  BLADERF_LOG_LEVEL_INFO;
   switch(log_level) {
   case LOG_DEBUG:
     level=BLADERF_LOG_LEVEL_DEBUG;
diff --git a/targets/DOCS/api_icic.xml b/targets/DOCS/api_icic.xml
deleted file mode 100644
index 80984fb2363927c6a3002c2af9220367215bdb6d..0000000000000000000000000000000000000000
--- a/targets/DOCS/api_icic.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-<ICIC_API>
-	<SRUCTURE>
-		<STRUCTNAME>SBMAP_CONF</STRUCTNAME>
-		<PATH>openair2/LAYER2/MAC/defs.h</PATH>
-		<FIELD>
-			<FIELDNAME>sbmap[13]</FIELDNAME>
-			<FIELDTYPE>unsigned char</FIELDTYPE>
-			<DESC>subband map indicates to scheduler allowed SB for eNB</DESC>  
-		</FIELD>
-		<FIELD>
-			<FIELDNAME>periodicity</FIELDNAME>
-			<FIELDTYPE>unsigned char</FIELDTYPE>
-			<DESC>in millisecond indicate update instant</DESC>  
-		</FIELD>
-		<FIELD>
-			<FIELDNAME>first_subframe</FIELDNAME>
-			<FIELDTYPE>unsigned char</FIELDTYPE>
-			<DESC>...</DESC>  
-		</FIELD>
-		<FIELD>
-			<FIELDNAME>sb_size</FIELDNAME>
-			<FIELDTYPE>unsigned char</FIELDTYPE>
-			<DESC>number of PRB in this subband</DESC>  
-		</FIELD>
-		<FIELD>
-			<FIELDNAME>nb_active_sb</FIELDNAME>
-			<FIELDTYPE>unsigned char</FIELDTYPE>
-			<DESC>indicates the number of set subbands</DESC>  
-		</FIELD>
-	</SRUCTURE>
-	
-	<SRUCTURE>
-		<STRUCTNAME>eNB_MAC_INST</STRUCTNAME>
-		<PATH>openair2/LAYER2/MAC/defs.h</PATH>
-		<FIELD>
-			...			 
-		</FIELD>
-		<FIELD>
-			<FIELDNAME>sbmap_conf</FIELDNAME>
-			<FIELDTYPE>SBMAP_CONF</FIELDTYPE>
-			<DESC>subband map configuration for each eNB</DESC>  
-		</FIELD>		
-		<INITPATH>openair2/LAYER2/MAC/main.c</INITPATH>
-		<INITFUNC>mac_top_init</INITFUNC>	
-	</SRUCTURE>
-	
-	<SRUCTURE>
-		<STRUCTNAME>MAC_xface</STRUCTNAME>
-		<PATH>openair2/PHY_INTERFACE/defs.h</PATH>
-		<FIELD>
-			...			 
-		</FIELD>
-		<FIELD>
-			<FIELDNAME>(*get_SB_size)(unsigned char)</FIELDNAME>
-			<FIELDTYPE>function pointer n</FIELDTYPE>
-			<DESC>return the number of PRB supported in a subband configuration</DESC>  
-		</FIELD>		
-		<INITPATH>openair2/LAYER2/MAC/main.c</INITPATH>
-		<INITFUNC>l2_init</INITFUNC>	
-	</SRUCTURE>
-	
-	<FUNCTION>
-		<FUNCNAME>Get_Cell_SBMap</FUNCNAME>
-		<PARAMS>unsigned char Mod_id</PARAMS> 
-		<RETURN>void</RETURN>
-		<PROTOPATH>openair2/LAYER2/MAC/defs.h</PROTOPATH>
-		<IMPLPATH>openair2/LAYER2/MAC/eNB_scheduler.c</IMPLPATH>
-		<DESC>imlements ICIC algo</DESC> 
-	</FUNCTION>
-	<FUNCTION>
-		<FUNCNAME>Get_SB_size</FUNCNAME>
-		<PARAMS>unsigned char n_rb_dl</PARAMS> 
-		<RETURN>unsigned char </RETURN>
-		<PROTOPATH>openair1/PHY/LTE_TRANSPORT/proto.h</PROTOPATH>
-		<IMPLPATH>openair1/PHY/LTE_TRANSPORT/lte_mcs.c</IMPLPATH>
-		<DESC>return the number of PRB supported in a subband configuration.</DESC> 
-	</FUNCTION>
-</ICIC_API>
-
-
-	
-	
-		
-		
-		
-		
-		
-			
-			
-			
-			
-		
-		
\ No newline at end of file
diff --git a/targets/DOCS/oaiemu.doc b/targets/DOCS/oaiemu.doc
deleted file mode 100644
index 13433a5f35d916480a21aaeb5ce9cc6315539a60..0000000000000000000000000000000000000000
Binary files a/targets/DOCS/oaiemu.doc and /dev/null differ
diff --git a/targets/DOCS/oaisim_walkthrough.pdf b/targets/DOCS/oaisim_walkthrough.pdf
deleted file mode 100644
index b6d766e7f6dd825202526e18b13308766b65f3a9..0000000000000000000000000000000000000000
Binary files a/targets/DOCS/oaisim_walkthrough.pdf and /dev/null differ
diff --git a/targets/DOCS/openair_header.tex b/targets/DOCS/openair_header.tex
deleted file mode 100755
index 14e1baee5aa95cc29c8f2bab58ac9f7e490be938..0000000000000000000000000000000000000000
--- a/targets/DOCS/openair_header.tex
+++ /dev/null
@@ -1,47 +0,0 @@
-\documentclass[a4paper]{book}
-\usepackage{a4wide}
-\usepackage{makeidx}
-\usepackage{fancyhdr}
-\usepackage{graphicx}
-\usepackage{multicol}
-\usepackage{float}
-\usepackage{textcomp}
-\usepackage{alltt}
-\usepackage{amsmath}
-\usepackage{amssymb}
-\ifx\pdfoutput\undefined
-\usepackage[ps2pdf,
-            pagebackref=true,
-            colorlinks=true,
-            linkcolor=blue
-           ]{hyperref}
-\usepackage{pspicture}
-\else
-\usepackage[pdftex,
-            pagebackref=true,
-            colorlinks=true,
-            linkcolor=blue
-           ]{hyperref}
-\fi
-\usepackage{doxygen}
-\usepackage{times}
-\makeindex
-\setcounter{tocdepth}{1}
-\renewcommand{\footrulewidth}{0.4pt}
-\begin{document}
-\begin{titlepage}
-\vspace*{7cm}
-\begin{center}
-{\Large openair Specifications }\\
-Phyiscal, Medium-Access, Radio-link Control, Packet Data Convergence Protocol and Radio Resource Control Layers\\
-\vspace*{1cm}
-{\large Generated by Doxygen 1.3.8}\\
-\vspace*{0.5cm}
-{\small Sun Oct 31 19:27:37 2004}\\
-\end{center}
-\end{titlepage}
-\clearemptydoublepage
-\pagenumbering{roman}
-\tableofcontents
-\clearemptydoublepage
-\pagenumbering{arabic}
diff --git a/targets/DOCS/path_loss_oaisim.xlsx b/targets/DOCS/path_loss_oaisim.xlsx
deleted file mode 100644
index 2ba25b466bb99c3886046669fe8d86348f8ce389..0000000000000000000000000000000000000000
Binary files a/targets/DOCS/path_loss_oaisim.xlsx and /dev/null differ
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index e2415e115683da77ccf35fbafc9783053c249490..6bda86d6032e4bb37a604408463e0696e588ef76 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -146,7 +146,7 @@ void stop_eNB(int nb_inst);
 int wakeup_tx(PHY_VARS_eNB *eNB,RU_proc_t *ru_proc);
 int wakeup_txfh(eNB_rxtx_proc_t *proc,RU_proc_t *ru_proc);
 void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe);
 #endif
 extern PARALLEL_CONF_t get_thread_parallel_conf(void);
@@ -209,7 +209,7 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
   // if this is IF5 or 3GPP_eNB
   if (eNB && eNB->RU_list && eNB->RU_list[0] && eNB->RU_list[0]->function < NGFI_RAU_IF4p5) {
     wakeup_prach_eNB(eNB,NULL,proc->frame_rx,proc->subframe_rx);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     wakeup_prach_eNB_br(eNB,NULL,proc->frame_rx,proc->subframe_rx);
 #endif
   }
@@ -257,9 +257,8 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
 
   LOG_D(PHY,"%s() Exit proc[rx:%d%d tx:%d%d]\n", __FUNCTION__, proc->frame_rx, proc->subframe_rx, proc->frame_tx, proc->subframe_tx);
 
-  LOG_D(PHY, "rxtx:%lld nfapi:%lld phy:%lld tx:%lld rx:%lld prach:%lld ofdm:%lld ",
+  LOG_D(PHY, "rxtx:%lld nfapi:%lld tx:%lld rx:%lld prach:%lld ofdm:%lld ",
       softmodem_stats_rxtx_sf.p_time, nfapi_meas.p_time,
-      TICK_TO_US(eNB->phy_proc),
       TICK_TO_US(eNB->phy_proc_tx),
       TICK_TO_US(eNB->phy_proc_rx),
       TICK_TO_US(eNB->rx_prach),
@@ -697,7 +696,7 @@ void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) {
 
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) {
 
   eNB_proc_t *proc = &eNB->proc;
@@ -787,7 +786,7 @@ static void* eNB_thread_prach( void* param ) {
 
     LOG_D(PHY,"Running eNB prach procedures\n");
     prach_procedures(eNB
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 		     ,0
 #endif
 		     );
@@ -801,7 +800,7 @@ static void* eNB_thread_prach( void* param ) {
   return &eNB_thread_prach_status;
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 /*!
  * \brief The prach receive thread of eNB for BL/CE UEs.
  * \param param is a \ref eNB_proc_t structure which contains the info what to process.
@@ -886,7 +885,7 @@ void init_eNB_proc(int inst) {
   eNB_proc_t *proc;
   eNB_rxtx_proc_t *proc_rxtx;
   pthread_attr_t *attr0=NULL,*attr1=NULL,*attr_prach=NULL;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   pthread_attr_t *attr_prach_br=NULL;
 #endif
 
@@ -932,7 +931,7 @@ void init_eNB_proc(int inst) {
     pthread_attr_init( &proc->attr_asynch_rxtx);
     pthread_attr_init( &proc_rxtx[0].attr_rxtx);
     pthread_attr_init( &proc_rxtx[1].attr_rxtx);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     proc->instance_cnt_prach_br    = -1;
     proc->RU_mask_prach_br=0;
     pthread_mutex_init( &proc->mutex_prach_br, NULL);
@@ -944,7 +943,7 @@ void init_eNB_proc(int inst) {
     attr0       = &proc_rxtx[0].attr_rxtx;
     attr1       = &proc_rxtx[1].attr_rxtx;
     attr_prach  = &proc->attr_prach;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     attr_prach_br  = &proc->attr_prach_br;
 #endif
 
@@ -966,7 +965,7 @@ void init_eNB_proc(int inst) {
       pthread_create( &proc_rxtx[1].pthread_rxtx, attr1, tx_thread, proc);
     }
     pthread_create( &proc->pthread_prach, attr_prach, eNB_thread_prach, eNB );
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     pthread_create( &proc->pthread_prach_br, attr_prach_br, eNB_thread_prach_br, eNB );
 #endif
     /*char name[16];
@@ -1054,7 +1053,7 @@ void kill_eNB_proc(int inst) {
     LOG_I(PHY, "Destroying prach mutex/cond\n");
     pthread_mutex_destroy( &proc->mutex_prach );
     pthread_cond_destroy( &proc->cond_prach );
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     proc->instance_cnt_prach_br = 0;
     pthread_cond_signal( &proc->cond_prach_br );
     pthread_join( proc->pthread_prach_br, (void**)&status );    
@@ -1075,7 +1074,7 @@ void kill_eNB_proc(int inst) {
     pthread_attr_destroy(&proc->attr_asynch_rxtx);
     pthread_attr_destroy(&proc_rxtx[0].attr_rxtx);
     pthread_attr_destroy(&proc_rxtx[1].attr_rxtx);
-#ifdef Rel14
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     pthread_mutex_destroy(&proc->mutex_RU_PRACH_br);
     pthread_attr_destroy(&proc->attr_prach_br);
 #endif
@@ -1214,7 +1213,7 @@ void init_eNB_afterRU(void) {
       LOG_I(PHY,"Overwriting eNB->prach_vars.rxsigF[0]:%p\n", eNB->prach_vars.rxsigF[0]);
 
       eNB->prach_vars.rxsigF[0] = (int16_t**)malloc16(64*sizeof(int16_t*));
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
       for (int ce_level=0;ce_level<4;ce_level++) {
         LOG_I(PHY,"Overwriting eNB->prach_vars_br.rxsigF.rxsigF[0]:%p\n", eNB->prach_vars_br.rxsigF[ce_level]);
         eNB->prach_vars_br.rxsigF[ce_level] = (int16_t**)malloc16(64*sizeof(int16_t*));
@@ -1237,7 +1236,7 @@ void init_eNB_afterRU(void) {
 	for (i=0;i<eNB->RU_list[ru_id]->nb_rx;aa++,i++) { 
 	  LOG_I(PHY,"Attaching RU %d antenna %d to eNB antenna %d\n",eNB->RU_list[ru_id]->idx,i,aa);
 	  eNB->prach_vars.rxsigF[0][aa]    =  eNB->RU_list[ru_id]->prach_rxsigF[i];
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	  for (int ce_level=0;ce_level<4;ce_level++)
 	    eNB->prach_vars_br.rxsigF[ce_level][aa] = eNB->RU_list[ru_id]->prach_rxsigF_br[ce_level][i];
 #endif
@@ -1290,7 +1289,7 @@ void init_eNB_afterRU(void) {
     
     RC.ru[ru_id]->wakeup_rxtx         = wakeup_rxtx;
     RC.ru[ru_id]->wakeup_prach_eNB    = wakeup_prach_eNB;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     RC.ru[ru_id]->wakeup_prach_eNB_br = wakeup_prach_eNB_br;
 #endif
     RC.ru[ru_id]->eNB_top             = eNB_top;
diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c
index 7002bc4ebd0020f38fff3002eebe952a84356ae0..4a0d2d526651b30d04754b92ee67121056192449 100644
--- a/targets/RT/USER/lte-ru.c
+++ b/targets/RT/USER/lte-ru.c
@@ -526,7 +526,7 @@ void fh_if4p5_south_asynch_in(RU_t *ru,int *frame,int *subframe) {
     }
     if      (packet_type == IF4p5_PULFFT)       symbol_mask &= (~(1<<symbol_number));
     else if (packet_type == IF4p5_PRACH)        prach_rx    &= (~0x1);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     else if (packet_type == IF4p5_PRACH_BR_CE0) prach_rx    &= (~0x2);
     else if (packet_type == IF4p5_PRACH_BR_CE1) prach_rx    &= (~0x4);
     else if (packet_type == IF4p5_PRACH_BR_CE2) prach_rx    &= (~0x8);
@@ -1086,7 +1086,7 @@ static void* ru_thread_prach( void* param ) {
     if (ru->eNB_list[0]){
       prach_procedures(
         ru->eNB_list[0]
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
         ,0
 #endif
         );
@@ -1099,7 +1099,7 @@ static void* ru_thread_prach( void* param ) {
                 NULL,
                 proc->frame_prach,
                 0
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 	        ,0
 #endif
 	        );
@@ -1114,7 +1114,7 @@ static void* ru_thread_prach( void* param ) {
   return &ru_thread_prach_status;
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 static void* ru_thread_prach_br( void* param ) {
 
   static int ru_thread_prach_status;
@@ -1315,7 +1315,7 @@ static inline int wakeup_prach_ru(RU_t *ru) {
   return(0);
 }
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 static inline int wakeup_prach_ru_br(RU_t *ru) {
 
   struct timespec wait;
@@ -1739,7 +1739,7 @@ static void* ru_thread( void* param ) {
     if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)==1)) {
       wakeup_prach_ru(ru);
     }
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     else if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)>1)) {
       wakeup_prach_ru_br(ru);
     }
@@ -2101,7 +2101,7 @@ void init_RU_proc(RU_t *ru) {
   RU_proc_t *proc;
   pthread_attr_t *attr_FH=NULL,*attr_FH1=NULL,*attr_prach=NULL,*attr_asynch=NULL,*attr_synch=NULL,*attr_emulateRF=NULL;
   //pthread_attr_t *attr_fep=NULL;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   pthread_attr_t *attr_prach_br=NULL;
 #endif
   char name[100];
@@ -2154,7 +2154,7 @@ void init_RU_proc(RU_t *ru) {
   pthread_attr_init( &proc->attr_asynch_rxtx);
   pthread_attr_init( &proc->attr_fep);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   proc->instance_cnt_prach_br       = -1;
   pthread_mutex_init( &proc->mutex_prach_br, NULL);
   pthread_cond_init( &proc->cond_prach_br, NULL);
@@ -2177,7 +2177,7 @@ void init_RU_proc(RU_t *ru) {
   attr_synch     = &proc->attr_synch;
   attr_asynch    = &proc->attr_asynch_rxtx;
   attr_emulateRF = &proc->attr_emulateRF;
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   attr_prach_br  = &proc->attr_prach_br;
 #endif
 #endif
@@ -2206,7 +2206,7 @@ void init_RU_proc(RU_t *ru) {
 
   if (ru->function == NGFI_RRU_IF4p5) {
     pthread_create( &proc->pthread_prach, attr_prach, ru_thread_prach, (void*)ru );
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))  
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))  
     pthread_create( &proc->pthread_prach_br, attr_prach_br, ru_thread_prach_br, (void*)ru );
 #endif
     if (ru->is_slave == 1) pthread_create( &proc->pthread_synch, attr_synch, ru_thread_synch, (void*)ru);
@@ -2288,7 +2288,7 @@ void kill_RU_proc(RU_t *ru)
   pthread_cond_signal(&proc->cond_prach);
   pthread_mutex_unlock(&proc->mutex_prach);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   pthread_mutex_lock(&proc->mutex_prach_br);
   proc->instance_cnt_prach_br = 0;
   pthread_cond_signal(&proc->cond_prach_br);
@@ -2322,7 +2322,7 @@ void kill_RU_proc(RU_t *ru)
   if (ru->function == NGFI_RRU_IF4p5) {
     LOG_D(PHY, "Joining pthread_prach\n");
     pthread_join(proc->pthread_prach, NULL);
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     LOG_D(PHY, "Joining pthread_prach_br\n");
     pthread_join(proc->pthread_prach_br, NULL);
 #endif
@@ -2364,7 +2364,7 @@ void kill_RU_proc(RU_t *ru)
   pthread_attr_destroy(&proc->attr_asynch_rxtx);
   pthread_attr_destroy(&proc->attr_fep);
 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   pthread_mutex_destroy(&proc->mutex_prach_br);
   pthread_cond_destroy(&proc->cond_prach_br);
   pthread_attr_destroy(&proc->attr_prach_br);
@@ -2460,7 +2460,7 @@ void configure_ru(int idx,
     LOG_I(PHY,"REMOTE_IF4p5: prach_FrequOffset %d, prach_ConfigIndex %d\n",
 	  config->prach_FreqOffset[0],config->prach_ConfigIndex[0]);
     
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     int i;
     for (i=0;i<4;i++) {
       config->emtc_prach_CElevel_enable[0][i]  = ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[i];
@@ -2504,7 +2504,7 @@ void configure_rru(int idx,
 	  config->prach_FreqOffset[0],config->prach_ConfigIndex[0],ru->att_tx,ru->att_rx);
     ru->frame_parms.prach_config_common.prach_ConfigInfo.prach_FreqOffset  = config->prach_FreqOffset[0]; 
     ru->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex = config->prach_ConfigIndex[0]; 
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
     for (int i=0;i<4;i++) {
       ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_CElevel_enable[i] = config->emtc_prach_CElevel_enable[0][i];
       ru->frame_parms.prach_emtc_config_common.prach_ConfigInfo.prach_FreqOffset[i]     = config->emtc_prach_FreqOffset[0][i];
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index c49a54b98ac32c59f4e18e17f990209989f784ca..fa67165693c3ff4395db3230468b37ab152fa487 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -1862,7 +1862,7 @@ void init_UE_threads_stub(int inst) {
 #ifdef OPENAIR2
 void fill_ue_band_info(void) {
 
-  UE_EUTRA_Capability_t *UE_EUTRA_Capability = UE_rrc_inst[0].UECap->UE_EUTRA_Capability;
+  LTE_UE_EUTRA_Capability_t *UE_EUTRA_Capability = UE_rrc_inst[0].UECap->UE_EUTRA_Capability;
   int i,j;
 
   bands_to_scan.nbands = UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list.count;
diff --git a/targets/RT/USER/lte-uesoftmodem.c b/targets/RT/USER/lte-uesoftmodem.c
index 69556b19f263eb445f86de64d04a26c5ad458904..30715441330cfc2a5758d3369409a0c9e7a1e093 100644
--- a/targets/RT/USER/lte-uesoftmodem.c
+++ b/targets/RT/USER/lte-uesoftmodem.c
@@ -914,7 +914,7 @@ printf("~~~~~~~~~~~~~~~~~~~~successfully get the parallel config[%d], worker con
 #endif
 
 //TTN for D2D
-#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
   printf ("RRC control socket\n");
   rrc_control_socket_init();
   printf ("PDCP PC5S socket\n");