diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 0b9d9250171303ff90e010b54bcdd66f6873dfd4..832a8f91cc9be318021ff9b280e53b9bbdcb4730 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -3069,7 +3069,7 @@ target_link_libraries (ocp-gnb
   -Wl,--start-group
   UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
   ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB 
-  S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
+  NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
   X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON
   -Wl,--end-group z dl)
 
diff --git a/common/utils/itti_analyzer/AUTHORS b/common/utils/itti_analyzer/AUTHORS
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/common/utils/itti_analyzer/ChangeLog b/common/utils/itti_analyzer/ChangeLog
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/common/utils/itti_analyzer/INSTALL b/common/utils/itti_analyzer/INSTALL
deleted file mode 100644
index 2099840756e6302d837dcd51b5dcd6262f7adb16..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/INSTALL
+++ /dev/null
@@ -1,370 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
-   Briefly, the shell command `./configure && make && make install'
-should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-   The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package, generally using the just-built uninstalled binaries.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.  When installing into a prefix owned by root, it is
-     recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
-     privileges.
-
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
-     this time using the binaries in their final installed location.
-     This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
-     root privileges, verifies that the installation completed
-     correctly.
-
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
-   The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
-   The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters.  On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-   Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
-
-     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
-
-`--no-create'
-`-n'
-     Run the configure checks, but stop before creating any output
-     files.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
diff --git a/common/utils/itti_analyzer/Makefile.am b/common/utils/itti_analyzer/Makefile.am
deleted file mode 100644
index b1a371cfe8743e8aebbedf2ab1d02d00b68f2bbf..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/common	\
-	-I$(top_srcdir)/libparser	\
-	-I$(top_srcdir)/libresolver	\
-	-I$(top_srcdir)/libbuffers	\
-	-I$(top_srcdir)/libui
-
-SUBDIRS = libparser libresolver libbuffers libui .
-
-itti_analyzer_LDADD = \
-	$(top_builddir)/libui/libui.la	\
-	$(top_builddir)/libparser/libparser.la	\
-	$(top_builddir)/libresolver/libresolver.la	\
-	$(top_builddir)/libbuffers/libbuffers.la
-
-bin_PROGRAMS = itti_analyzer
diff --git a/common/utils/itti_analyzer/NEWS b/common/utils/itti_analyzer/NEWS
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/common/utils/itti_analyzer/README b/common/utils/itti_analyzer/README
deleted file mode 100644
index 8ca077a227073be8db0c795cd6ed9cb4cf1811f7..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/README
+++ /dev/null
@@ -1,14 +0,0 @@
-
-To run itti_analyzer, please perform the following actions: 
-
-1) apt-get install autotools-dev automake libtool
-
-2) libtoolize
-
-3) ./autogen.sh
-
-4) ./configure
-
-5) make
-
-6) ./itti_analyzer
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/autogen.sh b/common/utils/itti_analyzer/autogen.sh
deleted file mode 100755
index 6d08b679215502de4b17ab826bd91dce8b973601..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/autogen.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#! /bin/sh
-
-aclocal \
-&& autoheader \
-&& automake --add-missing \
-&& autoconf
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/common/itti_types.h b/common/utils/itti_analyzer/common/itti_types.h
deleted file mode 100644
index d405e48cbdc3bf90bc4d5a4d8e1dfb7b9e1f8ad4..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/common/itti_types.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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
- */
-
-/** @brief Intertask Interface common types
- * Contains type definitions used for generating and parsing ITTI messages.
- * @author Laurent Winckel <laurent.winckel@eurecom.fr>
- */
-
-#ifndef _ITTI_TYPES_H_
-#define _ITTI_TYPES_H_
-
-#include <stdint.h>
-
-#define CHARS_TO_UINT32(c1, c2, c3, c4) (((c4) << 24) | ((c3) << 16) | ((c2) << 8) | (c1))
-
-#define MESSAGE_NUMBER_CHAR_FORMAT      "%11u"
-
-/* Intertask message types */
-enum itti_message_types_e
-{
-    ITTI_DUMP_XML_DEFINITION =        CHARS_TO_UINT32 ('\n', 'I', 'x', 'd'),
-    ITTI_DUMP_XML_DEFINITION_END =    CHARS_TO_UINT32 ('i', 'X', 'D', '\n'),
-
-    ITTI_DUMP_MESSAGE_TYPE =          CHARS_TO_UINT32 ('\n', 'I', 'm', 's'),
-    ITTI_DUMP_MESSAGE_TYPE_END =      CHARS_TO_UINT32 ('i', 'M', 'S', '\n'),
-
-    ITTI_STATISTIC_MESSAGE_TYPE =     CHARS_TO_UINT32 ('\n', 'I', 's', 't'),
-    ITTI_STATISTIC_MESSAGE_TYPE_END = CHARS_TO_UINT32 ('i', 'S', 'T', '\n'),
-
-    /* This signal is not meant to be used by remote analyzer */
-    ITTI_DUMP_EXIT_SIGNAL =           CHARS_TO_UINT32 ('e', 'X', 'I', 'T'),
-};
-
-typedef uint32_t itti_message_types_t;
-
-/* Message header is the common part that should never change between
- * remote process and this one.
- */
-typedef struct {
-    /* The size of this structure */
-    uint32_t              message_size;
-    itti_message_types_t  message_type;
-} itti_socket_header_t;
-
-typedef struct {
-    char message_number_char[12]; /* 9 chars are needed to store an unsigned 32 bits value in decimal, but must be a multiple of 32 bits to avoid alignment issues */
-} itti_signal_header_t;
-
-
-#define INSTANCE_DEFAULT    (UINT16_MAX - 1)
-#define INSTANCE_ALL        (UINT16_MAX)
-
-typedef uint16_t instance_t;
-
-#endif
diff --git a/common/utils/itti_analyzer/common/logs.h b/common/utils/itti_analyzer/common/logs.h
deleted file mode 100644
index bd901cc3949b36e9bf20e4c20228b92636550522..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/common/logs.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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
- */
-
-/*
- * logs.h
- *
- *  Created on: Nov 22, 2013
- *      Author: Laurent Winckel
- */
-
-#ifndef LOGS_H_
-#define LOGS_H_
-
-/* Added definition of the g_info log function to complete the set of log functions from "gmessages.h" */
-
-#include <glib/gmessages.h>
-
-#ifdef G_HAVE_ISO_VARARGS
-
-#define g_info(...)     g_log (G_LOG_DOMAIN,        \
-                               G_LOG_LEVEL_INFO,    \
-                               __VA_ARGS__)
-
-#else
-
-static void
-g_info (const gchar *format,
-        ...)
-{
-  va_list args;
-  va_start (args, format);
-  g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format, args);
-  va_end (args);
-}
-
-#endif
-
-#endif /* LOGS_H_ */
diff --git a/common/utils/itti_analyzer/common/rc.h b/common/utils/itti_analyzer/common/rc.h
deleted file mode 100644
index 50786f460fdbb93533801ce423cf574bcbfd4e38..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/common/rc.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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
- */
-
-#include <errno.h>
-#include <string.h>
-
-#ifndef RC_H_
-#define RC_H_
-
-#define RC_OK 0
-#define RC_FAIL         -1
-#define RC_BAD_PARAM    -2
-#define RC_NULL_POINTER -3
-
-static const char * const rc_strings[] =
-    {"Ok", "fail", "bad parameter", "null pointer"};
-
-#define CHECK_FCT(fCT)              \
-do {                                \
-    int rET;                        \
-    if ((rET = fCT) != RC_OK) {     \
-        fprintf(stderr, #fCT" has failed (%s:%d)\n", __FILE__, __LINE__);   \
-        return rET;                 \
-    }                               \
-} while(0)
-
-#define CHECK_FCT_POSIX(fCT)        \
-do {                                \
-    if (fCT == -1) {                \
-        fprintf(stderr, #fCT" has failed (%d:%s) (%s:%d)\n", errno, \
-                strerror(errno), __FILE__, __LINE__);               \
-        return RC_FAIL;             \
-    }                               \
-} while(0)
-
-#define CHECK_FCT_DO(fCT, dO)       \
-do {                                \
-    int rET;                        \
-    if ((rET = fCT) != RC_OK) {     \
-        fprintf(stderr, #fCT" has returned %d (%s:%d)\n", rET, __FILE__, __LINE__);   \
-        dO;                         \
-    }                               \
-} while(0)
-
-#define CHECK_BUFFER(bUFFER)        \
-do {                                \
-    if ((bUFFER) == NULL) {         \
-        fprintf(stderr, #bUFFER" is NULL (%s:%d)\n", __FILE__, __LINE__);   \
-        return RC_NULL_POINTER;     \
-    }                               \
-} while(0)
-
-#endif /* RC_H_ */
diff --git a/common/utils/itti_analyzer/configure.ac b/common/utils/itti_analyzer/configure.ac
deleted file mode 100644
index c6be3e01ab422953cee112976da73cd5da66b6f1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/configure.ac
+++ /dev/null
@@ -1,97 +0,0 @@
-AC_PREREQ([2.68])
-
-define([svnversion], esyscmd([sh -c "svnversion ..|tr -d '\n'"]))
-
-AC_DEFINE(SVN_REVISION, "svnversion", [SVN Revision])
-
-AC_INIT([itti_analyzer], [0.2.svnversion], [openair_admin@eurecom.fr])
-AC_CANONICAL_BUILD
-AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE([1.11 silent-rules])
-
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_CONFIG_HEADERS([config.h])
-
-AM_MAINTAINER_MODE
-
-AM_SILENT_RULES([yes])
-
-AM_PROG_LIBTOOL
-
-AC_PROG_RANLIB
-AC_PROG_CXX
-
-AC_FUNC_ALLOCA
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_TYPE_INT8_T
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_UINT8_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-
-AC_CHECK_FUNCS([memset])
-AC_CHECK_FUNCS([socket])
-AC_CHECK_FUNCS([strdup])
-AC_CHECK_FUNCS([strerror])
-AC_CHECK_FUNCS([select])
-AC_CHECK_FUNCS([strstr])
-
-AC_CHECK_HEADERS([arpa/inet.h])
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([libintl.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([stddef.h])
-AC_CHECK_HEADERS([netinet/in.h])
-
-AC_CHECK_LIB(m, log10)
-
-PKG_CHECK_MODULES(XML2, [libxml-2.0 >= 2.7.8], [HAVE_XML2=true], [AC_MSG_ERROR(lixml-2.0 not installed)])
-CFLAGS="$CFLAGS $XML2_CFLAGS"
-LIBS="$LIBS $XML2_LIBS"
-
-AM_PATH_GTK_3_0(3.0.0, [], AC_MSG_ERROR(Requirement not met: gtk >= 3.0.0))
-CFLAGS="$CFLAGS $GTK_CFLAGS"
-LIBS="$LIBS $GTK_LIBS"
-
-dnl Add these flags
-CFLAGS="$CFLAGS -Wall"
-CFLAGS="$CFLAGS -Wshadow"
-CFLAGS="$CFLAGS -Wcast-align"
-CFLAGS="$CFLAGS -Wchar-subscripts"
-CFLAGS="$CFLAGS -Wmissing-prototypes"
-CFLAGS="$CFLAGS -Wmissing-declarations"
-CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
-
-AC_SUBST([AM_CFLAGS])
-AC_SUBST(ADD_CFLAGS)
-
-dnl *** Autoconf support ***
-AC_ARG_ENABLE(autoconf,
-  [  --disable-autoconf      disable automatic generation of configure script ],
-  enable_autoconf=$enableval, enable_autoconf=yes
-)
-AC_PATH_PROG(AUTOCONF, autoconf, @echo autoconf not available)
-AC_PATH_PROG(AUTOHEADER, autoheader, @echo autoheader not available)
-if test -z "$AUTOCONF"; then enable_autoconf=no ; fi
-if test -z "$AUTOHEADER"; then enable_autoconf=no ; fi
-if test x$enable_autoconf = xyes; then
-  CONFIGURE_DEPENDS="configure.in aclocal.m4"
-fi
-AC_SUBST(CONFIGURE_DEPENDS)
-
-AC_CONFIG_FILES(
-    libbuffers/Makefile             \
-    libparser/Makefile              \
-    libresolver/Makefile            \
-    libui/Makefile                  \
-    Makefile                        \
-)
-AC_OUTPUT
diff --git a/common/utils/itti_analyzer/filters.xml b/common/utils/itti_analyzer/filters.xml
deleted file mode 100644
index 7305a2294cd8e035f4ec4c8391e2cfb8af9e95a1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/filters.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<filters>
-  <messages>
-    <INITIALIZE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <ACTIVATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <DEACTIVATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <TERMINATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <MESSAGE_TEST enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <ERROR_LOG enabled="1" foreground_color="#000000" background_color="#ff8080"/>
-    <WARNING_LOG enabled="1" foreground_color="#303030" background_color="#fff050"/>
-    <NOTICE_LOG enabled="0" foreground_color="#585858" background_color="#ffffa0"/>
-    <INFO_LOG enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <DEBUG_LOG enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <GENERIC_LOG enabled="1" foreground_color="#246b24" background_color="#ffffff"/>
-    <TIMER_HAS_EXPIRED enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <PHY_DEACTIVATE_REQ enabled="1" foreground_color="#000000" background_color="#bef2ff"/>
-    <PHY_FIND_CELL_REQ enabled="1" foreground_color="#000000" background_color="#bef2ff"/>
-    <PHY_FIND_NEXT_CELL_REQ enabled="1" foreground_color="#000000" background_color="#bef2ff"/>
-    <PHY_FIND_CELL_IND enabled="1" foreground_color="#585858" background_color="#bef2ff"/>
-    <RRC_MAC_IN_SYNC_IND enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_OUT_OF_SYNC_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_BCCH_DATA_REQ enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_BCCH_DATA_IND enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_CCCH_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_CCCH_DATA_CNF enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_CCCH_DATA_IND enabled="1" foreground_color="#585858" background_color="#dfb9fc"/>
-    <RRC_MAC_MCCH_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_MCCH_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_DCCH_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_DCCH_DATA_IND enabled="1" foreground_color="#585858" background_color="#a7b1de"/>
-    <RRC_STATE_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_CONFIGURATION_REQ enabled="1" foreground_color="#ffffff" background_color="#4d2a73"/>
-    <NAS_CELL_SELECTION_REQ enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_CONN_ESTABLI_REQ enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_UPLINK_DATA_REQ enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_RAB_ESTABLI_RSP enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_CELL_SELECTION_CNF enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_CELL_SELECTION_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_PAGING_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_CONN_ESTABLI_CNF enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_CONN_RELEASE_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_UPLINK_DATA_CNF enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_DOWNLINK_DATA_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <S1AP_REGISTER_ENB_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_REGISTER_ENB_CNF enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_DEREGISTERED_ENB_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_NAS_FIRST_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_UPLINK_NAS enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CAPABILITIES_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_RESP enabled="1" foreground_color="#19431e" background_color="#cbffb1"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_FAIL enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_NAS_NON_DELIVERY_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CONTEXT_RELEASE_RESP enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CTXT_MODIFICATION_RESP enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CTXT_MODIFICATION_FAIL enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_DOWNLINK_NAS enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_UE_CTXT_MODIFICATION_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_PAGING_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CONTEXT_RELEASE_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <SCTP_NEW_ASSOCIATION_REQ enabled="0" foreground_color="#000000" background_color="#aefeff"/>
-    <SCTP_NEW_ASSOCIATION_RESP enabled="0" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_NEW_ASSOCIATION_IND enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_REGISTER_UPPER_LAYER enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_DATA_REQ enabled="1" foreground_color="#000000" background_color="#aefeff"/>
-    <SCTP_DATA_IND enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <RRC_RAL_SYSTEM_CONFIGURATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SYSTEM_INFORMATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SCAN_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SCAN_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONFIGURE_THRESHOLD_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONFIGURE_THRESHOLD_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_MEASUREMENT_REPORT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_ESTABLISHMENT_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_ESTABLISHMENT_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_ESTABLISHMENT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_REESTABLISHMENT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RECONFIGURATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RELEASE_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RELEASE_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RELEASE_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_UPLINK_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-  </messages>
-  <origin_tasks>
-    <TASK_UNKNOWN enabled="1"/>
-    <TASK_TIMER enabled="1"/>
-    <TASK_L2L1 enabled="1"/>
-    <TASK_BM enabled="1"/>
-    <TASK_PHY_ENB enabled="1"/>
-    <TASK_MAC_ENB enabled="1"/>
-    <TASK_RLC_ENB enabled="1"/>
-    <TASK_PDCP_ENB enabled="1"/>
-    <TASK_DATA_FORWARDING enabled="1"/>
-    <TASK_END_MARKER enabled="1"/>
-    <TASK_RRC_ENB enabled="1"/>
-    <TASK_RAL_ENB enabled="1"/>
-    <TASK_S1AP enabled="1"/>
-    <TASK_X2AP enabled="1"/>
-    <TASK_SCTP enabled="1"/>
-    <TASK_ENB_APP enabled="1"/>
-    <TASK_PHY_UE enabled="1"/>
-    <TASK_MAC_UE enabled="1"/>
-    <TASK_RLC_UE enabled="1"/>
-    <TASK_PDCP_UE enabled="1"/>
-    <TASK_RRC_UE enabled="1"/>
-    <TASK_NAS_UE enabled="1"/>
-    <TASK_RAL_UE enabled="1"/>
-  </origin_tasks>
-  <destination_tasks>
-    <TASK_UNKNOWN enabled="1"/>
-    <TASK_TIMER enabled="1"/>
-    <TASK_L2L1 enabled="1"/>
-    <TASK_BM enabled="1"/>
-    <TASK_PHY_ENB enabled="1"/>
-    <TASK_MAC_ENB enabled="1"/>
-    <TASK_RLC_ENB enabled="1"/>
-    <TASK_PDCP_ENB enabled="1"/>
-    <TASK_DATA_FORWARDING enabled="1"/>
-    <TASK_END_MARKER enabled="1"/>
-    <TASK_RRC_ENB enabled="1"/>
-    <TASK_RAL_ENB enabled="1"/>
-    <TASK_S1AP enabled="1"/>
-    <TASK_X2AP enabled="1"/>
-    <TASK_SCTP enabled="1"/>
-    <TASK_ENB_APP enabled="1"/>
-    <TASK_PHY_UE enabled="1"/>
-    <TASK_MAC_UE enabled="1"/>
-    <TASK_RLC_UE enabled="1"/>
-    <TASK_PDCP_UE enabled="1"/>
-    <TASK_RRC_UE enabled="1"/>
-    <TASK_NAS_UE enabled="1"/>
-    <TASK_RAL_UE enabled="1"/>
-  </destination_tasks>
-</filters>
diff --git a/common/utils/itti_analyzer/filters_mme.xml b/common/utils/itti_analyzer/filters_mme.xml
deleted file mode 100644
index 78389826131cbb15f296effe30c3e17d4aeaca30..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/filters_mme.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<filters>
-  <messages>
-    <ACTIVATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <DEACTIVATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <DEBUG_LOG enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <ERROR_LOG enabled="1" foreground_color="#000000" background_color="#ff8080"/>
-    <GENERIC_LOG enabled="1" foreground_color="#246b24" background_color="#ffffff"/>
-    <GTPV1U_CREATE_TUNNEL_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_CREATE_TUNNEL_RESP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_DELETE_TUNNEL_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_DELETE_TUNNEL_RESP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_TUNNEL_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_TUNNEL_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_UPDATE_TUNNEL_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <GTPV1U_UPDATE_TUNNEL_RESP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <INFO_LOG enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <INITIALIZE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <MESSAGE_TEST enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <MME_APP_CONNECTION_ESTABLISHMENT_IND enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <MME_APP_INITIAL_CONTEXT_SETUP_RSP enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_AUTHENTICATION_PARAM_FAIL enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_AUTHENTICATION_PARAM_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_AUTHENTICATION_PARAM_RSP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_BEARER_PARAM enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_CONNECTION_ESTABLISHMENT_CNF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_CONNECTION_ESTABLISHMENT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_CONNECTION_RELEASE_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_CONN_ESTABLI_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_DL_EMM_PLAIN_MSG enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_DL_EMM_PROTECTED_MSG enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_DL_EMM_RAW_MSG enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_DL_ESM_PLAIN_MSG enabled="1" foreground_color="#90ff40" background_color="#906010"/>
-    <NAS_DL_ESM_PROTECTED_MSG enabled="1" foreground_color="#90ff40" background_color="#906010"/>
-    <NAS_DL_ESM_RAW_MSG enabled="1" foreground_color="#90ff40" background_color="#906010"/>
-    <NAS_DOWNLINK_DATA_CNF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_DOWNLINK_DATA_REJ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_DOWNLINK_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_NON_DELIVERY_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_PAGING_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_PDN_CONNECTIVITY_REQ enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_RAB_ESTABLI_RSP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_RAB_ESTABLISHMENT_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_RAB_ESTABLISHMENT_RESP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_RAB_RELEASE_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_UL_EMM_PLAIN_MSG enabled="1" foreground_color="#ff8080" background_color="#805000"/>
-    <NAS_UL_EMM_PROTECTED_MSG enabled="1" foreground_color="#ff8080" background_color="#805000"/>
-    <NAS_UL_EMM_RAW_MSG enabled="1" foreground_color="#ff8080" background_color="#805000"/>
-    <NAS_UL_ESM_PLAIN_MSG enabled="1" foreground_color="#ff8080" background_color="#906010"/>
-    <NAS_UL_ESM_PROTECTED_MSG enabled="1" foreground_color="#ff8080" background_color="#906010"/>
-    <NAS_UL_ESM_RAW_MSG enabled="1" foreground_color="#ff8080" background_color="#906010"/>
-    <NAS_UPLINK_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_UPLINK_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NOTICE_LOG enabled="0" foreground_color="#585858" background_color="#ffffa0"/>
-    <S1AP_DEREGISTERED_ENB_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_DEREGISTER_UE_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_DOWNLINK_NAS_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_ENB_DEREGISTERED_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_INITIAL_UE_MESSAGE_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_NAS_NON_DELIVERY_IND_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_REGISTER_ENB_CNF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_S1_SETUP_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CAPABILITIES_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CAPABILITY_IND_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CONTEXT_RELEASE_COMMAND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CONTEXT_RELEASE_COMPLETE enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CONTEXT_RELEASE_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CONTEXT_RELEASE_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CONTEXT_RELEASE_REQ_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UPLINK_NAS_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S6A_AUTH_INFO_ANS enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S6A_AUTH_INFO_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S6A_UPDATE_LOCATION_ANS enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S6A_UPDATE_LOCATION_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SCTP_CLOSE_ASSOCIATION enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SCTP_DATA_IND enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_DATA_REQ enabled="1" foreground_color="#000000" background_color="#aefeff"/>
-    <SCTP_INIT_MSG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SCTP_NEW_ASSOCIATION enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SCTP_NEW_ASSOCIATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SCTP_NEW_ASSOCIATION_REQ enabled="1" foreground_color="#000000" background_color="#aefeff"/>
-    <SCTP_NEW_ASSOCIATION_RESP enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGI_CREATE_ENDPOINT_REQUEST enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGI_CREATE_ENDPOINT_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGI_DELETE_ENDPOINT_REQUEST enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGI_DELETE_ENDPOINT_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGI_UPDATE_ENDPOINT_REQUEST enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGI_UPDATE_ENDPOINT_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_CREATE_SESSION_REQUEST enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_CREATE_SESSION_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_DELETE_SESSION_REQUEST enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_DELETE_SESSION_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_MODIFY_BEARER_REQUEST enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_MODIFY_BEARER_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SGW_RELEASE_ACCESS_BEARERS_RESPONSE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <TERMINATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <TIMER_HAS_EXPIRED enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <UDP_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <UDP_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <UDP_INIT enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <WARNING_LOG enabled="1" foreground_color="#303030" background_color="#fff050"/>
-  </messages>
-  <origin_tasks>
-    <TASK_UNKNOWN enabled="1"/>
-    <TASK_TIMER enabled="0"/>
-    <TASK_GTPV1_U enabled="1"/>
-    <TASK_MME_APP enabled="1"/>
-    <TASK_NAS_MME enabled="1"/>
-    <TASK_S11 enabled="1"/>
-    <TASK_S1AP enabled="1"/>
-    <TASK_S6A enabled="1"/>
-    <TASK_SCTP enabled="1"/>
-    <TASK_SPGW_APP enabled="1"/>
-    <TASK_UDP enabled="1"/>
-  </origin_tasks>
-  <destination_tasks>
-    <TASK_UNKNOWN enabled="1"/>
-    <TASK_TIMER enabled="0"/>
-    <TASK_GTPV1_U enabled="1"/>
-    <TASK_MME_APP enabled="1"/>
-    <TASK_NAS_MME enabled="1"/>
-    <TASK_S11 enabled="1"/>
-    <TASK_S1AP enabled="1"/>
-    <TASK_S6A enabled="1"/>
-    <TASK_SCTP enabled="1"/>
-    <TASK_SPGW_APP enabled="1"/>
-    <TASK_UDP enabled="1"/>
-  </destination_tasks>
-</filters>
diff --git a/common/utils/itti_analyzer/filters_ue_enb.xml b/common/utils/itti_analyzer/filters_ue_enb.xml
deleted file mode 100644
index 77859d20b694414a9d03a7c98b1d5bbcf8f74f31..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/filters_ue_enb.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<filters>
-  <messages>
-    <INITIALIZE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <ACTIVATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <DEACTIVATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <TERMINATE_MESSAGE enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <MESSAGE_TEST enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <ERROR_LOG enabled="1" foreground_color="#000000" background_color="#ff8080"/>
-    <WARNING_LOG enabled="1" foreground_color="#303030" background_color="#fff050"/>
-    <NOTICE_LOG enabled="0" foreground_color="#585858" background_color="#ffffa0"/>
-    <INFO_LOG enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <DEBUG_LOG enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <GENERIC_LOG enabled="1" foreground_color="#246b24" background_color="#ffffff"/>
-    <TIMER_HAS_EXPIRED enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_CELL_SELECTION_CNF enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_CELL_SELECTION_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_CELL_SELECTION_REQ enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_CONN_ESTABLI_CNF enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_CONN_ESTABLI_REQ enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_CONN_RELEASE_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_DL_EMM_PLAIN_MSG enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_DL_EMM_PROTECTED_MSG enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_DL_EMM_RAW_MSG enabled="1" foreground_color="#90ff40" background_color="#805000"/>
-    <NAS_DL_ESM_PLAIN_MSG enabled="1" foreground_color="#90ff40" background_color="#906010"/>
-    <NAS_DL_ESM_PROTECTED_MSG enabled="1" foreground_color="#90ff40" background_color="#906010"/>
-    <NAS_DL_ESM_RAW_MSG enabled="1" foreground_color="#90ff40" background_color="#906010"/>
-    <NAS_DOWNLINK_DATA_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_PAGING_IND enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_RAB_ESTABLI_RSP enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <NAS_UL_EMM_PLAIN_MSG enabled="1" foreground_color="#ff8080" background_color="#805000"/>
-    <NAS_UL_EMM_PROTECTED_MSG enabled="1" foreground_color="#ff8080" background_color="#805000"/>
-    <NAS_UL_EMM_RAW_MSG enabled="1" foreground_color="#ff8080" background_color="#805000"/>
-    <NAS_UL_ESM_PLAIN_MSG enabled="1" foreground_color="#ff8080" background_color="#906010"/>
-    <NAS_UL_ESM_PROTECTED_MSG enabled="1" foreground_color="#ff8080" background_color="#906010"/>
-    <NAS_UL_ESM_RAW_MSG enabled="1" foreground_color="#ff8080" background_color="#906010"/>
-    <NAS_UPLINK_DATA_CNF enabled="1" foreground_color="#e0e0e0" background_color="#2d315c"/>
-    <NAS_UPLINK_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <NAS_UPLINK_DATA_REQ enabled="1" foreground_color="#ffffff" background_color="#2d315c"/>
-    <PHY_DEACTIVATE_REQ enabled="1" foreground_color="#000000" background_color="#bef2ff"/>
-    <PHY_FIND_CELL_IND enabled="1" foreground_color="#585858" background_color="#bef2ff"/>
-    <PHY_FIND_CELL_REQ enabled="1" foreground_color="#000000" background_color="#bef2ff"/>
-    <PHY_FIND_NEXT_CELL_REQ enabled="1" foreground_color="#000000" background_color="#bef2ff"/>
-    <PHY_MEAS_REPORT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <PHY_MEAS_THRESHOLD_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <PHY_MEAS_THRESHOLD_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_AM_DATA_PDU_IND enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_AM_DATA_PDU_REQ enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_AM_SDU_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_AM_SDU_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_AM_STATUS_PDU_IND enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_AM_STATUS_PDU_REQ enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_UM_DATA_PDU_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RLC_UM_DATA_PDU_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_CONFIGURATION_REQ enabled="1" foreground_color="#ffffff" background_color="#4d2a73"/>
-    <RRC_DCCH_DATA_IND enabled="1" foreground_color="#585858" background_color="#a7b1de"/>
-    <RRC_DCCH_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_DL_BCCH enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_DL_CCCH enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_DL_DCCH enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_DL_MCCH enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_BCCH_DATA_IND enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_BCCH_DATA_REQ enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_CCCH_DATA_CNF enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_CCCH_DATA_IND enabled="1" foreground_color="#585858" background_color="#dfb9fc"/>
-    <RRC_MAC_CCCH_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_IN_SYNC_IND enabled="0" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_MCCH_DATA_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_MCCH_DATA_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_MAC_OUT_OF_SYNC_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONFIGURE_THRESHOLD_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONFIGURE_THRESHOLD_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_ESTABLISHMENT_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_ESTABLISHMENT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_ESTABLISHMENT_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RECONFIGURATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_REESTABLISHMENT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RELEASE_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RELEASE_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_CONNECTION_RELEASE_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_MEASUREMENT_REPORT_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SCAN_CONF enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SCAN_REQ enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SYSTEM_CONFIGURATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_RAL_SYSTEM_INFORMATION_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_STATE_IND enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_UE_EUTRA_CAPABILITY enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_UL_CCCH enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <RRC_UL_DCCH enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_DEREGISTERED_ENB_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_DOWNLINK_NAS enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_DOWNLINK_NAS_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_FAIL enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_INITIAL_CONTEXT_SETUP_RESP enabled="1" foreground_color="#19431e" background_color="#cbffb1"/>
-    <S1AP_INITIAL_UE_MESSAGE_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_NAS_FIRST_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_NAS_NON_DELIVERY_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_NAS_NON_DELIVERY_IND_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_PAGING_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_REGISTER_ENB_CNF enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_REGISTER_ENB_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_S1_SETUP_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CAPABILITIES_IND enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CAPABILITY_IND_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CONTEXT_RELEASE_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CONTEXT_RELEASE_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_UE_CONTEXT_RELEASE_REQ_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <S1AP_UE_CONTEXT_RELEASE_RESP enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CTXT_MODIFICATION_FAIL enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UE_CTXT_MODIFICATION_REQ enabled="1" foreground_color="#000000" background_color="#cbffb1"/>
-    <S1AP_UE_CTXT_MODIFICATION_RESP enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UPLINK_NAS enabled="1" foreground_color="#585858" background_color="#cbffb1"/>
-    <S1AP_UPLINK_NAS_LOG enabled="1" foreground_color="#585858" background_color="#ffffff"/>
-    <SCTP_DATA_IND enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_DATA_REQ enabled="1" foreground_color="#000000" background_color="#aefeff"/>
-    <SCTP_NEW_ASSOCIATION_IND enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_NEW_ASSOCIATION_REQ enabled="1" foreground_color="#000000" background_color="#aefeff"/>
-    <SCTP_NEW_ASSOCIATION_RESP enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-    <SCTP_REGISTER_UPPER_LAYER enabled="1" foreground_color="#585858" background_color="#aefeff"/>
-  </messages>
-  <origin_tasks>
-    <TASK_UNKNOWN enabled="1"/>
-    <TASK_TIMER enabled="1"/>
-    <TASK_L2L1 enabled="1"/>
-    <TASK_BM enabled="1"/>
-    <TASK_PHY_ENB enabled="1"/>
-    <TASK_MAC_ENB enabled="1"/>
-    <TASK_RLC_ENB enabled="1"/>
-    <TASK_PDCP_ENB enabled="1"/>
-    <TASK_DATA_FORWARDING enabled="1"/>
-    <TASK_END_MARKER enabled="1"/>
-    <TASK_RRC_ENB enabled="1"/>
-    <TASK_RAL_ENB enabled="1"/>
-    <TASK_S1AP enabled="1"/>
-    <TASK_X2AP enabled="1"/>
-    <TASK_SCTP enabled="1"/>
-    <TASK_ENB_APP enabled="1"/>
-    <TASK_PHY_UE enabled="1"/>
-    <TASK_MAC_UE enabled="1"/>
-    <TASK_RLC_UE enabled="1"/>
-    <TASK_PDCP_UE enabled="1"/>
-    <TASK_RRC_UE enabled="1"/>
-    <TASK_NAS_UE enabled="1"/>
-    <TASK_RAL_UE enabled="1"/>
-  </origin_tasks>
-  <destination_tasks>
-    <TASK_UNKNOWN enabled="1"/>
-    <TASK_TIMER enabled="1"/>
-    <TASK_L2L1 enabled="1"/>
-    <TASK_BM enabled="1"/>
-    <TASK_PHY_ENB enabled="1"/>
-    <TASK_MAC_ENB enabled="1"/>
-    <TASK_RLC_ENB enabled="1"/>
-    <TASK_PDCP_ENB enabled="1"/>
-    <TASK_DATA_FORWARDING enabled="1"/>
-    <TASK_END_MARKER enabled="1"/>
-    <TASK_RRC_ENB enabled="1"/>
-    <TASK_RAL_ENB enabled="1"/>
-    <TASK_S1AP enabled="1"/>
-    <TASK_X2AP enabled="1"/>
-    <TASK_SCTP enabled="1"/>
-    <TASK_ENB_APP enabled="1"/>
-    <TASK_PHY_UE enabled="1"/>
-    <TASK_MAC_UE enabled="1"/>
-    <TASK_RLC_UE enabled="1"/>
-    <TASK_PDCP_UE enabled="1"/>
-    <TASK_RRC_UE enabled="1"/>
-    <TASK_NAS_UE enabled="1"/>
-    <TASK_RAL_UE enabled="1"/>
-  </destination_tasks>
-</filters>
diff --git a/common/utils/itti_analyzer/itti_analyzer.c b/common/utils/itti_analyzer/itti_analyzer.c
deleted file mode 100644
index d87deb46e2f5a1dcad5c58e0133cdf57927e59a1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/itti_analyzer.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * 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
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-
-#include <gtk/gtk.h>
-
-#include <libxml/parser.h>
-
-#include "xml_parse.h"
-#include "resolvers.h"
-#include "locate_root.h"
-#include "file.h"
-#include "ui_main_screen.h"
-
-#include "rc.h"
-
-#define G_LOG_LEVELS (G_LOG_LEVEL_ERROR     | \
-                      G_LOG_LEVEL_CRITICAL  | \
-                      G_LOG_LEVEL_WARNING   | \
-                      G_LOG_LEVEL_MESSAGE   | \
-                      G_LOG_LEVEL_INFO      | \
-                      G_LOG_LEVEL_DEBUG)
-
-int debug_buffers = 1;
-int debug_parser = 0;
-
-static void console_log_handler(const char *log_domain, GLogLevelFlags log_level,
-                                const char *message, gpointer user_data)
-{
-    GLogLevelFlags domain_log_level = (GLogLevelFlags) user_data;
-    time_t curr;
-    struct tm *today;
-    const char *level;
-
-    if (ui_main_data.log_flags & domain_log_level & log_level)
-    {
-        switch (log_level & G_LOG_LEVEL_MASK)
-        {
-        case G_LOG_LEVEL_ERROR:
-            level = "Err ";
-            break;
-        case G_LOG_LEVEL_CRITICAL:
-            level = "Crit";
-            break;
-        case G_LOG_LEVEL_WARNING:
-            level = "Warn";
-            break;
-        case G_LOG_LEVEL_MESSAGE:
-            level = "Msg ";
-            break;
-        case G_LOG_LEVEL_INFO:
-            level = "Info";
-            break;
-        case G_LOG_LEVEL_DEBUG:
-            level = "Dbg ";
-            break;
-        default:
-            fprintf(stderr, "unknown log_level %u\n", log_level);
-            level = NULL;
-            g_assert_not_reached();
-            break;
-        }
-
-        /* create a "timestamp" */
-        time(&curr);
-        today = localtime(&curr);
-
-        fprintf(stderr, "%02u:%02u:%02u %-9s %s %s\n", today->tm_hour, today->tm_min, today->tm_sec,
-                log_domain != NULL ? log_domain : "", level, message);
-    }
-}
-
-int main(int argc, char *argv[])
-{
-    int ret = 0;
-
-    GLogLevelFlags log_flags;
-
-    log_flags = (GLogLevelFlags)
-        (G_LOG_LEVEL_ERROR      |
-        G_LOG_LEVEL_CRITICAL    |
-        G_LOG_LEVEL_WARNING     |
-        G_LOG_LEVEL_MESSAGE     |
-        G_LOG_LEVEL_INFO        |
-        G_LOG_LEVEL_DEBUG);
-
-    /* This initialize the library and check potential ABI mismatches
-     * between the version it was compiled for and the actual shared
-     * library used.
-     */
-    LIBXML_TEST_VERSION;
-    xmlInitParser();
-
-    /* Initialize the widget set */
-    gtk_init(&argc, &argv);
-
-    /* Parse command line options */
-    ui_gtk_parse_arg (argc, argv);
-
-    /* Set log handlers:
-     *                 Domain,      Levels,    Handler,             Domain enabled levels */
-    g_log_set_handler( NULL,        log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
-    g_log_set_handler("BUFFERS",    log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
-    g_log_set_handler("PARSER",     log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
-    g_log_set_handler("RESOLVER",   log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
-    g_log_set_handler("UI",         log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
-    g_log_set_handler("UI_CB",      log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
-    g_log_set_handler("UI_FILTER",  log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
-    g_log_set_handler("UI_INTER",   log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
-    g_log_set_handler("UI_TREE",    log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
-
-    CHECK_FCT(ui_gtk_initialize(argc, argv));
-
-    /* Enter the main event loop, and wait for user interaction */
-    gtk_main ();
-
-    /* Free the global variables that may
-     * have been allocated by the parser.
-     */
-    xmlCleanupParser ();
-
-    return ret;
-}
diff --git a/common/utils/itti_analyzer/libbuffers/Makefile.am b/common/utils/itti_analyzer/libbuffers/Makefile.am
deleted file mode 100644
index 7af612e5e74221acec7113ea25a5adcd248829ea..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/common	\
-	-I$(top_srcdir)/libparser	\
-	-I$(top_srcdir)/libui
-
-noinst_LTLIBRARIES = libbuffers.la
-
-libbuffers_la_LDFLAGS = -all-static
-libbuffers_la_SOURCES = \
-	buffers.c	buffers.h	\
-	file.c	file.h	\
-	socket.c	socket.h
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.c b/common/utils/itti_analyzer/libbuffers/buffers.c
deleted file mode 100644
index 870c9cd40aac19e3aa0b7f5f9ddf3dd22bb98d61..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/buffers.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * 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
- */
-
-#include <pthread.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("BUFFERS")
-
-#include <glib.h>
-
-#include "rc.h"
-#include "buffers.h"
-
-extern int debug_buffers;
-
-static
-int buffer_fetch(buffer_t *buffer, uint32_t offset, int size, void *value);
-
-/* Try to fetch 8 bits unsigned from the buffer */
-uint8_t buffer_get_uint8_t(buffer_t *buffer, uint32_t offset)
-{
-    uint8_t value;
-
-    buffer_fetch(buffer, offset, 1, &value);
-
-    return value;
-}
-
-/* Try to fetch 16 bits unsigned from the buffer */
-uint16_t buffer_get_uint16_t(buffer_t *buffer, uint32_t offset)
-{
-    uint16_t value;
-
-    buffer_fetch(buffer, offset, 2, &value);
-
-    return value;
-}
-
-/* Try to fetch 32 bits unsigned from the buffer */
-uint32_t buffer_get_uint32_t(buffer_t *buffer, uint32_t offset)
-{
-    uint32_t value;
-
-    buffer_fetch(buffer, offset, 4, &value);
-
-    return value;
-}
-
-/* Try to fetch 64 bits unsigned from the buffer */
-uint64_t buffer_get_uint64_t(buffer_t *buffer, uint32_t offset)
-{
-    uint64_t value;
-
-    buffer_fetch(buffer, offset, 8, &value);
-
-    return value;
-}
-
-static
-int buffer_fetch(buffer_t *buffer, uint32_t offset, int size, void *value)
-{
-    if (buffer == NULL || value == NULL)
-        return -1;
-    if (size <= 0)
-        return -1;
-
-    if (buffer->size_bytes < ((offset >> 3) + size)) {
-        g_warning("Not enough data to fetch");
-        return -1;
-    }
-
-    memcpy(value, &buffer->data[offset >> 3], size);
-    buffer->buffer_current = &buffer->data[(offset >> 3) + size];
-
-    return 0;
-}
-
-int buffer_fetch_nbytes(buffer_t *buffer, uint32_t offset, int n_bytes, uint8_t *value)
-{
-    if (buffer->size_bytes < ((offset >> 3) + n_bytes)) {
-        g_warning("Not enough data to fetch");
-        return -1;
-    }
-    memcpy(&value[0], &buffer->data[offset >> 3], n_bytes);
-
-    return 0;
-}
-
-int buffer_fetch_bits(buffer_t *buffer, uint32_t offset, int nbits, uint32_t *value)
-{
-    uint32_t temp = 0;
-    int i;
-
-    if (buffer == NULL || value == NULL)
-        return RC_BAD_PARAM;
-
-    /* We cannot fetch more than 32 bits */
-    if (nbits > 32)
-        return RC_BAD_PARAM;
-
-    for (i = 0; i < nbits; i++)
-    {
-        temp |= ((buffer->data[(offset + i) / 8] >> ((offset + i) % 8)) & 1) << i;
-    }
-
-    *value = temp;
-
-    return RC_OK;
-}
-
-/**
- * @brief Create a new buffer from data
- * @param buffer caller reference where created buffer will be stored
- * @param data Data to attach to the new buffer
- * @param length Length of data buffer
- * @param data_static flag that indicates if data pointer has been statically (= 0) or not (!= 0)
- */
-int buffer_new_from_data(buffer_t **buffer, uint8_t *data, const uint32_t length,
-                         int data_static)
-{
-    buffer_t *new;
-
-    if (!buffer)
-        return RC_BAD_PARAM;
-
-    new = malloc(sizeof(buffer_t));
-
-    new->size_bytes = length;
-    if (data && length > 0) {
-        if (data_static == 0) {
-            new->data = malloc(sizeof(uint8_t) * new->size_bytes);
-            memcpy(new->data, data, new->size_bytes);
-        } else {
-            new->data = data;
-        }
-        new->buffer_current = &new->data[0];
-    } else {
-        new->buffer_current = NULL;
-    }
-
-    *buffer = new;
-
-    return 0;
-}
-
-#define INDENTED(fILE, x, y)            \
-do {                                    \
-    int indentation = x;                \
-    while(indentation--) fprintf(fILE, " ");  \
-    y;                                  \
-} while(0)
-
-#define INDENT_BREAK    20
-
-void buffer_dump(buffer_t *buffer, FILE *to)
-{
-    FILE *file = to;
-    uint32_t i;
-
-    if (!buffer)
-        return;
-    if (!to)
-        to = stdout;
-
-    fprintf(file, "<Buffer>\n");
-    INDENTED(file, 4, fprintf(file, "<Length>%u<Length>\n", buffer->size_bytes));
-    INDENTED(file, 4, fprintf(file, "<Bytes>\n"));
-    for (i = 0; i < buffer->size_bytes; i++)
-    {
-        if ((i % INDENT_BREAK) == 0)
-            fprintf(file, "        ");
-        fprintf(file, "0x%02x ", buffer->data[i]);
-        if ((i % INDENT_BREAK) == (INDENT_BREAK - 1))
-            fprintf(file, "\n");
-    }
-    if ((i % INDENT_BREAK) != (INDENT_BREAK - 1))
-        fprintf(file, "\n");
-    INDENTED(file, 4, fprintf(file, "</Bytes>\n"));
-    fprintf(file, "</Buffer>\n");
-}
-
-int buffer_append_data(buffer_t *buffer, const uint8_t *data, const uint32_t length)
-{
-    if (!buffer)
-        return -1;
-
-    if (data && length > 0) {
-        if (!buffer->data) {
-            buffer->size_bytes = length;
-            buffer->data = malloc(sizeof(uint8_t) * buffer->size_bytes);
-            memcpy(buffer->data, data, buffer->size_bytes);
-        } else {
-            buffer->data = realloc(buffer->data, sizeof(uint8_t) * (buffer->size_bytes + length));
-            memcpy(&buffer->data[buffer->size_bytes], data, length);
-            buffer->size_bytes += length;
-        }
-        buffer->buffer_current = &buffer->data[0];
-    }
-
-    return 0;
-}
-
-int buffer_has_enouch_data(buffer_t *buffer, uint32_t offset, uint32_t to_get)
-{
-    int underflow;
-    if (!buffer)
-        return -1;
-    underflow = (buffer->size_bytes >= ((offset + to_get) / 8)) ? 0 : -1;
-    if (underflow && debug_buffers)
-        g_warning("Detected Underflow offset %u, to_get %u, buffer size %u\n",
-                  offset, to_get, buffer->size_bytes);
-    return underflow;
-}
-
-void *buffer_at_offset(buffer_t *buffer, uint32_t offset)
-{
-//     if (buffer_has_enouch_data(buffer, 0, offset) != 0) {
-//         return NULL;
-//     }
-    return &buffer->data[offset / 8];
-}
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.h b/common/utils/itti_analyzer/libbuffers/buffers.h
deleted file mode 100644
index 34ecb355ab351529ec59702c2d011a7dfe3d5e54..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/buffers.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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
- */
-
-#include <stdint.h>
-
-#ifndef BUFFERS_H_
-#define BUFFERS_H_
-
-typedef struct buffer_s {
-    /* The size in bytes as read from socket */
-    uint32_t size_bytes;
-
-    /* Current position */
-    uint8_t *buffer_current;
-
-    /* The complete data */
-    uint8_t *data;
-
-    /* The message number as read from socket */
-    uint32_t message_number;
-
-    uint32_t message_id;
-} buffer_t;
-
-uint8_t buffer_get_uint8_t(buffer_t *buffer, uint32_t offset);
-
-uint16_t buffer_get_uint16_t(buffer_t *buffer, uint32_t offset);
-
-uint32_t buffer_get_uint32_t(buffer_t *buffer, uint32_t offset);
-
-uint64_t buffer_get_uint64_t(buffer_t *buffer, uint32_t offset);
-
-int buffer_fetch_bits(buffer_t *buffer, uint32_t offset, int nbits, uint32_t *value);
-
-int buffer_fetch_nbytes(buffer_t *buffer, uint32_t offset, int n_bytes, uint8_t *value);
-
-void buffer_dump(buffer_t *buffer, FILE *to);
-
-int buffer_append_data(buffer_t *buffer, const uint8_t *data, const uint32_t length);
-
-int buffer_new_from_data(buffer_t **buffer, uint8_t *data, const uint32_t length,
-                         int data_static);
-
-int buffer_has_enouch_data(buffer_t *buffer, uint32_t offset, uint32_t to_get);
-
-void *buffer_at_offset(buffer_t *buffer, uint32_t offset);
-
-#endif /* BUFFERS_H_ */
diff --git a/common/utils/itti_analyzer/libbuffers/file.c b/common/utils/itti_analyzer/libbuffers/file.c
deleted file mode 100644
index 291bf2d2163f432894a60b8b5ddcb7e610ef5704..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/file.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#define G_LOG_DOMAIN ("BUFFERS")
-
-#include <glib.h>
-
-#include "rc.h"
-#include "buffers.h"
-#include "file.h"
-
-#define READ_BUFFER_SIZE 1024
-
-int file_read_dump(buffer_t **buffer, const char *filename)
-{
-    int fd = -1;
-    buffer_t *new_buf = NULL;
-    uint8_t   data[READ_BUFFER_SIZE];
-    ssize_t   current_read;
-
-    if (!filename)
-        return RC_BAD_PARAM;
-
-    if ((fd = open(filename, O_RDONLY)) == -1) {
-        g_warning("Cannot open %s for reading, returned %d:%s\n",
-                  filename, errno, strerror(errno));
-        return RC_FAIL;
-    }
-
-    CHECK_FCT(buffer_new_from_data(&new_buf, NULL, 0, 0));
-
-    do {
-        current_read = read(fd, data, READ_BUFFER_SIZE);
-        if (current_read == -1)
-        {
-            g_warning("Failed to read data from file, returned %d:%s\n",
-                      errno, strerror(errno));
-            return RC_FAIL;
-        }
-        CHECK_FCT(buffer_append_data(new_buf, data, current_read));
-    } while(current_read == READ_BUFFER_SIZE);
-
-    *buffer = new_buf;
-
-    buffer_dump(new_buf, stdout);
-
-    close(fd);
-
-    return RC_OK;
-}
diff --git a/common/utils/itti_analyzer/libbuffers/file.h b/common/utils/itti_analyzer/libbuffers/file.h
deleted file mode 100644
index be0fa6ba2d07e6616be2c32321c32cbef1411b1f..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/file.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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
- */
-
-#ifndef FILE_H_
-#define FILE_H_
-
-int file_read_dump(buffer_t **buffer, const char *filename);
-
-#endif /* FILE_H_ */
diff --git a/common/utils/itti_analyzer/libbuffers/socket.c b/common/utils/itti_analyzer/libbuffers/socket.c
deleted file mode 100644
index f732af70ec532ca65a5aa3d68da258e652c3edf8..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/socket.c
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * 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
- */
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#define G_LOG_DOMAIN ("BUFFERS")
-
-#include <gtk/gtk.h>
-
-#include "logs.h"
-#include "itti_types.h"
-#include "rc.h"
-
-#include "ui_interface.h"
-#include "ui_notifications.h"
-#include "ui_notif_dlg.h"
-
-#include "socket.h"
-#include "buffers.h"
-
-#include "xml_parse.h"
-
-/* Retry connection after 100 ms */
-#define SOCKET_US_BEFORE_CONNECT_RETRY      (100 * 1000)
-/* About 10 minutes time-out for connecting to peer */
-#define SOCKET_NB_CONNECT_RETRY             ((10 * 60 * 1000 * 1000) / SOCKET_US_BEFORE_CONNECT_RETRY)
-
-#define SOCKET_NB_SIGNALS_BEFORE_SIGNALLING 10
-#define SOCKET_MS_BEFORE_SIGNALLING         100
-
-gboolean socket_abort_connection = FALSE;
-
-void *socket_thread_fct(void *arg);
-
-static ssize_t socket_read_data(socket_data_t *socket_data, void *buffer, size_t size, int flags)
-{
-    ssize_t recv_ret;
-
-    recv_ret = recv(socket_data->sd, buffer, size, flags);
-    if (recv_ret == -1) {
-        /* Failure case */
-        switch (errno) {
-//             case EWOULDBLOCK:
-            case EAGAIN:
-                return -1;
-            default:
-                g_info("recv failed: %s", g_strerror(errno));
-                pthread_exit(NULL);
-                break;
-        }
-    } else if (recv_ret == 0) {
-        /* We lost the connection with other peer or shutdown asked */
-        ui_pipe_write_message(socket_data->pipe_fd,
-                              UI_PIPE_CONNECTION_LOST, NULL, 0);
-        free(socket_data->ip_address);
-        free(socket_data);
-        pthread_exit(NULL);
-    }
-
-    return recv_ret;
-}
-
-static void socket_notify_gui_update(socket_data_t *socket_data)
-{
-    pipe_new_signals_list_message_t pipe_signal_list_message;
-
-    pipe_signal_list_message.signal_list = socket_data->signal_list;
-
-    socket_data->signal_list                  = NULL;
-    socket_data->nb_signals_since_last_update = 0;
-
-    /* Send an update notification */
-    ui_pipe_write_message(socket_data->pipe_fd,
-                          UI_PIPE_UPDATE_SIGNAL_LIST, &pipe_signal_list_message,
-                          sizeof(pipe_signal_list_message));
-
-    /* Acquire the last data notification */
-    socket_data->last_data_notification = g_get_monotonic_time();
-}
-
-static int socket_read_itti_message(socket_data_t        *socket_data,
-                                    itti_socket_header_t *message_header)
-{
-    itti_signal_header_t  itti_signal_header;
-    buffer_t             *buffer;
-    uint8_t              *data;
-    size_t                data_length;
-    ssize_t               data_read = 0;
-    ssize_t               total_data_read = 0;
-
-    g_assert(message_header != NULL);
-
-    g_debug("Attempting to read signal header from socket");
-
-    /* Read the sub-header of signal */
-    while (data_read != sizeof(itti_signal_header_t)) {
-        data_read = socket_read_data(socket_data, &itti_signal_header,
-                                       sizeof(itti_signal_header_t), 0);
-    }
-
-    data_length = message_header->message_size - sizeof(itti_socket_header_t) - sizeof(itti_signal_header_t);
-    data = malloc(sizeof(uint8_t) * data_length);
-
-    while (total_data_read < data_length) {
-        data_read = socket_read_data(socket_data, &data[total_data_read],
-                                     data_length - total_data_read, 0);
-        /* We are waiting for data */
-        if (data_read < 0) {
-            usleep(10);
-        } else {
-            total_data_read += data_read;
-        }
-    }
-
-    /* Create the new buffer */
-    if (buffer_new_from_data(&buffer, data, data_length - sizeof(itti_message_types_t), 1) != RC_OK) {
-        g_error("Failed to create new buffer");
-        g_assert_not_reached();
-    }
-
-    sscanf (itti_signal_header.message_number_char, MESSAGE_NUMBER_CHAR_FORMAT, &buffer->message_number);
-//     buffer_dump(buffer, stdout);
-
-    /* Update the number of signals received since last GUI update */
-    socket_data->nb_signals_since_last_update++;
-
-    socket_data->signal_list = g_list_append(socket_data->signal_list, (gpointer)buffer);
-
-    if (socket_data->nb_signals_since_last_update >= SOCKET_NB_SIGNALS_BEFORE_SIGNALLING) {
-        socket_notify_gui_update(socket_data);
-    }
-
-    g_debug("Successfully read new signal %u from socket", buffer->message_number);
-
-    return total_data_read + sizeof(itti_signal_header);
-}
-
-static int socket_read_xml_definition(socket_data_t *socket_data,
-                                      itti_socket_header_t *message_header)
-{
-    ssize_t                        data_read;
-    ssize_t                        total_data_read = 0;
-    char                          *xml_definition;
-    size_t                         xml_definition_length;
-    pipe_xml_definition_message_t  pipe_xml_definition_message;
-
-    xml_definition_length = message_header->message_size - sizeof(*message_header);
-    xml_definition        = malloc(xml_definition_length * sizeof(char));
-
-    g_debug("Attempting to read XML definition of size %zu from socket",
-            xml_definition_length);
-
-    /* XML definition is a long message... so function may take some time */
-
-    do {
-        data_read = socket_read_data(socket_data, &xml_definition[total_data_read],
-                                     xml_definition_length - total_data_read, 0);
-
-        /* We are waiting for data */
-        if (data_read < 0) {
-            usleep(10);
-        } else {
-            total_data_read += data_read;
-        }
-    } while (total_data_read != xml_definition_length);
-
-    pipe_xml_definition_message.xml_definition        = xml_definition;
-    pipe_xml_definition_message.xml_definition_length = xml_definition_length - sizeof(itti_message_types_t);
-
-    g_debug("Received XML definition of size %zu, effectively read %zu bytes",
-            xml_definition_length, total_data_read);
-
-    ui_pipe_write_message(socket_data->pipe_fd, UI_PIPE_XML_DEFINITION,
-                          &pipe_xml_definition_message, sizeof(pipe_xml_definition_message));
-
-    return total_data_read;
-}
-
-static int socket_read(socket_data_t *socket_data)
-{
-    int ret = 0;
-    itti_socket_header_t message_header;
-
-    while (ret >= 0) {
-        ret = socket_read_data(socket_data, &message_header, sizeof(message_header), 0);
-
-        if (ret == -1) {
-            return 0;
-        }
-
-        switch(message_header.message_type) {
-            case ITTI_DUMP_XML_DEFINITION:
-                socket_read_xml_definition(socket_data, &message_header);
-                break;
-
-            case ITTI_DUMP_MESSAGE_TYPE:
-                socket_read_itti_message(socket_data, &message_header);
-                break;
-
-            case ITTI_STATISTIC_MESSAGE_TYPE:
-            default:
-                g_warning("Received unknow (or not implemented) message from socket type: %d",
-                          message_header.message_type);
-                break;
-        }
-    }
-
-    return 0;
-}
-
-static int socket_handle_disconnect_evt(socket_data_t *socket_data)
-{
-    /* Send shutdown to remote host */
-    CHECK_FCT_POSIX(shutdown(socket_data->sd, SHUT_RDWR));
-    /* Close file descriptor */
-    CHECK_FCT_POSIX(close(socket_data->sd));
-
-    socket_data->sd = -1;
-
-    /* Close pipe */
-    close(socket_data->pipe_fd);
-
-    /* Leaving the thread */
-    pthread_exit(NULL);
-
-    return 0;
-}
-
-static int pipe_read_message(socket_data_t *socket_data)
-{
-    pipe_input_header_t  input_header;
-    uint8_t             *input_data = NULL;
-    size_t               input_data_length = 0;
-
-    /* Read the header */
-    if (read(socket_data->pipe_fd, &input_header, sizeof(input_header)) < 0) {
-        g_warning("Failed to read from pipe %d: %s", socket_data->pipe_fd,
-                  g_strerror(errno));
-        return -1;
-    }
-
-    input_data_length = input_header.message_size - sizeof(input_header);
-
-    /* Checking for non-header part */
-    if (input_data_length > 0) {
-        input_data = malloc(sizeof(uint8_t) * input_data_length);
-
-        if (read(socket_data->pipe_fd, input_data, input_data_length) < 0) {
-            g_warning("Failed to read from pipe %d: %s", socket_data->pipe_fd,
-                      g_strerror(errno));
-            return -1;
-        }
-    }
-
-    switch (input_header.message_type) {
-        case UI_PIPE_DISCONNECT_EVT:
-            return socket_handle_disconnect_evt(socket_data);
-        default:
-            g_warning("[socket] Unhandled message type %u", input_header.message_type);
-            g_assert_not_reached();
-    }
-    return 0;
-}
-
-void *socket_thread_fct(void *arg)
-{
-    int                 ret;
-    struct sockaddr_in  si_me;
-    socket_data_t      *socket_data;
-    int                 retry = SOCKET_NB_CONNECT_RETRY;
-
-    /* master file descriptor list */
-    fd_set              master_fds;
-    /* temp file descriptor list for select() */
-    fd_set              read_fds;
-    int                 fd_max = 0;
-    struct timeval      tv;
-
-    socket_data = (socket_data_t *)arg;
-
-    g_assert(socket_data != NULL);
-
-    /* Preparing the socket */
-    if ((socket_data->sd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
-        g_warning("socket failed: %s", g_strerror(errno));
-        free(socket_data->ip_address);
-        free(socket_data);
-        pthread_exit(NULL);
-    }
-    memset((void *)&si_me, 0, sizeof(si_me));
-
-    si_me.sin_family = AF_INET;
-    si_me.sin_port = htons(socket_data->port);
-    if (inet_aton(socket_data->ip_address, &si_me.sin_addr) == 0) {
-        g_warning("inet_aton() failed\n");
-        free(socket_data->ip_address);
-        free(socket_data);
-        pthread_exit(NULL);
-    }
-
-    /* clear the master and temp sets */
-    FD_ZERO(&master_fds);
-    FD_ZERO(&read_fds);
-
-    /* Add the GUI pipe to the list of sockets to monitor */
-    FD_SET(socket_data->pipe_fd, &master_fds);
-
-    /* Add the client socket to the list of sockets to monitor */
-    FD_SET(socket_data->sd, &master_fds);
-
-    /* Update the fd_max with the MAX of socket/pipe */
-    fd_max = MAX(socket_data->pipe_fd, socket_data->sd);
-
-    /* Setup the timeout for select.
-     * When a timeout is caught, check for new notifications to send to GUI.
-     */
-    tv.tv_sec = 0;
-    tv.tv_usec = 1000 * SOCKET_MS_BEFORE_SIGNALLING;
-
-    do {
-        /* Connecting to remote peer */
-        ret = connect(socket_data->sd, (struct sockaddr *) &si_me, sizeof(struct sockaddr_in));
-        if (ret < 0) {
-            if ((socket_abort_connection) || (retry < 0)) {
-                if (retry < 0) {
-                    g_warning("Failed to connect to peer %s:%d", socket_data->ip_address, socket_data->port);
-                    ui_pipe_write_message(socket_data->pipe_fd, UI_PIPE_CONNECTION_FAILED, NULL, 0);
-                }
-                free(socket_data->ip_address);
-                free(socket_data);
-                socket_abort_connection = FALSE;
-                /* Quit the thread */
-                pthread_exit(NULL);
-            }
-            usleep(SOCKET_US_BEFORE_CONNECT_RETRY);
-            retry--;
-        }
-    } while (ret < 0);
-
-    /* Set the socket as non-blocking */
-    fcntl(socket_data->sd, F_SETFL, O_NONBLOCK);
-
-    while (1) {
-        memcpy(&read_fds, &master_fds, sizeof(master_fds));
-
-        ret = select(fd_max + 1, &read_fds, NULL, NULL, &tv);
-        if (ret < 0) {
-            g_warning("Error in select: %s", g_strerror(errno));
-            free(socket_data->ip_address);
-            free(socket_data);
-            /* Quit the thread */
-            pthread_exit(NULL);
-        } else if (ret == 0) {
-            /* Timeout for select: check if there is new incoming messages
-             * since last GUI update
-             */
-            if (socket_data->nb_signals_since_last_update > 0) {
-                g_debug("Timout on select and data new signal in list");
-                g_debug("-> notify GUI");
-                socket_notify_gui_update(socket_data);
-            }
-
-            /* Reset the timeval to the max value */
-            tv.tv_usec = 1000 * SOCKET_MS_BEFORE_SIGNALLING;
-        }
-
-        /* Checking if there is data to read from the pipe */
-        if (FD_ISSET(socket_data->pipe_fd, &read_fds)) {
-            FD_CLR(socket_data->pipe_fd, &read_fds);
-            pipe_read_message(socket_data);
-        }
-
-        /* Checking if there is data to read from the socket */
-        if (FD_ISSET(socket_data->sd, &read_fds)) {
-            FD_CLR(socket_data->sd, &read_fds);
-            socket_read(socket_data);
-
-            /* Update the timeout of select if there is data not notify to GUI */
-            if (socket_data->nb_signals_since_last_update > 0) {
-                gint64 current_time;
-
-                current_time = g_get_monotonic_time();
-
-                if ((current_time - socket_data->last_data_notification) > SOCKET_MS_BEFORE_SIGNALLING) {
-                    socket_notify_gui_update(socket_data);
-                    tv.tv_usec = 1000 * SOCKET_MS_BEFORE_SIGNALLING;
-                } else {
-                    /* Update tv */
-                    tv.tv_usec = (1000 * SOCKET_MS_BEFORE_SIGNALLING) - (current_time - socket_data->last_data_notification);
-                }
-            }
-        }
-    }
-
-    return NULL;
-}
-
-int socket_connect_to_remote_host(const char *remote_ip, const uint16_t port,
-                                  int pipe_fd)
-{
-    socket_data_t *socket_data;
-
-    socket_data = calloc(1, sizeof(*socket_data));
-
-    socket_data->ip_address = strdup(remote_ip);
-
-    socket_data->pipe_fd = pipe_fd;
-    socket_data->port    = port;
-    socket_data->sd      = -1;
-
-    if (pthread_create(&socket_data->thread, NULL, socket_thread_fct, socket_data) != 0) {
-        g_warning("Failed to create thread %d:%s", errno, strerror(errno));
-        free(socket_data->ip_address);
-        free(socket_data);
-        return RC_FAIL;
-    }
-
-    return RC_OK;
-}
diff --git a/common/utils/itti_analyzer/libbuffers/socket.h b/common/utils/itti_analyzer/libbuffers/socket.h
deleted file mode 100644
index 8c2be2243e228d9c7ea56003cf59a9e382e601cb..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libbuffers/socket.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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
- */
-
-#include <arpa/inet.h>
-#include <netinet/in.h>
-
-#ifndef SOCKET_H_
-#define SOCKET_H_
-
-typedef struct {
-    pthread_t thread;
-    int       sd;
-    char     *ip_address;
-    uint16_t  port;
-
-    /* The pipe used between main thread (running GTK) and the socket thread */
-    int       pipe_fd;
-
-    /* Time used to avoid refreshing UI every time a new signal is incoming */
-    gint64    last_data_notification;
-    uint8_t   nb_signals_since_last_update;
-
-    /* The last signals received which are not yet been updated in GUI */
-    GList    *signal_list;
-} socket_data_t;
-
-gboolean socket_abort_connection;
-
-int socket_connect_to_remote_host(const char *remote_ip, const uint16_t port,
-                                  int pipe_fd);
-
-int socket_disconnect_from_remote_host(void);
-
-#endif /* SOCKET_H_ */
diff --git a/common/utils/itti_analyzer/libparser/Makefile.am b/common/utils/itti_analyzer/libparser/Makefile.am
deleted file mode 100644
index bf80db28674040aff8e62e810335a2b661fe3024..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/common	\
-	-I$(top_srcdir)/libbuffers	\
-	-I$(top_srcdir)/libui
-
-noinst_LTLIBRARIES = libparser.la
-
-libparser_la_LDFLAGS = -all-static
-libparser_la_SOURCES = \
-	xml_parse.c	\
-	array_type.c array_type.h	\
-	enum_type.c enum_type.h	\
-	enum_value_type.c enum_value_type.h	\
-	file_type.c file_type.h	\
-	field_type.c field_type.h	\
-	fundamental_type.c fundamental_type.h	\
-	pointer_type.h	pointer_type.c	\
-	reference_type.c	reference_type.h	\
-	struct_type.c struct_type.h	\
-	typedef_type.c	typedef_type.h	\
-	types.h	types.c	\
-	union_type.c	union_type.h
diff --git a/common/utils/itti_analyzer/libparser/array_type.c b/common/utils/itti_analyzer/libparser/array_type.c
deleted file mode 100644
index 1d9f7412815605ade54315e98269908324500ce9..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/array_type.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-
-#include <tgmath.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "array_type.h"
-#include "fundamental_type.h"
-#include "ui_interface.h"
-
-int array_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    types_t *type_child;
-    int  length = 0;
-    char cbuf[50];
-
-    DISPLAY_PARSE_INFO("array", type->name, offset, parent_offset);
-
-    /* Ignore TYPEDEF children */
-    for (type_child = type->child; type_child != NULL && type_child->type == TYPE_TYPEDEF;
-            type_child = type_child->child) {
-    }
-
-    if (type->name) {
-        INDENTED(stdout, indent, fprintf(stdout, "<%s>\n", type->name));
-    }
-    if (type->child != NULL) {
-        int items = type->size / type_child->size;
-        int i;
-        int zero_counter = 0;
-        gboolean is_string = FALSE;
-        char *string;
-        int nb_digits = 0;
-
-        /* Factorizes trailing 0 */
-        if ((items > 1) && (type_child->type == TYPE_FUNDAMENTAL))
-        {
-            for (i = items - 1; i >= 0; i--)
-            {
-                if (fundamental_read_from_buffer(type_child, buffer, parent_offset, offset + i * type_child->size) == 0)
-                {
-                    zero_counter ++;
-                }
-                else
-                {
-                    break;
-                }
-            }
-
-            /* Check if this is an array of 8 bits items and if at least the firsts ones are not null */
-            if ((type_child->size == 8) && (zero_counter >= 1) && ((items - zero_counter) >= 2))
-            {
-                int end = items - zero_counter;
-
-                /* check if this is a printable string */
-                is_string = TRUE;
-                string = malloc(end + 1);
-
-                for (i = 0; i < end; i++)
-                {
-                    string[i] = fundamental_read_from_buffer(type_child, buffer, parent_offset, offset + i * type_child->size);
-                    if (isprint(string[i]) == 0)
-                    {
-                        /* This is not a printable string */
-                        is_string = FALSE;
-                        break;
-                    }
-                }
-
-                if (is_string)
-                {
-                    string[i] = '\0';
-                    INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "[0 .. %d] \"%s\"\n", end - 1, string));
-                    ui_set_signal_text_cb(user_data, cbuf, length);
-                }
-            }
-
-            /* Do not factorize if there is only one null item */
-            if (zero_counter <= 1)
-            {
-                zero_counter = 0;
-            }
-        }
-
-        if (is_string == FALSE)
-        {
-            nb_digits = log10(items - zero_counter) + 1;
-
-            for (i = 0; i < (items - zero_counter); i++)
-            {
-                INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "[%*d] ", nb_digits, i));
-                ui_set_signal_text_cb(user_data, cbuf, length);
-
-                type->child->type_dissect_from_buffer (
-                    type->child, ui_set_signal_text_cb, user_data, buffer, parent_offset,
-                    offset + i * type_child->size, indent,
-                    FALSE);
-            }
-            if (zero_counter > 0)
-            {
-                INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "[%d .. %d] ", i, items -1));
-                ui_set_signal_text_cb(user_data, cbuf, length);
-
-                type->child->type_dissect_from_buffer (
-                    type->child, ui_set_signal_text_cb, user_data,
-                    buffer, parent_offset, offset + i * type_child->size, indent, FALSE);
-            }
-        }
-    }
-    if (type->name) {
-        INDENTED(stdout, indent, fprintf(stdout, "</%s>\n", type->name));
-    }
-
-    return 0;
-}
-
-int array_type_file_print(types_t *type, int indent, FILE *file) {
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent, fprintf(file, "<Array>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Min ........: %d\n", type->min));
-    INDENTED(file, indent+4, fprintf(file, "Max ........: %d\n", type->max));
-    INDENTED(file, indent+4, fprintf(file, "Type .......: %d\n", type->type_xml));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print (type->file_ref, indent + 4, file);
-    if (type->child != NULL)
-        type->child->type_file_print (type->child, indent + 4, file);
-    INDENTED(file, indent, fprintf(file, "</Array>\n"));
-
-    return 0;
-}
-
-int array_type_hr_display(types_t *type, int indent) {
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent, printf("<Array>\n"));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Min ........: %d\n", type->min));
-    INDENTED(stdout, indent+4, printf("Max ........: %d\n", type->max));
-    INDENTED(stdout, indent+4, printf("Type .......: %d\n", type->type_xml));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display (type->file_ref, indent + 4);
-    if (type->child != NULL)
-        type->child->type_hr_display (type->child, indent + 4);
-    INDENTED(stdout, indent, printf("</Array>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/array_type.h b/common/utils/itti_analyzer/libparser/array_type.h
deleted file mode 100644
index b336934dbb94978b78be2440f57c1e446d0ab5d8..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/array_type.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef ARRAY_TYPE_H_
-#define ARRAY_TYPE_H_
-
-int array_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int array_type_hr_display(types_t *type, int indent);
-
-int array_type_file_print(types_t *type, int indent, FILE *file);
-
-#endif /* ARRAY_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/enum_type.c b/common/utils/itti_analyzer/libparser/enum_type.c
deleted file mode 100644
index dbc99095bcd9a84ba3206fa05957ad4e0ec3d28d..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/enum_type.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "enum_type.h"
-#include "ui_interface.h"
-
-char *enum_type_get_name_from_value(types_t *type, uint32_t value)
-{
-    char    *enum_name = "UNKNOWN";
-    types_t *enum_value;
-
-    /* Loop on each enumeration values */
-    for (enum_value = type->child; enum_value; enum_value = enum_value->next) {
-        if (value == enum_value->init_value) {
-            enum_name = enum_value->name;
-            break;
-        }
-    }
-    return enum_name;
-}
-
-int enum_type_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    uint32_t value = 0;
-    types_t *values;
-
-    DISPLAY_PARSE_INFO("enum", type->name, offset, parent_offset);
-
-    value = buffer_get_uint32_t(buffer, parent_offset + offset);
-
-    for (values = type->child; values; values = values->next) {
-        if (value == values->init_value) {
-            values->parent = type;
-            values->type_dissect_from_buffer(
-                values, ui_set_signal_text_cb, user_data, buffer, offset, parent_offset,
-                type->name == NULL ? indent: indent + DISPLAY_TAB_SIZE, FALSE);
-            break;
-        }
-    }
-    if (values == NULL) {
-        int length = 0;
-        char cbuf[50];
-
-        length = sprintf(cbuf, "(0x%08x) UNKNOWN;\n", value);
-        ui_set_signal_text_cb(user_data, cbuf, length);
-    }
-
-    return 0;
-}
-
-int enum_type_file_print(types_t *type, int indent, FILE *file)
-{
-    types_t *values;
-
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent,   fprintf(file, "<Enumeration>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    INDENTED(file, indent+4, fprintf(file, "Artificial .: %d\n", type->artificial));
-    INDENTED(file, indent+4, fprintf(file, "File .......: %s\n", type->file));
-    INDENTED(file, indent+4, fprintf(file, "Line .......: %d\n", type->line));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print(type->file_ref, indent+4, file);
-    /* Call enum values display */
-    for (values = type->child; values; values = values->next) {
-        values->type_file_print(values, indent + 4, file);
-    }
-    INDENTED(file, indent, fprintf(file, "</Enumeration>\n"));
-
-    return 0;
-}
-
-int enum_type_hr_display(types_t *type, int indent)
-{
-    types_t *values;
-
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent,   printf("<Enumeration>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    INDENTED(stdout, indent+4, printf("Artificial .: %d\n", type->artificial));
-    INDENTED(stdout, indent+4, printf("File .......: %s\n", type->file));
-    INDENTED(stdout, indent+4, printf("Line .......: %d\n", type->line));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display(type->file_ref, indent+4);
-    /* Call enum values display */
-    for (values = type->child; values; values = values->next) {
-        values->type_hr_display(values, indent + 4);
-    }
-    INDENTED(stdout, indent, printf("</Enumeration>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/enum_type.h b/common/utils/itti_analyzer/libparser/enum_type.h
deleted file mode 100644
index 4538829e78366bad075231ae19617555e6563e8c..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/enum_type.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef ENUM_TYPE_H_
-#define ENUM_TYPE_H_
-
-char *enum_type_get_name_from_value(types_t *type, uint32_t value);
-
-int enum_type_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int enum_type_file_print(types_t *type, int indent, FILE *file);
-
-int enum_type_hr_display(types_t *type, int indent);
-
-#endif /* ENUM_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.c b/common/utils/itti_analyzer/libparser/enum_value_type.c
deleted file mode 100644
index 801317daafcba2d6d990e6007f188bef4361ed84..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/enum_value_type.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "enum_value_type.h"
-#include "ui_interface.h"
-
-uint32_t last_enum_value;
-
-int enum_value_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    types_t *type_parent = NULL;
-    uint32_t value = 0;
-
-    DISPLAY_PARSE_INFO("enum_value", type->name, offset, parent_offset);
-
-    value = buffer_get_uint32_t(buffer, parent_offset + offset);
-    if (type->name) {
-        int length = 0;
-        char cbuf[50 + strlen(type->name)];
-
-        /* Search for enum variable name and check if it is used in association with a union type */
-        {
-            if (type->parent != NULL) {
-                /* Ignore ENUMERATION and TYPEDEF parents */
-                for (type_parent = type->parent; (type_parent != NULL) && ((type_parent->type == TYPE_ENUMERATION) || (type_parent->type == TYPE_TYPEDEF));
-                        type_parent = type_parent->parent) {
-                }
-            }
-            if ((type_parent != NULL) && (type_parent->name != NULL) && (strcmp(type_parent->name, "present") == 0))
-            {
-                /* ASN1 union, keep the "present" member */
-                last_enum_value = value;
-            }
-            else
-            {
-                last_enum_value = 0;
-            }
-        }
-        length = sprintf(cbuf, "(0x%08x) %s;\n", value, type->name);
-        ui_set_signal_text_cb(user_data, cbuf, length);
-    }
-
-    return 0;
-}
-
-int enum_value_file_print(types_t *type, int indent, FILE *file)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent,   fprintf(file, "<Value>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Value ......: %d\n", type->init_value));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print(type->file_ref, indent+4, file);
-    INDENTED(file, indent, fprintf(file, "</Value>\n"));
-
-    return 0;
-}
-
-int enum_value_type_hr_display(types_t *type, int indent)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent,  printf("<Value>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Value ......: %d\n", type->init_value));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display(type->file_ref, indent+4);
-    INDENTED(stdout, indent, printf("</Value>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.h b/common/utils/itti_analyzer/libparser/enum_value_type.h
deleted file mode 100644
index 997e6cc3fe91f9b124d53d32dae17c0cd2f650a8..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/enum_value_type.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef ENUM_VALUE_TYPE_H_
-#define ENUM_VALUE_TYPE_H_
-
-extern uint32_t last_enum_value;
-
-int enum_value_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int enum_value_file_print(types_t *type, int indent, FILE *file);
-
-int enum_value_type_hr_display(types_t *type, int indent);
-
-#endif /* ENUM_VALUE_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c
deleted file mode 100644
index b64d3bd0c17397422a8b6616ab7ecfc8e41fb41c..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/field_type.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "rc.h"
-
-#include "field_type.h"
-#include "buffers.h"
-#include "ui_interface.h"
-
-int field_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    int length = 0;
-    char cbuf[50 + (type->name ? strlen (type->name) : 0)];
-    types_t *type_child;
-    char array_info[50];
-    new_line = FALSE;
-
-    DISPLAY_PARSE_INFO("field", type->name, offset, parent_offset);
-
-    CHECK_FCT(buffer_has_enouch_data(buffer, parent_offset + offset, type->size / 8));
-
-    if (type->bits == -1) {
-        if ((type->name != NULL) && (strcmp(type->name, "_asn_ctx") == 0)) {
-           /* Hide ASN1 asn_struct_ctx_t struct that hold context for parsing across buffer boundaries */
-           /*
-           INDENTED_STRING(cbuf, indent, sprintf(cbuf, ".asn_ctx ...\n"));
-           length = strlen (cbuf);
-
-           ui_set_signal_text_cb(user_data, cbuf, length);
-           */
-        }
-        else {
-            if (type->child != NULL) {
-                /* Ignore TYPEDEF children */
-                for (type_child = type->child; type_child != NULL && type_child->type == TYPE_TYPEDEF; type_child =
-                        type_child->child) {
-                }
-
-                if (type_child->type == TYPE_ARRAY) {
-                    types_t *type_array_child;
-
-                    /* Ignore TYPEDEF children */
-                    for (type_array_child = type_child->child;
-                            type_array_child != NULL && type_array_child->type == TYPE_TYPEDEF; type_array_child =
-                                    type_array_child->child) {
-                    }
-
-                    sprintf (array_info, "[%d]", type_child->size / type_array_child->size);
-                }
-                else {
-                    array_info[0] = '\0';
-                }
-
-                DISPLAY_TYPE("Fld");
-
-                INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, ".%s%s = ", type->name ? type->name : "Field", array_info));
-                ui_set_signal_text_cb(user_data, cbuf, length);
-
-                if (type_child->type == TYPE_ARRAY) {
-                    DISPLAY_BRACE(ui_set_signal_text_cb(user_data, "{", 1);)
-                    ui_set_signal_text_cb(user_data, "\n", 1);
-                    new_line = TRUE;
-                }
-                /*
-                if (type_child->type == TYPE_STRUCT || type_child->type == TYPE_UNION) {
-                    DISPLAY_BRACE(ui_set_signal_text_cb(user_data, "{", 1);)
-                    ui_set_signal_text_cb(user_data, "\n", 1);
-                    new_line = TRUE;
-                }
-                */
-
-                type->child->parent = type;
-                type->child->type_dissect_from_buffer(
-                    type->child, ui_set_signal_text_cb, user_data, buffer,
-                    parent_offset, offset + type->offset, new_line ? indent + DISPLAY_TAB_SIZE : indent, new_line);
-
-                DISPLAY_BRACE(
-                        if (type_child->type == TYPE_ARRAY) {
-                            DISPLAY_TYPE("Fld");
-
-                            INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "};\n"));
-                            ui_set_signal_text_cb(user_data, cbuf, length);
-                        });
-                /*
-                DISPLAY_BRACE(
-                        if (type_child->type == TYPE_STRUCT || type_child->type == TYPE_UNION) {
-                            DISPLAY_TYPE("Fld");
-                            INDENTED_STRING(cbuf, indent, sprintf(cbuf, "};\n"));
-                            length = strlen (cbuf);
-
-                            ui_set_signal_text_cb(user_data, cbuf, length);
-                        });
-                        */
-            }
-        }
-    }
-    else {
-        /* The field is only composed of bits */
-        uint32_t value = 0;
-
-        CHECK_FCT(buffer_fetch_bits(buffer, offset + type->offset + parent_offset, type->bits, &value));
-
-        DISPLAY_TYPE("Fld");
-
-        INDENTED_STRING(cbuf, indent,
-                length = sprintf(cbuf, ".%s:%d = (0x%0*x) %d;\n", type->name ? type->name : "Field", type->bits, (type->bits + 3) / 4, value, value));
-        ui_set_signal_text_cb(user_data, cbuf, length);
-    }
-
-    return 0;
-}
-
-int field_type_file_print(types_t *type, int indent, FILE *file) {
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent, fprintf(file, "<Field>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Bits .......: %d\n", type->bits));
-    INDENTED(file, indent+4, fprintf(file, "Type .......: %d\n", type->type_xml));
-    INDENTED(file, indent+4, fprintf(file, "Offset .....: %d\n", type->offset));
-    INDENTED(file, indent+4, fprintf(file, "Context ....: %d\n", type->context));
-    INDENTED(file, indent+4, fprintf(file, "File .......: %s\n", type->file));
-    INDENTED(file, indent+4, fprintf(file, "Line .......: %d\n", type->line));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print (type->file_ref, indent + 4, file);
-    if (type->child != NULL)
-        type->child->type_file_print (type->child, indent + 4, file);
-    INDENTED(file, indent, fprintf(file, "</Field>\n"));
-
-    return 0;
-}
-
-int field_type_hr_display(types_t *type, int indent) {
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent, printf("<Field>\n"));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Bits .......: %d\n", type->bits));
-    INDENTED(stdout, indent+4, printf("Type .......: %d\n", type->type_xml));
-    INDENTED(stdout, indent+4, printf("Offset .....: %d\n", type->offset));
-    INDENTED(stdout, indent+4, printf("Context ....: %d\n", type->context));
-    INDENTED(stdout, indent+4, printf("File .......: %s\n", type->file));
-    INDENTED(stdout, indent+4, printf("Line .......: %d\n", type->line));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display (type->file_ref, indent + 4);
-    if (type->child != NULL)
-        type->child->type_hr_display (type->child, indent + 4);
-    INDENTED(stdout, indent, printf("</Field>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/field_type.h b/common/utils/itti_analyzer/libparser/field_type.h
deleted file mode 100644
index 329e90c3be7a92f0df5fe2a5e77eb1013db7fbca..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/field_type.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef FIELD_TYPE_H_
-#define FIELD_TYPE_H_
-
-int field_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int field_type_file_print(types_t *type, int indent, FILE *file);
-
-int field_type_hr_display(types_t *type, int indent);
-
-#endif /* FIELD_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/file_type.c b/common/utils/itti_analyzer/libparser/file_type.c
deleted file mode 100644
index 04d66b7a0869fcd894bd7110f30e1fc2361cb948..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/file_type.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "file_type.h"
-
-int file_type_file_print(types_t *type, int indent, FILE *file)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent,   fprintf(file, "<File>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent,   fprintf(file, "</File>\n"));
-
-    return 0;
-}
-
-int file_type_hr_display(types_t *type, int indent)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent,  printf("<File>\n"));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent, printf("</File>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/file_type.h b/common/utils/itti_analyzer/libparser/file_type.h
deleted file mode 100644
index 34ebea6745e226d167946cd57427bd32922f21e5..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/file_type.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef FILE_TYPE_H_
-#define FILE_TYPE_H_
-
-int file_type_file_print(types_t *type, int indent, FILE *file);
-
-int file_type_hr_display(types_t *type, int indent);
-
-#endif /* FILE_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.c b/common/utils/itti_analyzer/libparser/fundamental_type.c
deleted file mode 100644
index 92dd1c75cb9b1ffef3a3777c890dbf794a2c89d1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/fundamental_type.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "fundamental_type.h"
-#include "ui_interface.h"
-
-uint64_t fundamental_read_from_buffer(types_t *type, buffer_t *buffer, uint32_t offset, uint32_t parent_offset) {
-    uint64_t value;
-
-    switch (type->size) {
-        case 8:
-            value = buffer_get_uint8_t (buffer, offset + parent_offset);
-            break;
-
-        case 16:
-            value = buffer_get_uint16_t (buffer, offset + parent_offset);
-            break;
-
-        case 32:
-            value = buffer_get_uint32_t (buffer, offset + parent_offset);
-            break;
-
-        case 64:
-            value = buffer_get_uint64_t (buffer, offset + parent_offset);
-            break;
-
-        default:
-            /* ??? */
-            value = 0;
-            break;
-    }
-    return value;
-}
-
-int fundamental_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    int         length = 0;
-    char        cbuf[200];
-    int         type_unsigned;
-    uint8_t     value8;
-    uint16_t    value16;
-    uint32_t    value32;
-    uint64_t    value64;
-
-    DISPLAY_PARSE_INFO("fundamental", type->name, offset, parent_offset);
-
-    memset (cbuf, 0, 200);
-
-    type_unsigned = strstr (type->name, "unsigned") == NULL ? 0 : 1;
-
-    value64 = fundamental_read_from_buffer(type, buffer, offset, parent_offset);
-
-    indent = new_line ? indent : 0;
-    if (indent > 0)
-    {
-        DISPLAY_TYPE("Fun");
-    }
-    switch (type->size) {
-        case 8:
-            value8 = (uint8_t) value64;
-            INDENTED_STRING(cbuf, indent,
-                            length = sprintf(cbuf, type_unsigned ? "(0x%02" PRIx8 ") %3" PRIu8 ";\n" : "(0x%02" PRIx8 ") %4" PRId8 ";\n", value8, value8));
-            break;
-
-        case 16:
-            value16 = (uint16_t) value64;
-            INDENTED_STRING(cbuf, indent,
-                            length = sprintf(cbuf, type_unsigned ? "(0x%04" PRIx16 ") %5" PRIu16 ";\n" : "(0x%04" PRIx16 ") %6" PRId16 ";\n", value16, value16));
-            break;
-
-        case 32:
-            value32 = (uint32_t) value64;
-            INDENTED_STRING(cbuf, indent,
-                            length = sprintf(cbuf, type_unsigned ? "(0x%08" PRIx32 ") %9" PRIu32 ";\n" : "(0x%08" PRIx32 ") %10" PRId32 ";\n", value32, value32));
-            break;
-
-        case 64:
-            INDENTED_STRING(cbuf, indent,
-                            length = sprintf(cbuf, type_unsigned ? "(0x%016" PRIx64 ") %20" PRIu64 ";\n" : "(0x%016" PRIx64 ") %20" PRId64 ";\n", value64, value64));
-            break;
-
-        default:
-            /* ??? */
-            break;
-    }
-    ui_set_signal_text_cb(user_data, cbuf, length);
-
-    return 0;
-}
-
-int fundamental_type_file_print(types_t *type, int indent, FILE *file) {
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent, fprintf(file, "<Fundamental>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print (type->file_ref, indent + 4, file);
-    INDENTED(file, indent, fprintf(file, "</Fundamental>\n"));
-    return 0;
-}
-
-int fundamental_type_hr_display(types_t *type, int indent) {
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent, printf("<Fundamental>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display (type->file_ref, indent + 4);
-    INDENTED(stdout, indent, printf("</Fundamental>\n"));
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.h b/common/utils/itti_analyzer/libparser/fundamental_type.h
deleted file mode 100644
index 07ceb3b9ed3cdfad9191c307fd0221a12bb9cd1a..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/fundamental_type.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef FUNDAMENTAL_TYPE_H_
-#define FUNDAMENTAL_TYPE_H_
-
-uint64_t fundamental_read_from_buffer(types_t *type, buffer_t *buffer, uint32_t offset, uint32_t parent_offset);
-
-int fundamental_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int fundamental_type_file_print(types_t *type, int indent, FILE *file);
-
-int fundamental_type_hr_display(types_t *type, int indent);
-
-#endif /* FUNDAMENTAL_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/intertask_contexts.h b/common/utils/itti_analyzer/libparser/intertask_contexts.h
deleted file mode 100644
index cfe8f59402b8015ac4d12b980fcdbff92010b29d..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/intertask_contexts.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "fundamental_type.h"
-#include "struct_type.h"
-
-#ifndef INTERTASK_CONTEXTS_H_
-#define INTERTASK_CONTEXTS_H_
-
-typedef struct {
-    /* List of fundamental types that can contruct any other type */
-    fundamental_type_t *ft_list;
-
-    struct_type_t *struct_list;
-} intertask_context_t;
-
-#endif /* INTERTASK_CONTEXTS_H_ */
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c
deleted file mode 100644
index e4571f9f48048f87f41838f39e64facbd369358a..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/pointer_type.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "pointer_type.h"
-#include "ui_interface.h"
-
-int pointer_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    int          length = 0, i;
-    char         cbuf[200];
-
-    DISPLAY_PARSE_INFO("pointer", type->name, offset, parent_offset);
-
-    memset (cbuf, 0, 200);
-
-    uint8_t value[type->size / 8];
-
-    buffer_fetch_nbytes(buffer, parent_offset + offset, type->size / 8, value);
-
-    indent = new_line ? indent : 0;
-    if (indent > 0)
-    {
-        DISPLAY_TYPE("Ptr");
-    }
-    if (type->child && type->child->name) {
-        /*
-         INDENTED(stdout, indent, fprintf(stdout, "<%s>0x%08x</%s>\n",
-         type->child->name, value, type->child->name));
-         */
-         INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "(%s *) 0x", type->child->name));
-    }
-    else {
-        /*
-         INDENTED(stdout, indent, fprintf(stdout, "<Pointer>0x%08x</Pointer>\n",
-         value));
-         */
-        INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "(void *) 0x"));
-    }
-
-    /* Append the value */
-    for (i = type->size / 8 - 1; i >= 0; i--) {
-        length += sprintf(&cbuf[length], "%02x", value[i]);
-    }
-    length += sprintf(&cbuf[length], ";\n");
-    ui_set_signal_text_cb(user_data, cbuf, length);
-
-    return 0;
-}
-
-int pointer_type_file_print(types_t *type, int indent, FILE *file) {
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent, fprintf(file, "<Pointer>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Type .......: %d\n", type->type_xml));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    if (type->child != NULL) {
-        if (type->child->type == TYPE_FUNCTION) {
-            INDENTED(file, indent+4, fprintf(file, "<Function>\n"));
-            INDENTED(file, indent+8, fprintf(file, "<Args>To be done</Args>\n"));
-            INDENTED(file, indent+4, fprintf(file, "</Function>\n"));
-        } else {
-            type->child->type_file_print (type->child, indent + 4, file);
-        }
-    }
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print (type->file_ref, indent + 4, file);
-    INDENTED(file, indent, fprintf(file, "</Pointer>\n"));
-
-    return 0;
-}
-
-int pointer_type_hr_display(types_t *type, int indent) {
-    return pointer_type_file_print(type, indent, stdout);
-}
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.h b/common/utils/itti_analyzer/libparser/pointer_type.h
deleted file mode 100644
index be2b6cc33cc48d4552f7d8bf0328cd4ed295b333..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/pointer_type.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef POINTER_TYPE_H_
-#define POINTER_TYPE_H_
-
-int pointer_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int pointer_type_file_print(types_t *type, int indent, FILE *file);
-
-int pointer_type_hr_display(types_t *type, int indent);
-
-#endif /* POINTER_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/reference_type.c b/common/utils/itti_analyzer/libparser/reference_type.c
deleted file mode 100644
index 8d0fec4e614381ff13159cfa11e7cc557228b111..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/reference_type.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "reference_type.h"
-#include "ui_interface.h"
-
-int reference_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    DISPLAY_PARSE_INFO("reference", type->name, offset, parent_offset);
-
-    if (type->name) {
-        INDENTED(stdout, indent,   fprintf(stdout, "<%s>\n", type->name));
-    }
-    if (type->child != NULL)
-        type->child->type_dissect_from_buffer(type->child, ui_set_signal_text_cb,
-                                              user_data, buffer, offset, parent_offset,
-                                              type->name == NULL ? indent: indent + DISPLAY_TAB_SIZE, TRUE);
-    if (type->name) {
-        INDENTED(stdout, indent,   fprintf(stdout, "</%s>\n", type->name));
-    }
-
-    return 0;
-}
-
-int reference_type_file_print(types_t *type, int indent, FILE *file)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent,   fprintf(file, "<Reference>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Type .......: %d\n", type->type_xml));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    INDENTED(file, indent+4, fprintf(file, "Context ....: %d\n", type->context));
-    INDENTED(file, indent+4, fprintf(file, "Offset .....: %d\n", type->offset));
-    INDENTED(file, indent+4, fprintf(file, "Line .......: %d\n", type->line));
-    INDENTED(file, indent+4, fprintf(file, "File .......: %s\n", type->file));
-    if (type->child != NULL)
-        type->child->type_file_print(type->child, indent+4, file);
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print(type->file_ref, indent+4, file);
-    INDENTED(file, indent, fprintf(file, "</Reference>\n"));
-
-    return 0;
-}
-
-int reference_type_hr_display(types_t *type, int indent)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent,  printf("<Reference>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Type .......: %d\n", type->type_xml));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    INDENTED(stdout, indent+4, printf("Context ....: %d\n", type->context));
-    INDENTED(stdout, indent+4, printf("Offset .....: %d\n", type->offset));
-    INDENTED(stdout, indent+4, printf("Line .......: %d\n", type->line));
-    INDENTED(stdout, indent+4, printf("File .......: %s\n", type->file));
-    if (type->child != NULL)
-        type->child->type_hr_display(type->child, indent+4);
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display(type->file_ref, indent+4);
-    INDENTED(stdout, indent, printf("</Reference>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/reference_type.h b/common/utils/itti_analyzer/libparser/reference_type.h
deleted file mode 100644
index da56e9f942d5ed48ea5121644c96190fa9996f8c..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/reference_type.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef REFERENCE_TYPE_H_
-#define REFERENCE_TYPE_H_
-
-int reference_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int reference_type_file_print(types_t *type, int indent, FILE *file);
-
-int reference_type_hr_display(types_t *type, int indent);
-
-#endif /* REFERENCE_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c
deleted file mode 100644
index 09d5280ea55c16df171ed183b842b7ac7b461904..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/struct_type.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "rc.h"
-
-#include "struct_type.h"
-#include "buffers.h"
-#include "ui_callbacks.h"
-#include "ui_interface.h"
-
-int struct_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    int i;
-    char cbuf[50 + (type->name ? strlen (type->name) : 0)];
-    int length = 0;
-    char *name;
-
-    memset (cbuf, 0, sizeof(cbuf));
-
-    DISPLAY_PARSE_INFO("structure", type->name, offset, parent_offset);
-
-    if (new_line) {
-        DISPLAY_TYPE("Str");
-    }
-
-    if (type->name) {
-        name = type->name;
-    }
-    else {
-        name = "_anonymous_";
-    }
-
-    if ((strcmp (name, "IttiMsgText_s") == 0) &&
-        (type->members_child[0] != NULL) && (strcmp (type->members_child[0]->name, "size") == 0) &&
-        (type->members_child[1] != NULL) && (strcmp (type->members_child[1]->name, "text") == 0)) {
-        uint8_t *buf;
-
-        length = buffer_get_uint32_t (buffer, offset + parent_offset);
-        buf = malloc (length + 1);
-        buf[0] = '\n';
-        buffer_fetch_nbytes(buffer, parent_offset + offset + 32, length, &buf[1]);
-        length = ui_callback_check_string ((char *) &buf[1], length, 0);
-        ui_set_signal_text_cb(user_data, (char *) buf, length + 1);
-    }
-    else
-    {
-        INDENTED_STRING(cbuf, new_line ? indent : 0, length = sprintf (cbuf, "%s :", name));
-        DISPLAY_BRACE(length += sprintf(&cbuf[length], " {"););
-        length += sprintf(&cbuf[length], "\n");
-        ui_set_signal_text_cb(user_data, cbuf, length);
-
-        for (i = 0; i < type->nb_members; i++) {
-            if (type->members_child[i] != NULL)
-                type->members_child[i]->type_dissect_from_buffer (
-                    type->members_child[i], ui_set_signal_text_cb, user_data,
-                    buffer, offset, parent_offset, indent + DISPLAY_TAB_SIZE, TRUE);
-        }
-    }
-
-    DISPLAY_BRACE(
-            DISPLAY_TYPE("Str");
-
-            INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "};\n"));
-            ui_set_signal_text_cb(user_data, cbuf, length);)
-
-    return 0;
-}
-
-int struct_type_file_print(types_t *type, int indent, FILE *file) {
-    int i;
-    if (type == NULL)
-        return -1;
-    if (file == NULL)
-        return -1;
-    INDENTED(file, indent, fprintf(file, "<Struct>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    INDENTED(file, indent+4, fprintf(file, "Artificial .: %d\n", type->artificial));
-    INDENTED(file, indent+4, fprintf(file, "File .......: %s\n", type->file));
-    INDENTED(file, indent+4, fprintf(file, "Line .......: %d\n", type->line));
-    INDENTED(file, indent+4, fprintf(file, "Members ....: %s\n", type->members));
-    INDENTED(file, indent+4, fprintf(file, "Mangled ....: %s\n", type->mangled));
-    INDENTED(file, indent+4, fprintf(file, "Demangled ..: %s\n", type->demangled));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print (type->file_ref, indent + 4, file);
-    for (i = 0; i < type->nb_members; i++) {
-        if (type->members_child[i] != NULL)
-            type->members_child[i]->type_file_print (type->members_child[i], indent + 4, file);
-    }
-    INDENTED(file, indent, fprintf(file, "</Struct>\n"));
-
-    return 0;
-}
-
-int struct_type_hr_display(types_t *type, int indent) {
-    int i;
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent, printf("<Struct>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    INDENTED(stdout, indent+4, printf("Artificial .: %d\n", type->artificial));
-    INDENTED(stdout, indent+4, printf("File .......: %s\n", type->file));
-    INDENTED(stdout, indent+4, printf("Line .......: %d\n", type->line));
-    INDENTED(stdout, indent+4, printf("Members ....: %s\n", type->members));
-    INDENTED(stdout, indent+4, printf("Mangled ....: %s\n", type->mangled));
-    INDENTED(stdout, indent+4, printf("Demangled ..: %s\n", type->demangled));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display (type->file_ref, indent + 4);
-    for (i = 0; i < type->nb_members; i++) {
-        if (type->members_child[i] != NULL)
-            type->members_child[i]->type_hr_display (type->members_child[i], indent + 4);
-    }
-    INDENTED(stdout, indent, printf("</Struct>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/struct_type.h b/common/utils/itti_analyzer/libparser/struct_type.h
deleted file mode 100644
index 29d4113b6f07b3782a48bea7f6ba587e19ddf012..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/struct_type.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef STRUCT_TYPE_H_
-#define STRUCT_TYPE_H_
-
-int struct_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int struct_type_hr_display(types_t *type, int indent);
-
-int struct_type_file_print(types_t *type, int indent, FILE *file);
-
-#endif /* STRUCT_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c
deleted file mode 100644
index e5cee1a1cfdac32fd094b23c38f5830c2de86177..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/typedef_type.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "typedef_type.h"
-#include "ui_interface.h"
-
-int typedef_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    int length = 0;
-    char cbuf[50 + (type->name ? strlen (type->name) : 0)];
-    types_t *type_child = NULL;
-
-    DISPLAY_PARSE_INFO("typedef", type->name, offset, parent_offset);
-
-    if (type->child != NULL) {
-        /* Ignore TYPEDEF children */
-        for (type_child = type->child; type_child != NULL && type_child->type == TYPE_TYPEDEF; type_child =
-                type_child->child) {
-        }
-    }
-
-    if ((type_child == NULL) || (type_child->type != TYPE_FUNDAMENTAL))
-    {
-        INDENTED_STRING(cbuf, new_line ? indent : 0, length = sprintf (cbuf, "%s, ", type->name));
-        ui_set_signal_text_cb(user_data, cbuf, length);
-
-        new_line = FALSE;
-    }
-
-    /* Simply call next_type */
-    if (type->child != NULL) {
-        type->child->parent = type;
-        type->child->type_dissect_from_buffer(
-            type->child, ui_set_signal_text_cb, user_data, buffer, offset, parent_offset, indent, new_line);
-    }
-
-    return 0;
-}
-
-int typedef_type_file_print(types_t *type, int indent, FILE *file)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent,   fprintf(file, "<Typedef>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Type .......: %d\n", type->type_xml));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    INDENTED(file, indent+4, fprintf(file, "Artificial .: %d\n", type->artificial));
-    INDENTED(file, indent+4, fprintf(file, "File .......: %s\n", type->file));
-    INDENTED(file, indent+4, fprintf(file, "Line .......: %d\n", type->line));
-    INDENTED(file, indent+4, fprintf(file, "Members ....: %s\n", type->members));
-    INDENTED(file, indent+4, fprintf(file, "Mangled ....: %s\n", type->mangled));
-    INDENTED(file, indent+4, fprintf(file, "Demangled ..: %s\n", type->demangled));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print(type->file_ref, indent+4, file);
-    if (type->child != NULL)
-        type->child->type_file_print(type->child, indent+4, file);
-    INDENTED(file, indent,  fprintf(file, "</Typedef>\n"));
-
-    return 0;
-}
-
-int typedef_type_hr_display(types_t *type, int indent)
-{
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent,  printf("<Typedef>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Type .......: %d\n", type->type_xml));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    INDENTED(stdout, indent+4, printf("Artificial .: %d\n", type->artificial));
-    INDENTED(stdout, indent+4, printf("File .......: %s\n", type->file));
-    INDENTED(stdout, indent+4, printf("Line .......: %d\n", type->line));
-    INDENTED(stdout, indent+4, printf("Members ....: %s\n", type->members));
-    INDENTED(stdout, indent+4, printf("Mangled ....: %s\n", type->mangled));
-    INDENTED(stdout, indent+4, printf("Demangled ..: %s\n", type->demangled));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display(type->file_ref, indent+4);
-    if (type->child != NULL)
-        type->child->type_hr_display(type->child, indent+4);
-    INDENTED(stdout, indent, printf("</Typedef>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.h b/common/utils/itti_analyzer/libparser/typedef_type.h
deleted file mode 100644
index b5710dbfcba3c28f48e77b79a87c2bfe14dd6fd2..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/typedef_type.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef TYPEDEF_TYPE_H_
-#define TYPEDEF_TYPE_H_
-
-int typedef_type_file_print(types_t *type, int indent, FILE *file);
-
-int typedef_type_hr_display(types_t *type, int indent);
-
-int typedef_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-#endif /* TYPEDEF_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/types.c b/common/utils/itti_analyzer/libparser/types.c
deleted file mode 100644
index 406db5249cd536c757089771867ab67530e04d43..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/types.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "types.h"
-#include "array_type.h"
-#include "enum_type.h"
-#include "fundamental_type.h"
-#include "struct_type.h"
-#include "union_type.h"
-#include "typedef_type.h"
-#include "enum_value_type.h"
-#include "file_type.h"
-#include "field_type.h"
-#include "reference_type.h"
-#include "pointer_type.h"
-
-types_t *type_new(enum type_e type)
-{
-    types_t *new_p;
-
-    new_p = calloc(1, sizeof(types_t));
-
-    new_p->type = type;
-
-    switch(type) {
-        case TYPE_FUNCTION:
-            /* Nothing to do for now. Display is done by pointer type */
-            break;
-        case TYPE_ENUMERATION:
-            new_p->type_hr_display = enum_type_hr_display;
-            new_p->type_file_print = enum_type_file_print;
-            new_p->type_dissect_from_buffer = enum_type_dissect_from_buffer;
-            break;
-        case TYPE_FUNDAMENTAL:
-            new_p->type_hr_display = fundamental_type_hr_display;
-            new_p->type_file_print = fundamental_type_file_print;
-            new_p->type_dissect_from_buffer = fundamental_dissect_from_buffer;
-            break;
-        case TYPE_STRUCT:
-            new_p->type_hr_display = struct_type_hr_display;
-            new_p->type_file_print = struct_type_file_print;
-            new_p->type_dissect_from_buffer = struct_dissect_from_buffer;
-            break;
-        case TYPE_UNION:
-            new_p->type_hr_display = union_type_hr_display;
-            new_p->type_file_print = union_type_file_print;
-            new_p->type_dissect_from_buffer = union_dissect_from_buffer;
-            break;
-        case TYPE_TYPEDEF:
-            new_p->type_hr_display = typedef_type_hr_display;
-            new_p->type_file_print = typedef_type_file_print;
-            new_p->type_dissect_from_buffer = typedef_dissect_from_buffer;
-            break;
-        case TYPE_ENUMERATION_VALUE:
-            new_p->type_hr_display = enum_value_type_hr_display;
-            new_p->type_file_print = enum_value_file_print;
-            new_p->type_dissect_from_buffer = enum_value_dissect_from_buffer;
-            break;
-        case TYPE_FILE:
-            new_p->type_hr_display = file_type_hr_display;
-            new_p->type_file_print = file_type_file_print;
-//             new_p->type_dissect_from_buffer = file_dissect_from_buffer;
-            break;
-        case TYPE_FIELD:
-            new_p->type_hr_display = field_type_hr_display;
-            new_p->type_file_print = field_type_file_print;
-            new_p->type_dissect_from_buffer = field_dissect_from_buffer;
-            break;
-        case TYPE_REFERENCE:
-            new_p->type_hr_display = reference_type_hr_display;
-            new_p->type_file_print = reference_type_file_print;
-            new_p->type_dissect_from_buffer = reference_dissect_from_buffer;
-            break;
-        case TYPE_ARRAY:
-            new_p->type_hr_display = array_type_hr_display;
-            new_p->type_file_print = array_type_file_print;
-            new_p->type_dissect_from_buffer = array_dissect_from_buffer;
-            break;
-        case TYPE_POINTER:
-            new_p->type_hr_display = pointer_type_hr_display;
-            new_p->type_file_print = pointer_type_file_print;
-            new_p->type_dissect_from_buffer = pointer_dissect_from_buffer;
-            break;
-        default:
-            break;
-    }
-
-    return new_p;
-}
-
-int types_insert_tail(types_t **head, types_t *to_insert)
-{
-    if (to_insert == NULL || head == NULL)
-        return -1;
-    if (*head == NULL) {
-        *head = to_insert;
-    } else {
-        types_t *last = *head;
-        while(last->next != NULL) {
-            last = last->next;
-        }
-        last->next = to_insert;
-        to_insert->previous = last;
-    }
-    to_insert->head = *head;
-    return 0;
-}
-
-void types_hr_display(types_t *head)
-{
-    types_t *current = head;
-
-    if (head == NULL) {
-        printf("Empty list\n");
-        /* Empty list */
-        return;
-    }
-
-    while((current = current->next) != NULL)
-    {
-        current->type_hr_display(current, 0);
-    }
-}
diff --git a/common/utils/itti_analyzer/libparser/types.h b/common/utils/itti_analyzer/libparser/types.h
deleted file mode 100644
index c449c445fd505d86bf60b7a7a75a7aed9fe9a7b1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/types.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-
-#include "buffers.h"
-#include "ui_main_screen.h"
-#include "ui_interface.h"
-
-#ifndef TYPES_H_
-#define TYPES_H_
-
-/* Activate to display the type at the beginning of the line (debug option) */
-#define ENABLE_DISPLAY_TYPE         0
-
-/* Activate to display the parse information before processing each item (debug option) */
-#define ENABLE_DISPLAY_PARSE_INFO   0
-
-/* Activate to show braces, in increase the number of displayed lines (formating option)*/
-#define ENABLE_DISPLAY_BRACE        1
-
-#if (ENABLE_DISPLAY_TYPE != 0)
-# define DISPLAY_TYPE(tYPE) ui_set_signal_text_cb(user_data, tYPE" ", strlen(tYPE) + 1);
-#else
-# define DISPLAY_TYPE(tYPE)
-#endif
-
-#define DISPLAY_TAB_SIZE        (2)
-
-#if (ENABLE_DISPLAY_PARSE_INFO != 0)
-# define DISPLAY_PARSE_INFO(tYPE, nAME, oFFSET, pARENToFFSET)                       \
-    {                                                                               \
-        char buf[200];                                                              \
-        sprintf(buf, "/* %s \"%s\" %d %d */\n", tYPE, nAME, oFFSET, pARENToFFSET);  \
-        ui_set_signal_text_cb(user_data, buf, strlen(buf));                         \
-    }
-#else
-# define DISPLAY_PARSE_INFO(tYPE, nAME, oFFSET, pARENToFFSET)
-#endif
-
-#if (ENABLE_DISPLAY_BRACE != 0)
-# define DISPLAY_BRACE(cODE) if (ui_main_data.display_brace) {cODE}
-#else
-# define DISPLAY_BRACE(cODE)
-#endif
-
-enum type_e {
-    TYPE_ENUMERATION,
-    TYPE_ENUMERATION_VALUE,
-    TYPE_STRUCT,
-    TYPE_UNION,
-    TYPE_FUNDAMENTAL,
-    TYPE_TYPEDEF,
-    TYPE_ARRAY,
-    TYPE_REFERENCE,
-    TYPE_FIELD,
-    TYPE_FUNCTION,
-    TYPE_ARGUMENT,
-    TYPE_POINTER,
-    TYPE_FILE,
-};
-
-/* Forward declarations */
-struct types_s;
-
-typedef int (*type_hr_display_t)(struct types_s *type, int indent);
-typedef int (*type_ui_display_t)(struct types_s *type, int indent);
-typedef int (*type_file_print_t)(struct types_s *type, int indent, FILE *file);
-
-/**
- * type_dissect_from_buffer_t
- * @param type The current type
- * @param ui_set_signal_text_cb GUI display function
- * @param user_data Transparent data to pass to the GUI display function
- * @param buffer The buffer containing data to dissect
- * @param offset offset of field from the beginning of the parent
- * @param parent_offset offset of the parent from begining
- **/
-typedef int (*type_dissect_from_buffer_t)(
-    struct types_s *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-typedef struct types_s {
-    /* The type of the current description */
-    enum type_e type;
-
-    /* Printable name for the current type */
-    char *name;
-
-    int   type_xml;
-
-    int   size;
-    int   align;
-    int   bits;
-
-    /* Used only for arrays */
-    int   min;
-    int   max;
-
-    int   context;
-
-    /* Init value for enumerations */
-    int init_value;
-
-    int incomplete;
-
-    /* Id of the type as defined in XML file */
-    int id;
-    int artificial;
-
-    char *mangled;
-    char *demangled;
-
-    /* List of members in constructed types */
-    char *members;
-
-    /* The file containing the definition */
-    char *file;
-    /* Line number of the current definition */
-    int   line;
-
-    /* offset of the field in the parent type
-     * -1 means no parent
-     */
-    int offset;
-
-    struct types_s *previous;
-    struct types_s *next;
-    struct types_s *parent;
-    struct types_s *child;
-    struct types_s *file_ref;
-    /* Reference to the head */
-    struct types_s *head;
-
-    /* For structures or union */
-    int nb_members;
-    struct types_s **members_child;
-
-    /* Some procedures to display the type on terminal */
-    type_hr_display_t type_hr_display;
-    /* Some procedures to display the type on UI */
-    type_ui_display_t type_ui_display;
-    /* Procedure to display the type to a file */
-    type_file_print_t type_file_print;
-    /* Dissect the type */
-    type_dissect_from_buffer_t type_dissect_from_buffer;
-} types_t;
-
-types_t *type_new(enum type_e type);
-
-int types_insert_tail(types_t **head, types_t *to_insert);
-
-void types_hr_display(types_t *head);
-
-#define INDENTED(fILE, x, y)            \
-do {                                    \
-    int indentation = x;                \
-    while(indentation--) fprintf(fILE, " ");  \
-    y;                                  \
-} while(0)
-
-#define INDENTED_STRING(sTR, x, y)              \
-do {                                            \
-    int indentation = x;                        \
-    while(indentation--) ui_set_signal_text_cb(user_data, " ", 1);     \
-    y;                                          \
-} while(0)
-
-#endif /* TYPES_H_ */
diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c
deleted file mode 100644
index f38b7a1ccca60ac4af40fd21feaa49cddd954c28..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/union_type.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include "rc.h"
-
-#include "enum_value_type.h"
-#include "union_type.h"
-#include "../libresolver/locate_root.h"
-#include "ui_interface.h"
-
-/* There is only one special case of union which is associated to an index: the message id */
-int union_msg_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    uint32_t message_id;
-    int length = 0;
-    char cbuf[200];
-
-    DISPLAY_PARSE_INFO("union_msg", type->name, offset, parent_offset);
-
-    CHECK_FCT(get_message_id(type->head, buffer, &message_id));
-
-    if (type->name) {
-        DISPLAY_TYPE("Uni");
-
-        length = sprintf(cbuf, "%s |", type->name);
-        DISPLAY_BRACE(length += sprintf(&cbuf[length], " {"););
-        length += sprintf(&cbuf[length], "\n");
-        ui_set_signal_text_cb(user_data, cbuf, length);
-    }
-
-    if (type->members_child[message_id] != NULL)
-        type->members_child[message_id]->type_dissect_from_buffer(
-            type->members_child[message_id], ui_set_signal_text_cb, user_data,
-            buffer, offset, parent_offset, type->name == NULL ? indent : indent + DISPLAY_TAB_SIZE, TRUE);
-
-    DISPLAY_BRACE(
-            if (type->name) {
-                DISPLAY_TYPE("Uni");
-
-                INDENTED_STRING(cbuf, indent, length = sprintf(cbuf, "};\n"));
-                ui_set_signal_text_cb(user_data, cbuf, length);
-            });
-
-    return RC_OK;
-}
-
-int union_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line)
-{
-    int length = 0;
-    char cbuf[50 + (type->name ? strlen (type->name) : 0)];
-    char *name;
-    int union_child = 0;
-
-    DISPLAY_PARSE_INFO("union", type->name, offset, parent_offset);
-
-    memset (cbuf, 0, sizeof(cbuf));
-
-//    CHECK_FCT(buffer_has_enouch_data(buffer, offset + parent_offset, type->size / 8));
-
-    if (type->name) {
-        name = type->name;
-    }
-    else {
-        name = "_anonymous_";
-    }
-    if (new_line) {
-        DISPLAY_TYPE("Uni");
-    }
-    INDENTED_STRING(cbuf, new_line ? indent : 0, length = sprintf(cbuf, "%s |", name));
-    DISPLAY_BRACE(length += sprintf(&cbuf[length], " {"););
-    length += sprintf(&cbuf[length], "\n");
-    ui_set_signal_text_cb(user_data, cbuf, length);
-
-    if (type->name) {
-        if (type->parent != NULL)
-        {
-            if ((type->parent->name != NULL) && (strcmp(type->parent->name, "choice") == 0))
-            {
-                /* ASN1 union */
-
-                if ((last_enum_value > 0) && (last_enum_value <= type->nb_members))
-                {
-                    union_child = last_enum_value - 1;
-
-                    g_debug("ASN1 union \"%s\' detected, use member %d", type->name, union_child);
-                }
-            }
-        }
-    }
-
-
-    /* Only dissect the first field present in unions */
-    if (type->members_child[union_child] != NULL)
-        type->members_child[union_child]->type_dissect_from_buffer(
-            type->members_child[union_child], ui_set_signal_text_cb, user_data, buffer,
-            offset, parent_offset, indent + DISPLAY_TAB_SIZE, TRUE);
-
-    DISPLAY_BRACE(
-            DISPLAY_TYPE("Uni");
-            INDENTED_STRING(cbuf, indent, sprintf(cbuf, "};\n"));
-
-            length = strlen (cbuf);
-
-            ui_set_signal_text_cb(user_data, cbuf, length););
-
-    return 0;
-}
-
-int union_type_file_print(types_t *type, int indent, FILE *file) {
-    int i;
-    if (type == NULL)
-        return -1;
-    INDENTED(file, indent, fprintf(file, "<Union>\n"));
-    INDENTED(file, indent+4, fprintf(file, "Name .......: %s\n", type->name));
-    INDENTED(file, indent+4, fprintf(file, "Id .........: %d\n", type->id));
-    INDENTED(file, indent+4, fprintf(file, "Size .......: %d\n", type->size));
-    INDENTED(file, indent+4, fprintf(file, "Align ......: %d\n", type->align));
-    INDENTED(file, indent+4, fprintf(file, "Artificial .: %d\n", type->artificial));
-    INDENTED(file, indent+4, fprintf(file, "File .......: %s\n", type->file));
-    INDENTED(file, indent+4, fprintf(file, "Line .......: %d\n", type->line));
-    INDENTED(file, indent+4, fprintf(file, "Members ....: %s\n", type->members));
-    INDENTED(file, indent+4, fprintf(file, "Mangled ....: %s\n", type->mangled));
-    INDENTED(file, indent+4, fprintf(file, "Demangled ..: %s\n", type->demangled));
-    if (type->file_ref != NULL)
-        type->file_ref->type_file_print (type->file_ref, indent + 4, file);
-    for (i = 0; i < type->nb_members; i++) {
-        if (type->members_child[i] != NULL)
-            type->members_child[i]->type_file_print (type->members_child[i], indent + 4, file);
-    }
-    INDENTED(file, indent, fprintf(file, "</Union>\n"));
-
-    return 0;
-}
-
-int union_type_hr_display(types_t *type, int indent) {
-    int i;
-    if (type == NULL)
-        return -1;
-    INDENTED(stdout, indent, printf("<Union>\n"));
-    INDENTED(stdout, indent+4, printf("Name .......: %s\n", type->name));
-    INDENTED(stdout, indent+4, printf("Id .........: %d\n", type->id));
-    INDENTED(stdout, indent+4, printf("Size .......: %d\n", type->size));
-    INDENTED(stdout, indent+4, printf("Align ......: %d\n", type->align));
-    INDENTED(stdout, indent+4, printf("Artificial .: %d\n", type->artificial));
-    INDENTED(stdout, indent+4, printf("File .......: %s\n", type->file));
-    INDENTED(stdout, indent+4, printf("Line .......: %d\n", type->line));
-    INDENTED(stdout, indent+4, printf("Members ....: %s\n", type->members));
-    INDENTED(stdout, indent+4, printf("Mangled ....: %s\n", type->mangled));
-    INDENTED(stdout, indent+4, printf("Demangled ..: %s\n", type->demangled));
-    if (type->file_ref != NULL)
-        type->file_ref->type_hr_display (type->file_ref, indent + 4);
-    for (i = 0; i < type->nb_members; i++) {
-        if (type->members_child[i] != NULL)
-            type->members_child[i]->type_hr_display (type->members_child[i], indent + 4);
-    }
-    INDENTED(stdout, indent, printf("</Union>\n"));
-
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libparser/union_type.h b/common/utils/itti_analyzer/libparser/union_type.h
deleted file mode 100644
index ed2dca73ba9bbae5e95e5e5e5010a2b4be809190..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/union_type.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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
- */
-
-#include "types.h"
-
-#ifndef UNION_TYPE_H_
-#define UNION_TYPE_H_
-
-int union_msg_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int union_dissect_from_buffer(
-    types_t *type, ui_set_signal_text_cb_t ui_set_signal_text_cb, gpointer user_data,
-    buffer_t *buffer, uint32_t offset, uint32_t parent_offset, int indent, gboolean new_line);
-
-int union_type_file_print(types_t *type, int indent, FILE *file);
-
-int union_type_hr_display(types_t *type, int indent);
-
-#endif /* UNION_TYPE_H_ */
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.c b/common/utils/itti_analyzer/libparser/xml_parse.c
deleted file mode 100644
index 72447e7669b6be7ed4bdd2c1cf272be588d020f1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/xml_parse.c
+++ /dev/null
@@ -1,904 +0,0 @@
-/*
- * 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
- */
-
-#include <string.h>
-#include <unistd.h>
-
-#define G_LOG_DOMAIN ("PARSER")
-
-#include <gtk/gtk.h>
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-
-#include "logs.h"
-#include "types.h"
-#include "xml_parse.h"
-#include "union_type.h"
-
-#include "ui_interface.h"
-#include "ui_main_screen.h"
-#include "ui_notif_dlg.h"
-#include "ui_filters.h"
-
-#include "../libresolver/locate_root.h"
-#include "../libresolver/resolvers.h"
-
-extern int debug_parser;
-
-#if (ENABLE_DISPLAY_PARSE_INFO != 0)
-# define INDENT_START 30
-#else
-# define INDENT_START 0
-#endif
-
-void       *xml_raw_data;
-uint32_t    xml_raw_data_size;
-
-types_t    *xml_head;
-types_t    *root;
-
-static int xml_parse_doc(xmlDocPtr doc);
-
-static int parse_attribute_name(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "name")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve name attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve name attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            return 0;
-        }
-    }
-    type->name = strdup ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_id(xmlNode *node, types_t *type) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "id")) == NULL) {
-        g_error("cannot retrieve id attribute in node %s, %s:%ld",
-                (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-        return -1;
-    }
-    type->id = atoi ((char *) &node_attribute->children->content[1]);
-    return 0;
-}
-
-static int parse_attribute_size(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "size")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve size attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->size = -1;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve size attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->size = -1;
-            return 0;
-        }
-    }
-    type->size = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_align(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "align")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve align attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->align = -1;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve align attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->align = -1;
-            return 0;
-        }
-    }
-    type->align = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_line(xmlNode *node, types_t *type) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "line")) == NULL) {
-        type->line = -1;
-        return 0;
-    }
-    type->line = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_file(xmlNode *node, types_t *type) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "file")) == NULL) {
-        type->file = NULL;
-        return 0;
-    }
-    type->file = strdup ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_context(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "context")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve context attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->context = -1;
-            return -1;
-        }
-        else {
-            type->context = -1;
-            return 0;
-        }
-    }
-    type->context = atoi ((char *) &node_attribute->children->content[1]);
-    return 0;
-}
-
-static int parse_attribute_artificial(xmlNode *node, types_t *type) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "artificial")) == NULL) {
-        g_debug("cannot retrieve artificial attribute in node %s, %s:%ld",
-                (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-        type->artificial = -1;
-        return 0;
-    }
-    type->artificial = atoi ((char *) &node_attribute->children->content[1]);
-    return 0;
-}
-
-static int parse_attribute_init(xmlNode *node, types_t *type) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "init")) == NULL) {
-        g_error("cannot retrieve init attribute in node %s, %s:%ld",
-                (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-        type->init_value = -1;
-        return 0;
-    }
-    type->init_value = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_members(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "members")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve members attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->members = 0;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve members attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->members = 0;
-            return 0;
-        }
-    }
-    type->members = strdup ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_mangled(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "mangled")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve mangled attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->mangled = 0;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve mangled attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->mangled = 0;
-            return 0;
-        }
-    }
-    type->mangled = strdup ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_demangled(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "mangled")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve demangled attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->demangled = 0;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve demangled attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->demangled = 0;
-            return 0;
-        }
-    }
-    type->demangled = strdup ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_offset(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "offset")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve offset attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->offset = -1;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve offset attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->offset = -1;
-            return 0;
-        }
-    }
-    type->offset = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_bits(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "bits")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve bits attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->bits = -1;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve bits attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->bits = -1;
-            return 0;
-        }
-    }
-    type->bits = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_type(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "type")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve type attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->type_xml = 0;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve type attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->type_xml = 0;
-            return 0;
-        }
-    }
-    type->type_xml = atoi ((char *) &node_attribute->children->content[1]);
-    return 0;
-}
-
-static int parse_attribute_min(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "min")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve min attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->min = 0;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve min attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->min = 0;
-            return 0;
-        }
-    }
-    type->min = atoi ((char *) node_attribute->children->content);
-    return 0;
-}
-
-static int parse_attribute_max(xmlNode *node, types_t *type, int mandatory) {
-    xmlAttrPtr node_attribute;
-    if ((node_attribute = xmlHasProp (node, (xmlChar *) "max")) == NULL) {
-        if (mandatory) {
-            g_error("cannot retrieve max attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->max = 0;
-            return -1;
-        }
-        else {
-            g_debug("cannot retrieve max attribute in node %s, %s:%ld",
-                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
-            type->max = 0;
-            return 0;
-        }
-    }
-    type->max = atoi ((char *) &node_attribute->children->content[1]);
-    return 0;
-}
-
-static int parse_enum_values(xmlNode *node, types_t *parent) {
-    types_t *new;
-
-    if (node == NULL || parent == NULL)
-        return -1;
-
-    new = type_new (TYPE_ENUMERATION_VALUE);
-
-    CHECK_FCT(parse_attribute_name(node, new, 1));
-    CHECK_FCT(parse_attribute_init(node, new));
-
-    CHECK_FCT(types_insert_tail(&parent->child, new));
-
-    return 0;
-}
-
-static int parse_enumeration(xmlNode *node, types_t **head) {
-    types_t *new;
-    xmlNode *enum_value_node;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_ENUMERATION);
-
-    CHECK_FCT(parse_attribute_name(node, new, 1));
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_size(node, new, 1));
-    CHECK_FCT(parse_attribute_align(node, new, 1));
-    CHECK_FCT(parse_attribute_context(node, new, 0));
-    CHECK_FCT(parse_attribute_line(node, new));
-    CHECK_FCT(parse_attribute_file(node, new));
-    CHECK_FCT(parse_attribute_artificial(node, new));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    /* Parse enum values */
-    for (enum_value_node = node->children; enum_value_node; enum_value_node = enum_value_node->next) {
-        if (strcmp ((char *) enum_value_node->name, "EnumValue") == 0)
-            CHECK_FCT(parse_enum_values(enum_value_node, new));
-    }
-
-    return 0;
-}
-
-static int parse_union(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_UNION);
-
-    CHECK_FCT(parse_attribute_name(node, new, 0));
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_size(node, new, 1));
-    CHECK_FCT(parse_attribute_align(node, new, 1));
-    CHECK_FCT(parse_attribute_context(node, new, 0));
-    CHECK_FCT(parse_attribute_members(node, new, 0));
-    CHECK_FCT(parse_attribute_line(node, new));
-    CHECK_FCT(parse_attribute_file(node, new));
-    CHECK_FCT(parse_attribute_artificial(node, new));
-    CHECK_FCT(parse_attribute_mangled(node, new, 0));
-    CHECK_FCT(parse_attribute_demangled(node, new, 0));
-
-    if (new->name)
-        if (strcmp (new->name, "msg_s") == 0)
-            new->type_dissect_from_buffer = union_msg_dissect_from_buffer;
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_fundamental(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_FUNDAMENTAL);
-
-    CHECK_FCT(parse_attribute_name(node, new, 1));
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_size(node, new, 0));
-    CHECK_FCT(parse_attribute_align(node, new, 0));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_struct(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_STRUCT);
-
-    CHECK_FCT(parse_attribute_name(node, new, 0));
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_size(node, new, 0));
-    CHECK_FCT(parse_attribute_align(node, new, 0));
-    CHECK_FCT(parse_attribute_file(node, new));
-    CHECK_FCT(parse_attribute_line(node, new));
-    CHECK_FCT(parse_attribute_context(node, new, 0));
-    CHECK_FCT(parse_attribute_artificial(node, new));
-    CHECK_FCT(parse_attribute_members(node, new, 0));
-    CHECK_FCT(parse_attribute_mangled(node, new, 0));
-    CHECK_FCT(parse_attribute_demangled(node, new, 0));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_typedef(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_TYPEDEF);
-
-    CHECK_FCT(parse_attribute_name(node, new, 1));
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_file(node, new));
-    CHECK_FCT(parse_attribute_line(node, new));
-    CHECK_FCT(parse_attribute_type(node, new, 1));
-    CHECK_FCT(parse_attribute_size(node, new, 0));
-    CHECK_FCT(parse_attribute_align(node, new, 0));
-    CHECK_FCT(parse_attribute_context(node, new, 0));
-    CHECK_FCT(parse_attribute_artificial(node, new));
-    CHECK_FCT(parse_attribute_members(node, new, 0));
-    CHECK_FCT(parse_attribute_mangled(node, new, 0));
-    CHECK_FCT(parse_attribute_demangled(node, new, 0));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_field(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_FIELD);
-
-    CHECK_FCT(parse_attribute_name(node, new, 1));
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_type(node, new, 1));
-    CHECK_FCT(parse_attribute_size(node, new, 0));
-    CHECK_FCT(parse_attribute_bits(node, new, 0));
-    CHECK_FCT(parse_attribute_offset(node, new, 0));
-    CHECK_FCT(parse_attribute_align(node, new, 0));
-    CHECK_FCT(parse_attribute_context(node, new, 0));
-    CHECK_FCT(parse_attribute_artificial(node, new));
-    CHECK_FCT(parse_attribute_members(node, new, 0));
-    CHECK_FCT(parse_attribute_mangled(node, new, 0));
-    CHECK_FCT(parse_attribute_demangled(node, new, 0));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_file(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_FILE);
-
-    CHECK_FCT(parse_attribute_name(node, new, 1));
-    CHECK_FCT(parse_attribute_id(node, new));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_reference_type(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_REFERENCE);
-
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_type(node, new, 1));
-    CHECK_FCT(parse_attribute_size(node, new, 1));
-    CHECK_FCT(parse_attribute_align(node, new, 1));
-    CHECK_FCT(parse_attribute_context(node, new, 0));
-    CHECK_FCT(parse_attribute_offset(node, new, 0));
-    CHECK_FCT(parse_attribute_file(node, new));
-    CHECK_FCT(parse_attribute_line(node, new));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_array_type(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_ARRAY);
-
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_type(node, new, 1));
-    CHECK_FCT(parse_attribute_size(node, new, 0));
-    CHECK_FCT(parse_attribute_align(node, new, 1));
-    CHECK_FCT(parse_attribute_min(node, new, 1));
-    CHECK_FCT(parse_attribute_max(node, new, 1));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_pointer_type(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_POINTER);
-
-    CHECK_FCT(parse_attribute_id(node, new));
-    CHECK_FCT(parse_attribute_type(node, new, 1));
-    CHECK_FCT(parse_attribute_size(node, new, 1));
-    CHECK_FCT(parse_attribute_align(node, new, 1));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-static int parse_function_type(xmlNode *node, types_t **head) {
-    types_t *new;
-
-    if (node == NULL)
-        return -1;
-
-    new = type_new (TYPE_FUNCTION);
-
-    CHECK_FCT(parse_attribute_id(node, new));
-
-    CHECK_FCT(types_insert_tail(head, new));
-
-    return 0;
-}
-
-/**
- * print_element_names:
- * @a_node: the initial xml node to consider.
- *
- * Prints the names of the all the xml elements
- * that are siblings or children of a given xml node.
- */
-static int parse_elements(xmlNode * a_node, types_t **head) {
-    xmlNode *cur_node = NULL;
-    xmlNode *child_node = NULL;
-
-    for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
-        for (child_node = cur_node->children; child_node; child_node = child_node->next) {
-            if (child_node->type == XML_ELEMENT_NODE) {
-                if (strcmp ((char *) child_node->name, "Enumeration") == 0) {
-                    CHECK_FCT_DO(parse_enumeration(child_node, head), return RC_FAIL);
-                }
-                else
-                    if (strcmp ((char *) child_node->name, "FundamentalType") == 0) {
-                        CHECK_FCT_DO(parse_fundamental(child_node, head), return RC_FAIL);
-                    }
-                    else
-                        if (strcmp ((char *) child_node->name, "Struct") == 0) {
-                            CHECK_FCT_DO(parse_struct(child_node, head), return RC_FAIL);
-                        }
-                        else
-                            if (strcmp ((char *) child_node->name, "Union") == 0) {
-                                CHECK_FCT_DO(parse_union(child_node, head), return RC_FAIL);
-                            }
-                            else
-                                if (strcmp ((char *) child_node->name, "Typedef") == 0) {
-                                    CHECK_FCT_DO(parse_typedef(child_node, head), return RC_FAIL);
-                                }
-                                else
-                                    if (strcmp ((char *) child_node->name, "File") == 0) {
-                                        CHECK_FCT_DO(parse_file(child_node, head), return RC_FAIL);
-                                    }
-                                    else
-                                        if (strcmp ((char *) child_node->name, "Field") == 0) {
-                                            CHECK_FCT_DO(parse_field(child_node, head), return RC_FAIL);
-                                        }
-                                        else
-                                            if (strcmp ((char *) child_node->name, "ReferenceType") == 0) {
-                                                CHECK_FCT_DO(parse_reference_type(child_node, head), return RC_FAIL);
-                                            }
-                                            else
-                                                if (strcmp ((char *) child_node->name, "ArrayType") == 0) {
-                                                    CHECK_FCT_DO(parse_array_type(child_node, head), return RC_FAIL);
-                                                }
-                                                else
-                                                    if (strcmp ((char *) child_node->name, "PointerType") == 0) {
-                                                        CHECK_FCT_DO(parse_pointer_type(child_node, head), return RC_FAIL);
-                                                    }
-                                                    else
-                                                        if (strcmp ((char *) child_node->name, "FunctionType") == 0) {
-                                                            CHECK_FCT_DO(parse_function_type(child_node, head), return RC_FAIL);
-                                                        }
-            }
-        }
-    }
-
-    return RC_OK;
-}
-
-static int free_elements(types_t *parent, int indent) {
-    types_t *cur_node = parent;
-    types_t *child_node;
-
-    g_debug("%*s%p %s", indent, "", cur_node, cur_node->name != NULL ? cur_node->name : "");
-
-    for (; cur_node != NULL; cur_node = cur_node->next) {
-        if (cur_node->child != NULL) {
-            child_node = cur_node->child;
-            cur_node->child = NULL; /* Clear the child pointer to avoid re-processing it, we are handling a graph with loops */
-            CHECK_FCT_DO(free_elements((child_node), indent + 2), return RC_FAIL);
-        }
-    }
-    free (cur_node);
-
-    return RC_OK;
-}
-
-int xml_parse_buffer(char *xml_buffer, const int size) {
-    xmlDocPtr doc; /* the resulting document tree */
-
-    if (xml_buffer == NULL) {
-        return RC_NULL_POINTER;
-    }
-
-    if (xml_raw_data != NULL)
-    {
-        /* Free previous raw data */
-        free (xml_raw_data);
-    }
-    xml_raw_data = xml_buffer;
-    xml_raw_data_size = size;
-
-    if (xml_head != NULL)
-    {
-        /* Free previous definitions */
-        free_elements(xml_head, 0);
-
-        g_info("xml_parse_buffer freed previous definitions");
-    }
-
-    xml_head = NULL;
-    root = NULL;
-    messages_id_enum = NULL;
-    lte_time_type = NULL;
-    lte_time_frame_type = NULL;
-    lte_time_slot_type = NULL;
-    origin_task_id_type = NULL;
-    destination_task_id_type = NULL;
-    instance_type = NULL;
-    message_header_type = NULL;
-    message_type = NULL;
-    message_size_type = NULL;
-
-    g_info("Parsing XML definition from buffer ...");
-
-    doc = xmlReadMemory(xml_buffer, size, NULL, NULL, 0);
-
-    if (doc == NULL) {
-        g_warning("Failed to parse XML buffer: %s", xml_buffer);
-        ui_notification_dialog(GTK_MESSAGE_ERROR, FALSE, "parse messages format definition", "Fail to parse XML buffer");
-        return RC_FAIL;
-    }
-
-    return xml_parse_doc(doc);
-}
-
-static int update_filters() {
-    types_t *types;
-
-    ui_init_filters(FALSE, TRUE);
-
-    types = messages_id_enum;
-    if (types != NULL)
-    {
-        types = types->child;
-
-        while (types != NULL)
-        {
-            if (strcmp (types->name, "MESSAGES_ID_MAX") != 0)
-            {
-                ui_filters_add (FILTER_MESSAGES, types->init_value, types->name, ENTRY_ENABLED_UNDEFINED, NULL, NULL);
-            }
-            types = types->next;
-        }
-    }
-
-    types = origin_task_id_type;
-    if (types != NULL)
-    {
-        types = types->child->child;
-
-        while (types != NULL) {
-            if ((strcmp (types->name, "TASK_FIRST") != 0) && (strcmp (types->name, "TASK_MAX") != 0))
-            {
-            	ui_filters_add(FILTER_ORIGIN_TASKS, types->init_value, types->name, ENTRY_ENABLED_UNDEFINED, NULL, NULL);
-            }
-            types = types->next;
-        }
-    }
-
-    types = destination_task_id_type;
-    if (types != NULL)
-    {
-        types = types->child->child;
-
-        while (types != NULL) {
-            if ((strcmp (types->name, "TASK_FIRST") != 0) && (strcmp (types->name, "TASK_MAX") != 0))
-            {
-            	ui_filters_add(FILTER_DESTINATION_TASKS, types->init_value, types->name, ENTRY_ENABLED_UNDEFINED, NULL, NULL);
-            }
-            types = types->next;
-        }
-    }
-
-    return RC_OK;
-}
-
-static int xml_parse_doc(xmlDocPtr doc) {
-    xmlNode *root_element = NULL;
-    int ret = 0;
-    FILE *dissect_file = NULL;
-
-    if (ui_main_data.dissect_file_name != NULL) {
-        dissect_file = fopen (ui_main_data.dissect_file_name, "w");
-    }
-
-    /* Get the root element node */
-    root_element = xmlDocGetRootElement(doc);
-
-    ret = parse_elements(root_element, &xml_head);
-
-    /* Free the document */
-    xmlFreeDoc(doc);
-
-    if (ret == RC_OK) {
-        resolve_typedefs (&xml_head);
-        resolve_pointer_type (&xml_head);
-        resolve_field (&xml_head);
-        resolve_array (&xml_head);
-        resolve_reference (&xml_head);
-        resolve_struct (&xml_head);
-        resolve_file (&xml_head);
-        resolve_union (&xml_head);
-        resolve_function (&xml_head);
-
-        /* Locate the root element which corresponds to the MessageDef struct */
-        CHECK_FCT(locate_root("MessageDef", xml_head, &root));
-
-        /* Locate the LTE time fields */
-        if (locate_type("lte_time", xml_head, &lte_time_type) == RC_OK)
-        {
-            CHECK_FCT(locate_type("frame", lte_time_type->child->child, &lte_time_frame_type));
-            CHECK_FCT(locate_type("slot", lte_time_type->child->child, &lte_time_slot_type));
-        }
-
-        /* Locate the message id field */
-        CHECK_FCT(locate_type("MessagesIds", xml_head, &messages_id_enum));
-
-        /* Locate the header part of a message */
-        CHECK_FCT(locate_type("ittiMsgHeader", xml_head, &message_header_type));
-        /* Locate the main message part */
-        CHECK_FCT(locate_type("ittiMsg", xml_head, &message_type));
-
-        /* Locate the origin task id field */
-        CHECK_FCT(locate_type_children("originTaskId", message_header_type->child->child, &origin_task_id_type));
-        /* Locate the destination task id field */
-        CHECK_FCT(locate_type_children("destinationTaskId", message_header_type->child->child, &destination_task_id_type));
-        /* Locate the instance field */
-        CHECK_FCT(locate_type_children("instance", message_header_type->child->child, &instance_type));
-        /* Locate the message size field */
-        CHECK_FCT(locate_type_children("ittiMsgSize", message_header_type->child->child, &message_size_type));
-
-        // root->type_hr_display(root, 0);
-
-        update_filters();
-        if (dissect_file != NULL) {
-            g_debug("generating dissected types file \"%s\" ...", ui_main_data.dissect_file_name);
-            root->type_file_print (root, 0, dissect_file);
-        }
-    }
-
-    if (dissect_file != NULL) {
-        fclose (dissect_file);
-    }
-
-    g_message("Parsed XML definition");
-
-    return ret;
-}
-
-int dissect_signal_header(buffer_t *buffer, ui_set_signal_text_cb_t ui_set_signal_text_cb,
-                          gpointer cb_user_data)
-{
-    if (message_header_type == NULL) {
-        g_error("No messages format definition provided");
-        return RC_FAIL;
-    }
-
-    if (buffer == NULL) {
-        g_error("Failed buffer is NULL");
-        return RC_FAIL;
-    }
-
-    message_header_type->type_dissect_from_buffer(
-        message_header_type, ui_set_signal_text_cb, cb_user_data,
-        buffer, 0, 0, INDENT_START, TRUE);
-
-    return RC_OK;
-}
-
-int dissect_signal(buffer_t *buffer, ui_set_signal_text_cb_t ui_set_signal_text_cb,
-                   gpointer cb_user_data)
-{
-    if (message_type == NULL) {
-        g_error("No messages format definition provided");
-        return RC_FAIL;
-    }
-
-    if (buffer == NULL) {
-        g_error("Failed buffer is NULL");
-        return RC_FAIL;
-    }
-
-    message_type->type_dissect_from_buffer(message_type, ui_set_signal_text_cb, cb_user_data,
-                                           buffer, 0, 0, INDENT_START, TRUE);
-
-    return RC_OK;
-}
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.h b/common/utils/itti_analyzer/libparser/xml_parse.h
deleted file mode 100644
index f9624bc06b69cb2d91f43d01751d53c76cbafd96..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libparser/xml_parse.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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
- */
-
-#include "rc.h"
-#include "types.h"
-
-#ifndef XML_PARSE_H_
-#define XML_PARSE_H_
-
-extern void        *xml_raw_data;
-extern uint32_t     xml_raw_data_size;
-
-extern types_t     *root;
-
-int xml_parse_file(const char *filename);
-
-int xml_parse_buffer(char *xml_buffer, const int size);
-
-int dissect_signal(buffer_t *buffer, ui_set_signal_text_cb_t ui_set_signal_text_cb,
-                   gpointer user_data);
-
-int dissect_signal_header(buffer_t *buffer, ui_set_signal_text_cb_t ui_set_signal_text_cb,
-                          gpointer cb_user_data);
-
-#endif  /* XML_PARSE_H_ */
diff --git a/common/utils/itti_analyzer/libresolver/Makefile.am b/common/utils/itti_analyzer/libresolver/Makefile.am
deleted file mode 100644
index 875fc819166b1cc4e3fac4bf8ce359eb4139aaf1..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libresolver/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/common	\
-	-I$(top_srcdir)/libparser	\
-	-I$(top_srcdir)/libui	\
-	-I$(top_srcdir)/libbuffers
-
-noinst_LTLIBRARIES = libresolver.la
-
-libresolver_la_LDFLAGS = -all-static
-libresolver_la_SOURCES = \
-	locate_root.c	locate_root.h	\
-	resolvers.c	resolvers.h
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.c b/common/utils/itti_analyzer/libresolver/locate_root.c
deleted file mode 100644
index dffd489944ca817e571b88489725b422e9fa9967..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libresolver/locate_root.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("RESOLVER")
-
-#include <glib.h>
-
-#include "logs.h"
-#include "rc.h"
-
-#include "types.h"
-#include "enum_type.h"
-#include "locate_root.h"
-#include "xml_parse.h"
-
-types_t *messages_id_enum;
-types_t *lte_time_type;
-types_t *lte_time_frame_type;
-types_t *lte_time_slot_type;
-types_t *origin_task_id_type;
-types_t *destination_task_id_type;
-types_t *instance_type;
-types_t *message_header_type;
-types_t *message_type;
-types_t *message_size_type;
-
-int locate_root(const char *root_name, types_t *head, types_t **root_elm) {
-    types_t *next_type;
-    int next_counter = 0;
-
-    /* The root element is for example : MessageDef.
-     * This element is the entry for other sub-types.
-     */
-    if (!root_name || (strlen (root_name) == 0)) {
-        g_warning("FATAL: no root element name provided");
-        return -1;
-    }
-    if (!head) {
-        g_warning("Empty list detected");
-        return -1;
-    }
-    if (!root_elm) {
-        g_warning("NULL root reference");
-        return -1;
-    }
-
-    for (next_type = head; next_type; next_type = next_type->next) {
-        if (next_type->name == NULL)
-            continue;
-        if (strcmp (root_name, next_type->name) == 0) {
-            /* Matching reference */
-            break;
-        }
-        next_counter ++;
-    }
-    g_info("locate_root: %s %d", root_name, next_counter);
-
-    *root_elm = next_type;
-    return (next_type == NULL) ? -2 : 0;
-}
-
-int locate_type(const char *type_name, types_t *head, types_t **type) {
-    types_t *next_type;
-    int next_counter = 0;
-
-    /* The root element is for example : MessageDef.
-     * This element is the entry for other sub-types.
-     */
-    if (!type_name) {
-        g_warning("FATAL: no element name provided");
-        return RC_BAD_PARAM;
-    }
-    if (!head) {
-        g_warning("Empty list detected");
-        return RC_BAD_PARAM;
-    }
-
-    for (next_type = head; next_type; next_type = next_type->next) {
-        if (next_type->name == NULL)
-            continue;
-        if (strcmp (type_name, next_type->name) == 0) {
-            /* Matching reference */
-            break;
-        }
-        next_counter ++;
-    }
-    g_info("locate_type: %s %d %p", type_name, next_counter, next_type);
-
-    if (type)
-        *type = next_type;
-    return (next_type == NULL) ? RC_FAIL : RC_OK;
-}
-
-int locate_type_children(const char *type_name, types_t *head, types_t **type) {
-    types_t *found_type = NULL;
-    int i;
-
-    /* The root element is for example : MessageDef.
-     * This element is the entry for other sub-types.
-     */
-    if (!type_name) {
-        g_warning("FATAL: no element name provided");
-        return RC_BAD_PARAM;
-    }
-    if (!head) {
-        g_warning("Empty list detected");
-        return RC_BAD_PARAM;
-    }
-
-    for (i = 0; i < head->nb_members; i++) {
-        if (head->members_child[i]->name == NULL)
-            continue;
-        if (strcmp (type_name, head->members_child[i]->name) == 0) {
-            /* Matching reference */
-            found_type = head->members_child[i];
-            break;
-        }
-    }
-    g_info("locate_type: %s %d %p", type_name, i, found_type);
-
-    if (type)
-        *type = found_type;
-    return (found_type == NULL) ? RC_FAIL : RC_OK;
-}
-
-uint32_t get_message_header_type_size(void)
-{
-    /* Typedef */
-    if (message_header_type->child != NULL) {
-        /* Struct */
-        if (message_header_type->child->child != NULL) {
-            return message_header_type->child->child->size;
-        }
-    }
-    return 0;
-}
-
-uint32_t get_message_size(buffer_t *buffer)
-{
-    uint32_t value = 0;
-
-    if (message_size_type != NULL)
-    {
-        types_t *temp = message_size_type;
-
-        while (temp->size == -1) {
-            temp = temp->child;
-        }
-
-        /* Fetch instance value */
-        buffer_fetch_bits (buffer, message_size_type->offset, temp->size, &value);
-    }
-
-    return value;
-}
-
-uint32_t get_lte_frame(buffer_t *buffer) {
-    uint32_t  value = 0;
-
-    if (lte_time_type !=NULL)
-    {
-        /* Fetch instance value */
-        buffer_fetch_bits (buffer, lte_time_type->offset + lte_time_frame_type->offset, lte_time_frame_type->child->child->size, &value);
-    }
-
-    return value;
-}
-
-uint32_t get_lte_slot(buffer_t *buffer) {
-    uint32_t  value = 0;
-
-    if (lte_time_type !=NULL)
-    {
-        /* Fetch instance value */
-        buffer_fetch_bits (buffer, lte_time_type->offset + lte_time_slot_type->offset, lte_time_slot_type->child->child->size, &value);
-    }
-
-    return value;
-}
-
-uint32_t get_message_id(types_t *head, buffer_t *buffer, uint32_t *message_id) {
-    uint32_t value;
-
-    g_assert(message_id != NULL);
-    g_assert(buffer != NULL);
-
-    /* MessageId is an offset from start of buffer */
-    value = buffer_get_uint32_t(buffer, messages_id_enum->offset);
-
-    *message_id = value;
-    return RC_OK;
-}
-
-uint32_t get_task_id(buffer_t *buffer, types_t *task_id_type) {
-    uint32_t task_id_value;
-
-    /* Fetch task id value */
-    if (buffer_fetch_bits (buffer, task_id_type->offset, task_id_type->child->size, &task_id_value) != RC_OK)
-    {
-        return ~0;
-    }
-
-    return task_id_value;
-}
-
-char *task_id_to_string(uint32_t task_id_value, types_t *task_id_type) {
-    char *task_id = "UNKNOWN";
-
-    if (task_id_value < ((uint32_t) ~0))
-    {
-        /* Search task id name */
-        task_id = enum_type_get_name_from_value (task_id_type->child, task_id_value);
-    }
-
-    return task_id;
-}
-
-uint32_t get_instance(buffer_t *buffer) {
-    uint32_t  instance_value;
-
-    /* Fetch instance value */
-    buffer_fetch_bits (buffer, instance_type->offset, instance_type->child->child->child->size, &instance_value);
-
-    return instance_value;
-}
-
-char *message_id_to_string(uint32_t message_id)
-{
-    return enum_type_get_name_from_value(messages_id_enum, message_id);
-}
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.h b/common/utils/itti_analyzer/libresolver/locate_root.h
deleted file mode 100644
index 5cb2eb258872bd66bef980ca0218480dd7c849cb..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libresolver/locate_root.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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
- */
-
-#ifndef LOCATE_ROOT_H_
-#define LOCATE_ROOT_H_
-
-#include "types.h"
-
-extern types_t *messages_id_enum;
-extern types_t *lte_time_type;
-extern types_t *lte_time_frame_type;
-extern types_t *lte_time_slot_type;
-extern types_t *origin_task_id_type;
-extern types_t *destination_task_id_type;
-extern types_t *instance_type;
-extern types_t *message_header_type;
-extern types_t *message_type;
-extern types_t *message_size_type;
-
-int locate_root(const char *root_name, types_t *head, types_t **root);
-
-int locate_type(const char *type_name, types_t *head, types_t **type);
-
-int locate_type_children(const char *type_name, types_t *head, types_t **type);
-
-uint32_t get_message_header_type_size(void);
-
-uint32_t get_message_size(buffer_t *buffer);
-
-uint32_t get_lte_frame(buffer_t *buffer);
-
-uint32_t get_lte_slot(buffer_t *buffer);
-
-uint32_t get_message_id(types_t *head, buffer_t *buffer, uint32_t *message_id);
-
-char *message_id_to_string(uint32_t message_id);
-
-uint32_t get_task_id(buffer_t *buffer, types_t *task_id_type);
-
-char *task_id_to_string(uint32_t task_id_value, types_t *task_id_type);
-
-uint32_t get_instance(buffer_t *buffer);
-
-#endif /* LOCATE_ROOT_H_ */
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.c b/common/utils/itti_analyzer/libresolver/resolvers.c
deleted file mode 100644
index 8702c08942704599c809ac1d34742aea855eaa4f..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libresolver/resolvers.c
+++ /dev/null
@@ -1,384 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define G_LOG_DOMAIN ("RESOLVER")
-
-#include <glib.h>
-
-#include "types.h"
-#include "resolvers.h"
-
-typedef enum {
-    RESOLV_OK = 0,
-    RESOLV_ERROR = -1,
-    RESOLV_LIST_EMPTY = -2,
-    RESOLV_NOT_FOUND = -3,
-} resolv_rc_e;
-
-static int search_id(types_t *head, types_t **found, int id)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = head; next_type; next_type = next_type->next)
-    {
-        if (next_type->id == id && next_type->type != TYPE_FILE)
-            break;
-    }
-    if (found)
-        *found = next_type;
-
-    return next_type == NULL ? RESOLV_NOT_FOUND : RESOLV_OK;
-}
-
-int search_file(types_t *head, types_t **found, int file_id)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = head; next_type; next_type = next_type->next)
-    {
-        if (next_type->type != TYPE_FILE)
-            continue;
-        if (file_id == next_type->id)
-            break;
-    }
-    if (found)
-        *found = next_type;
-
-    return next_type == NULL ? RESOLV_NOT_FOUND : RESOLV_OK;
-}
-
-int resolve_typedefs(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_TYPEDEF)
-            continue;
-
-//         printf("Trying to resolve typedef %s with type %d\n", next_type->name, next_type->id);
-
-        if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }/* else {
-            next_type->type_hr_display(next_type, 0);
-        }*/
-    }
-
-    return 0;
-}
-
-int resolve_struct(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        char *member;
-        char *members;
-
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_STRUCT)
-            continue;
-
-        g_debug("Trying to resolve struct members %s with type %d", next_type->name, next_type->id);
-
-        /* Struct may have no member */
-        if (next_type->members == NULL)
-            continue;
-
-        /* We have to copy the string as strtok will split the string in argument */
-        members = strdup(next_type->members);
-
-        /* Split the string on spaces and _ */
-        member = strtok(members, " _");
-        while(member != NULL)
-        {
-            if (next_type->nb_members == 0) {
-                next_type->members_child = malloc(sizeof(types_t *));
-            } else {
-                next_type->members_child = realloc(next_type->members_child,
-                                                (next_type->nb_members + 1) * sizeof(types_t *));
-            }
-            if (search_id(*head, &next_type->members_child[next_type->nb_members], atoi(member)) != RESOLV_OK) {
-                /* We have to remove this reference */
-            }
-            if ((next_type->members_child[next_type->nb_members] != NULL)
-                    && (next_type->members_child[next_type->nb_members]->type != TYPE_FIELD))
-            {
-                /* Only keep field child for structure, other member can be present
-                 *  for defining types (union or struct) used by fields but should not be considered. */
-                next_type->members_child[next_type->nb_members] = NULL;
-                /* We have to remove this reference */
-            }
-            next_type->nb_members++;
-            /* Pick up the next string available */
-            member = strtok(NULL, " _");
-        }
-
-        free(members);
-    }
-
-    return 0;
-}
-
-int resolve_union(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        char *member;
-        char *members;
-
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_UNION)
-            continue;
-
-        g_debug("Trying to resolve union members %s with type %d\n", next_type->name, next_type->id);
-
-        /* Struct may have no member */
-        if (next_type->members == NULL)
-            continue;
-
-        /* We have to copy the string as strtok will modify the string in argument */
-        members = strdup(next_type->members);
-
-        /* Split the string on spaces and _ */
-        member = strtok(members, " _");
-        while(member != NULL)
-        {
-            if (next_type->nb_members == 0) {
-                next_type->members_child = malloc(sizeof(types_t *));
-            } else {
-                next_type->members_child = realloc(next_type->members_child,
-                                                (next_type->nb_members + 1) * sizeof(types_t *));
-            }
-            if (search_id(*head, &next_type->members_child[next_type->nb_members], atoi(member)) != RESOLV_OK) {
-                /* We have to remove this reference */
-            }
-            next_type->nb_members++;
-            /* Pick up the next string available */
-            member = strtok(NULL, " _");
-        }
-
-        free(members);
-    }
-
-    return 0;
-}
-
-int resolve_pointer_type(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_POINTER)
-            continue;
-
-        g_debug("Trying to resolve pointer id %d with type %d",
-                next_type->id, next_type->type_xml);
-
-        if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }
-//         next_type->type_hr_display(next_type, 0);
-    }
-
-    return 0;
-}
-
-int resolve_reference(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_REFERENCE)
-            continue;
-
-        g_debug("Trying to resolve reference id %d with type %d\n",
-                next_type->id, next_type->type_xml);
-
-        if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }
-//         next_type->type_hr_display(next_type, 0);
-    }
-
-    return 0;
-}
-
-int resolve_field(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_FIELD)
-            continue;
-
-        g_debug("Trying to resolve pointer id %d with type %d\n",
-                next_type->id, next_type->type_xml);
-
-        if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }
-//         next_type->type_hr_display(next_type, 0);
-    }
-
-    return 0;
-}
-
-int resolve_array(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_ARRAY)
-            continue;
-
-        g_debug("Trying to resolve array id %d with type %d\n",
-                next_type->id, next_type->type_xml);
-
-        if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }
-//         next_type->type_hr_display(next_type, 0);
-    }
-
-    return 0;
-}
-
-int resolve_function(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type != TYPE_FUNCTION)
-            continue;
-
-        g_debug("Trying to resolve function id %d with type %d",
-                next_type->id, next_type->type_xml);
-
-        if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }
-//         next_type->type_hr_display(next_type, 0);
-    }
-
-    return 0;
-}
-
-int resolve_file(types_t **head)
-{
-    types_t *next_type;
-
-    if (!head) {
-        g_warning("Empty list detected");
-        return RESOLV_LIST_EMPTY;
-    }
-
-    for (next_type = *head; next_type; next_type = next_type->next)
-    {
-        /* Only resolve typedef */
-        if (next_type->type == TYPE_FILE)
-            continue;
-
-        /* No reference to a file */
-        if (next_type->file == NULL) {
-            continue;
-        }
-
-        g_debug("Trying to resolve file %s\n", next_type->file);
-
-        if (search_file(*head, &next_type->file_ref, atoi(&next_type->file[1])) != RESOLV_OK) {
-            /* We have to remove this reference */
-        }
-//         next_type->type_hr_display(next_type, 0);
-    }
-
-    return 0;
-}
-
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.h b/common/utils/itti_analyzer/libresolver/resolvers.h
deleted file mode 100644
index 17e16462b4ae32aa24641ea549b65d17dd7a5a58..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libresolver/resolvers.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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
- */
-
-#ifndef RESOLVERS_H_
-#define RESOLVERS_H_
-
-int resolve_typedefs(types_t **head);
-
-int resolve_struct(types_t **head);
-
-int resolve_pointer_type(types_t **head);
-
-int resolve_field(types_t **head);
-
-int resolve_array(types_t **head);
-
-int resolve_reference(types_t **head);
-
-int resolve_union(types_t **head);
-
-int resolve_file(types_t **head);
-
-int resolve_function(types_t **head);
-
-int search_file(types_t *head, types_t **found, int id);
-
-#endif /* RESOLVERS_H_ */
diff --git a/common/utils/itti_analyzer/libui/Makefile.am b/common/utils/itti_analyzer/libui/Makefile.am
deleted file mode 100644
index 4a0d88cb95c23cb075e0a275811e72e5d6b43015..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/common	\
-	-I$(top_srcdir)/libbuffers	\
-	-I$(top_srcdir)/libparser	\
-	-I$(top_srcdir)/libresolver
-
-noinst_LTLIBRARIES = libui.la
-
-libui_la_LDFLAGS = -all-static
-libui_la_SOURCES = \
-	ui_main_screen.c		ui_main_screen.h	\
-	ui_menu_bar.c			ui_menu_bar.h	\
-	ui_callbacks.c			ui_callbacks.h	\
-	ui_tree_view.c			ui_tree_view.h	\
-	ui_signal_dissect_view.c	ui_signal_dissect_view.h	\
-	ui_notifications.c		ui_notifications.h	\
-	ui_notif_dlg.c			ui_notif_dlg.h	\
-	ui_interface.c			ui_interface.h	\
-	ui_notebook.c			ui_notebook.h	\
-	ui_filters.c			ui_filters.h
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c
deleted file mode 100644
index 6fc480e33387508531dc522470ca57c68fbb8309..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_callbacks.c
+++ /dev/null
@@ -1,983 +0,0 @@
-/*
- * 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
- */
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <stdint.h>
-
-#define G_LOG_DOMAIN ("UI_CB")
-
-#include <gtk/gtk.h>
-
-#include "logs.h"
-#include "rc.h"
-
-#include "socket.h"
-
-#include "ui_notif_dlg.h"
-#include "ui_main_screen.h"
-#include "ui_menu_bar.h"
-#include "ui_callbacks.h"
-#include "ui_interface.h"
-#include "ui_notifications.h"
-#include "ui_tree_view.h"
-#include "ui_signal_dissect_view.h"
-#include "ui_filters.h"
-#include "ui_notebook.h"
-
-#include "types.h"
-#include "locate_root.h"
-#include "xml_parse.h"
-
-static gboolean refresh_message_list =  TRUE;
-static gboolean filters_changed =       FALSE;
-static gboolean operation_running =     FALSE;
-
-static const char  *ui_ip;
-static uint16_t     ui_port;
-static GtkWidget   *dialogbox_connect;
-static gboolean     ui_auto_reconnect;
-
-gboolean ui_callback_on_open_messages(GtkWidget *widget, gpointer data)
-{
-    gboolean refresh = (data != NULL) ? TRUE : FALSE;
-
-    g_message("Open messages event occurred %d", refresh);
-
-    if (operation_running == FALSE)
-    {
-        operation_running = TRUE;
-        if (refresh && (ui_main_data.messages_file_name != NULL))
-        {
-            ui_messages_read (ui_main_data.messages_file_name);
-        }
-        else
-        {
-            ui_messages_open_file_chooser ();
-        }
-        operation_running = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_save_messages(GtkWidget *widget, gpointer data)
-{
-    gboolean filtered = (data != NULL) ? TRUE : FALSE;
-
-    g_message("Save messages event occurred %d", filtered);
-
-    if (operation_running == FALSE)
-    {
-        operation_running = TRUE;
-        ui_messages_save_file_chooser(filtered);
-        operation_running = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_filters_enabled(GtkToolButton *button, gpointer data)
-{
-    gboolean enabled;
-    gboolean changed;
-
-    enabled = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON(button));
-
-    g_info("Filters enabled event occurred %d", enabled);
-
-    changed = ui_filters_enable (enabled);
-
-    if (changed)
-    {
-        /* Set the tool tip text */
-        if (enabled)
-        {
-            gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM(button), "Disable messages filtering");
-        }
-        else
-        {
-            gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM(button), "Enable messages filtering");
-        }
-        ui_tree_view_refilter ();
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_open_filters(GtkWidget *widget, gpointer data)
-{
-    gboolean refresh = (data != NULL) ? TRUE : FALSE;
-
-    g_message("Open filters event occurred");
-
-    if (operation_running == FALSE)
-    {
-        operation_running = TRUE;
-        if (refresh && (ui_main_data.filters_file_name != NULL))
-        {
-            ui_filters_read (ui_main_data.filters_file_name);
-        }
-        else
-        {
-            ui_filters_open_file_chooser ();
-        }
-        operation_running = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_save_filters(GtkWidget *widget, gpointer data)
-{
-    if (operation_running == FALSE)
-    {
-        operation_running = TRUE;
-        g_message("Save filters event occurred");
-        ui_filters_save_file_chooser();
-        operation_running = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_enable_filters(GtkWidget *widget, gpointer data)
-{
-    gboolean enabled;
-
-    enabled = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.filters_enabled));
-    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.filters_enabled), !enabled);
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_about(GtkWidget *widget, gpointer data)
-{
-#if defined(PACKAGE_STRING)
-    ui_notification_dialog (GTK_MESSAGE_INFO, FALSE, "about", "Eurecom %s", PACKAGE_STRING);
-#else
-    ui_notification_dialog (GTK_MESSAGE_INFO, FALSE, "about", "Eurecom itti_analyzer");
-#endif
-
-    return TRUE;
-}
-
-gint ui_callback_check_string (const char *string, const gint lenght, const guint message_number)
-{
-    gint real_length;
-
-    real_length = strnlen (string, lenght);
-    if (lenght != real_length)
-    {
-        if (message_number)
-        {
-            g_warning("Bad string format for message %u, '\\0' found before end of string (%d/%d)\n", message_number, real_length, lenght);
-        }
-        else
-        {
-            g_warning("Bad string format, '\\0' found before end of string (%d/%d)\n", real_length, lenght);
-        }
-        return (real_length);
-    }
-    else
-    {
-        return (lenght);
-    }
-}
-
-gboolean ui_callback_on_select_signal(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path,
-                                      gboolean path_currently_selected, gpointer user_data)
-{
-    static gpointer buffer_current;
-    ui_text_view_t *text_view;
-    GtkTreeIter iter;
-
-    g_debug("Message selected %d %p %p %s", path_currently_selected, buffer_current, path, gtk_tree_path_to_string(path));
-
-    if (!path_currently_selected)
-    {
-        text_view = (ui_text_view_t *) user_data;
-
-        g_assert(text_view != NULL);
-
-        if (gtk_tree_model_get_iter (model, &iter, path))
-        {
-            gpointer buffer;
-
-            uint32_t message_number;
-            uint32_t message_id;
-            uint32_t origin_task_id;
-            uint32_t destination_task_id;
-            char *instance_name;
-            uint32_t instance;
-            char label[100];
-
-            gtk_tree_model_get (model, &iter, COL_MSG_NUM, &message_number, COL_MESSAGE_ID, &message_id,
-                                COL_FROM_TASK_ID, &origin_task_id, COL_TO_TASK_ID, &destination_task_id, COL_INSTANCE, &instance_name,
-                                COL_INSTANCE_ID, &instance, COL_BUFFER, &buffer, -1);
-
-            g_debug("  Get iter %p %p", buffer_current, buffer);
-
-            if (ui_tree_view_last_event)
-            {
-                g_debug("last_event %p %d %d", ui_tree_view_last_event, ui_tree_view_last_event->type, ui_tree_view_last_event->button);
-
-                if (ui_tree_view_last_event->type == GDK_BUTTON_PRESS)
-                {
-                    /* Callback is due to a button click */
-                    if (ui_tree_view_last_event->button == 1)
-                    {
-                        /* It was a left mouse click */
-                        gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.signals_go_to_last_button), FALSE);
-                    }
-
-                    if (ui_tree_view_last_event->button == 3)
-                    {
-                        /* It was a right mouse click */
-                        int item;
-
-                        /* Clear event */
-                        ui_tree_view_last_event = NULL;
-
-                        /* Create filter menus to refers its items in the pop-up menu */
-                        ui_create_filter_menus ();
-
-                        g_info("Message selected right click %d %d %d %d", message_id, origin_task_id, destination_task_id, instance);
-
-                        /* Message Id menu */
-                        {
-                            /* Invalidate associated menu item to avoid issue with call back when updating the menu item check state */
-                            ui_tree_view_menu_enable[MENU_MESSAGE].filter_item = NULL;
-                            item = ui_filters_search_id (&ui_filters.messages, message_id);
-                            /* Update the menu item check state based on message ID state */
-                            gtk_check_menu_item_set_active (
-                                    GTK_CHECK_MENU_ITEM(ui_tree_view_menu_enable[MENU_MESSAGE].menu_enable),
-                                    ui_filters.messages.items[item].enabled);
-                            /* Set menu item label */
-                            sprintf (label, "Message:  %s", message_id_to_string (message_id));
-                            gtk_menu_item_set_label (GTK_MENU_ITEM(ui_tree_view_menu_enable[MENU_MESSAGE].menu_enable),
-                                                     label);
-                            /* Save menu item associated to this row */
-                            ui_tree_view_menu_enable[MENU_MESSAGE].filter_item = &ui_filters.messages.items[item];
-                        }
-
-                        /* Origin task id */
-                        {
-                            /* Invalidate associated menu item to avoid issue with call back when updating the menu item check state */
-                            ui_tree_view_menu_enable[MENU_FROM_TASK].filter_item = NULL;
-                            item = ui_filters_search_id (&ui_filters.origin_tasks, origin_task_id);
-                            /* Update the menu item check state based on message ID state */
-                            gtk_check_menu_item_set_active (
-                                    GTK_CHECK_MENU_ITEM(ui_tree_view_menu_enable[MENU_FROM_TASK].menu_enable),
-                                    ui_filters.origin_tasks.items[item].enabled);
-                            /* Set menu item label */
-                            sprintf (label, "From:  %s", task_id_to_string (origin_task_id, origin_task_id_type));
-                            gtk_menu_item_set_label (
-                                    GTK_MENU_ITEM(ui_tree_view_menu_enable[MENU_FROM_TASK].menu_enable), label);
-                            /* Save menu item associated to this row */
-                            ui_tree_view_menu_enable[MENU_FROM_TASK].filter_item = &ui_filters.origin_tasks.items[item];
-                        }
-
-                        /* Destination task id */
-                        {
-                            /* Invalidate associated menu item to avoid issue with call back when updating the menu item check state */
-                            ui_tree_view_menu_enable[MENU_TO_TASK].filter_item = NULL;
-                            item = ui_filters_search_id (&ui_filters.destination_tasks, destination_task_id);
-                            /* Update the menu item check state based on message ID state */
-                            gtk_check_menu_item_set_active (
-                                    GTK_CHECK_MENU_ITEM(ui_tree_view_menu_enable[MENU_TO_TASK].menu_enable),
-                                    ui_filters.destination_tasks.items[item].enabled);
-                            /* Set menu item label */
-                            sprintf (label, "To:  %s",
-                                     task_id_to_string (destination_task_id, destination_task_id_type));
-                            gtk_menu_item_set_label (GTK_MENU_ITEM(ui_tree_view_menu_enable[MENU_TO_TASK].menu_enable),
-                                                     label);
-                            /* Save menu item associated to this row */
-                            ui_tree_view_menu_enable[MENU_TO_TASK].filter_item =
-                                    &ui_filters.destination_tasks.items[item];
-                        }
-
-                        /* Instance */
-                        {
-                            /* Invalidate associated menu item to avoid issue with call back when updating the menu item check state */
-                            ui_tree_view_menu_enable[MENU_INSTANCE].filter_item = NULL;
-                            item = ui_filters_search_id (&ui_filters.instances, instance);
-                            /* Update the menu item check state based on message ID state */
-                            gtk_check_menu_item_set_active (
-                                    GTK_CHECK_MENU_ITEM(ui_tree_view_menu_enable[MENU_INSTANCE].menu_enable),
-                                    ui_filters.instances.items[item].enabled);
-                            /* Set menu item label */
-                            sprintf (label, "Instance:  %s", instance_name);
-                            gtk_menu_item_set_label (GTK_MENU_ITEM(ui_tree_view_menu_enable[MENU_INSTANCE].menu_enable),
-                                                     label);
-                            /* Save menu item associated to this row */
-                            ui_tree_view_menu_enable[MENU_INSTANCE].filter_item = &ui_filters.instances.items[item];
-                        }
-
-                        gtk_menu_popup (GTK_MENU (ui_tree_view_menu), NULL, NULL, NULL, NULL, 0,
-                                        gtk_get_current_event_time ());
-                    }
-                }
-
-                /* Clear event */
-                ui_tree_view_last_event = NULL;
-            }
-
-            if (buffer_current != buffer)
-            {
-                buffer_current = buffer;
-
-                /* Clear the view */
-                CHECK_FCT_DO(ui_signal_dissect_clear_view(text_view), return FALSE);
-
-                if (ui_main_data.display_message_header)
-                {
-                    CHECK_FCT_DO(dissect_signal_header((buffer_t*)buffer, ui_signal_set_text, text_view), return FALSE);
-                }
-
-                if ((strcmp (message_id_to_string (message_id), "ERROR_LOG") == 0)
-                        || (strcmp (message_id_to_string (message_id), "WARNING_LOG") == 0)
-                        || (strcmp (message_id_to_string (message_id), "NOTICE_LOG") == 0)
-                        || (strcmp (message_id_to_string (message_id), "INFO_LOG") == 0)
-                        || (strcmp (message_id_to_string (message_id), "DEBUG_LOG") == 0)
-                        || (strcmp (message_id_to_string (message_id), "GENERIC_LOG") == 0))
-                {
-                    gchar *data;
-                    gint data_size;
-                    uint32_t message_header_type_size;
-
-                    if (ui_main_data.display_message_header)
-                    {
-                        ui_signal_set_text (text_view, "\n", 1);
-                    }
-
-                    message_header_type_size = get_message_header_type_size ();
-                    data = (gchar *) buffer_at_offset ((buffer_t*) buffer, message_header_type_size);
-                    data_size = get_message_size ((buffer_t*) buffer);
-                    data_size = ui_callback_check_string (data, data_size, message_number);
-
-                    g_info("    dump message %d: header type size: %u, data size: %u, buffer %p, follow last %d",
-                           message_number, message_header_type_size, data_size, buffer, ui_main_data.follow_last);
-
-                    ui_signal_set_text (text_view, data, data_size);
-                }
-                else
-                {
-                    g_info("    dissect message %d: id %d, buffer %p, follow last %d", message_number, message_id, buffer, ui_main_data.follow_last);
-
-                    /* Dissect the signal */
-                    CHECK_FCT_DO(dissect_signal((buffer_t*)buffer, ui_signal_set_text, text_view), return FALSE);
-                }
-            }
-        }
-    }
-    return TRUE;
-}
-
-gboolean ui_callback_on_menu_enable(GtkWidget *widget, gpointer data)
-{
-    ui_tree_view_menu_enable_t *menu_enable = data;
-
-    if (menu_enable->filter_item != NULL)
-    {
-        gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(menu_enable->filter_item->menu_item),
-                                        gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(menu_enable->menu_enable)));
-        menu_enable->filter_item = NULL;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_menu_color(GtkWidget *widget, gpointer data)
-{
-    ui_tree_view_menu_color_t *menu_color = data;
-
-    GdkRGBA color;
-    GtkWidget *color_chooser;
-    gint response;
-
-    color_chooser = gtk_color_chooser_dialog_new ("Select message background color", GTK_WINDOW(ui_main_data.window));
-    gtk_color_chooser_set_use_alpha (GTK_COLOR_CHOOSER(color_chooser), FALSE);
-    response = gtk_dialog_run (GTK_DIALOG (color_chooser));
-
-    if (response == GTK_RESPONSE_OK)
-    {
-        int red, green, blue;
-        char *color_string;
-
-        color_string =
-                menu_color->foreground ?
-                        menu_color->menu_enable->filter_item->foreground :
-                        menu_color->menu_enable->filter_item->background;
-
-        gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER(color_chooser), &color);
-
-        red = (int) (color.red * 255);
-        green = (int) (color.green * 255);
-        blue = (int) (color.blue * 255);
-
-        snprintf (color_string, COLOR_SIZE, "#%02x%02x%02x", red, green, blue);
-        ui_tree_view_refilter ();
-
-        g_info("Selected color for %s %f->%02x %f->%02x %f->%02x %s",
-                  menu_color->menu_enable->filter_item->name, color.red, red, color.green, green, color.blue, blue, color_string);
-    }
-    gtk_widget_destroy (color_chooser);
-
-    return TRUE;
-}
-
-void ui_signal_add_to_list(gpointer data, gpointer user_data)
-{
-    gboolean goto_last = user_data ? TRUE : FALSE;
-    buffer_t *signal_buffer;
-    GtkTreePath *path;
-    GtkTreeViewColumn *focus_column;
-    uint32_t lte_frame;
-    uint32_t lte_slot;
-    uint32_t origin_task_id;
-    uint32_t destination_task_id;
-    uint32_t instance;
-    char lte_time[15];
-
-    g_assert(data != NULL);
-    g_assert(origin_task_id_type != NULL);
-    g_assert(destination_task_id_type != NULL);
-
-    gtk_tree_view_get_cursor (GTK_TREE_VIEW(ui_main_data.messages_list), &path, &focus_column);
-
-    signal_buffer = (buffer_t *) data;
-
-    lte_frame = get_lte_frame (signal_buffer);
-    lte_slot = get_lte_slot (signal_buffer);
-    sprintf (lte_time, "%d.%02d", lte_frame, lte_slot);
-
-    get_message_id (root, signal_buffer, &signal_buffer->message_id);
-    origin_task_id = get_task_id (signal_buffer, origin_task_id_type);
-    destination_task_id = get_task_id (signal_buffer, destination_task_id_type);
-    instance = get_instance (signal_buffer);
-
-    ui_tree_view_new_signal_ind (signal_buffer->message_number, lte_time, signal_buffer->message_id,
-                                 message_id_to_string (signal_buffer->message_id), origin_task_id,
-                                 task_id_to_string (origin_task_id, origin_task_id_type), destination_task_id,
-                                 task_id_to_string (destination_task_id, destination_task_id_type), instance, data);
-
-    if ((strcmp (message_id_to_string (signal_buffer->message_id), "ERROR_LOG") == 0)
-            || (strcmp (message_id_to_string (signal_buffer->message_id), "WARNING_LOG") == 0)
-            || (strcmp (message_id_to_string (signal_buffer->message_id), "NOTICE_LOG") == 0)
-            || (strcmp (message_id_to_string (signal_buffer->message_id), "INFO_LOG") == 0)
-            || (strcmp (message_id_to_string (signal_buffer->message_id), "DEBUG_LOG") == 0)
-            || (strcmp (message_id_to_string (signal_buffer->message_id), "GENERIC_LOG") == 0))
-    {
-        gchar *string_terminal;
-        gint string_terminal_size;
-        uint32_t message_header_type_size;
-
-        message_header_type_size = get_message_header_type_size ();
-        string_terminal = (gchar *) buffer_at_offset ((buffer_t*) signal_buffer, message_header_type_size);
-        string_terminal_size = get_message_size ((buffer_t*) signal_buffer);
-        string_terminal_size = ui_callback_check_string (string_terminal, string_terminal_size, signal_buffer->message_number);
-        ui_notebook_terminal_append_data(string_terminal, string_terminal_size);
-    }
-
-    /* Increment number of messages */
-    ui_main_data.nb_message_received++;
-
-    if ((ui_main_data.follow_last) && (goto_last))
-    {
-        /* Advance to the new last signal */
-        ui_tree_view_select_row (ui_tree_view_get_filtered_number () - 1);
-    }
-}
-
-static gboolean ui_handle_update_signal_list(gint fd, void *data, size_t data_length)
-{
-    pipe_new_signals_list_message_t *signal_list_message;
-
-    /* Enable buttons to move in the list of signals */
-    ui_set_sensitive_move_buttons (TRUE);
-
-    signal_list_message = (pipe_new_signals_list_message_t *) data;
-
-    g_assert(signal_list_message != NULL);
-    g_assert(signal_list_message->signal_list != NULL);
-
-    g_list_foreach (signal_list_message->signal_list, ui_signal_add_to_list, (gpointer) TRUE);
-
-    /* Free the list but not user data associated with each element */
-    g_list_free (signal_list_message->signal_list);
-    /* Free the message */
-    free (signal_list_message);
-
-    ui_gtk_flush_events ();
-
-    return TRUE;
-}
-
-static gboolean ui_handle_socket_connection_failed(gint fd)
-{
-    gtk_dialog_response(GTK_DIALOG (dialogbox_connect), GTK_RESPONSE_REJECT);
-
-    return TRUE;
-}
-
-static gboolean ui_handle_socket_connection_lost(gint fd)
-{
-    if (operation_running)
-    {
-        operation_running = FALSE;
-        if (ui_auto_reconnect)
-        {
-            ui_callback_on_connect (NULL, (gpointer) FALSE);
-        }
-        else
-        {
-            ui_enable_connect_button();
-            ui_set_sensitive_save_message_buttons (TRUE);
-        }
-    }
-
-    return TRUE;
-}
-
-static gboolean ui_handle_socket_xml_definition(gint fd, void *data, size_t data_length)
-{
-    pipe_xml_definition_message_t *xml_definition_message;
-
-    xml_definition_message = (pipe_xml_definition_message_t *) data;
-    g_assert(xml_definition_message != NULL);
-    g_assert(data_length == sizeof(pipe_xml_definition_message_t));
-
-    xml_parse_buffer (xml_definition_message->xml_definition, xml_definition_message->xml_definition_length);
-
-    return TRUE;
-}
-
-gboolean ui_pipe_callback(gint source, gpointer user_data)
-{
-    void *input_data = NULL;
-    size_t input_data_length = 0;
-    pipe_input_header_t input_header;
-
-    /* Read the header */
-    if (read (source, &input_header, sizeof(input_header)) < 0)
-    {
-        g_warning("Failed to read from pipe %d: %s", source, g_strerror(errno));
-        return FALSE;
-    }
-
-    input_data_length = input_header.message_size - sizeof(input_header);
-
-    /* Checking for non-header part */
-    if (input_data_length > 0)
-    {
-        input_data = malloc (input_data_length);
-
-        if (read (source, input_data, input_data_length) < 0)
-        {
-            g_warning("Failed to read from pipe %d: %s", source, g_strerror(errno));
-            return FALSE;
-        }
-    }
-
-    switch (input_header.message_type)
-    {
-        case UI_PIPE_CONNECTION_FAILED:
-            return ui_handle_socket_connection_failed (source);
-
-        case UI_PIPE_CONNECTION_LOST:
-            return ui_handle_socket_connection_lost (source);
-
-        case UI_PIPE_XML_DEFINITION:
-            gtk_dialog_response(GTK_DIALOG (dialogbox_connect), GTK_RESPONSE_OK);
-            return ui_handle_socket_xml_definition (source, input_data, input_data_length);
-
-        case UI_PIPE_UPDATE_SIGNAL_LIST:
-            return ui_handle_update_signal_list (source, input_data, input_data_length);
-
-        default:
-            g_warning("[gui] Unhandled message type %u", input_header.message_type);
-            g_assert_not_reached();
-    }
-    return FALSE;
-}
-
-gboolean ui_callback_on_auto_reconnect(GtkWidget *widget, gpointer data)
-{
-    gboolean enabled;
-    gboolean changed = TRUE;
-
-    gboolean toggle = (data != NULL) ? TRUE : FALSE;
-
-    enabled = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.auto_reconnect));
-
-    if (toggle)
-    {
-        gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.auto_reconnect), !enabled);
-        return TRUE;
-    }
-
-    g_info("Auto reconnect event occurred %d %d ", toggle, enabled);
-
-    ui_auto_reconnect = enabled;
-
-    if (changed)
-    {
-        /* Set the tool tip text */
-        if (enabled)
-        {
-            gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM(ui_main_data.auto_reconnect), "Disable automatic reconnection");
-        }
-        else
-        {
-            gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM(ui_main_data.auto_reconnect), "Enable automatic reconnection");
-        }
-    }
-
-    return TRUE;
-}
-
-void ui_callback_dialogbox_connect_destroy(void)
-{
-    if (dialogbox_connect != NULL)
-    {
-        gtk_widget_destroy (dialogbox_connect);
-        dialogbox_connect = NULL;
-        g_message("Connect dialogbox destroyed");
-    }
-}
-
-gboolean ui_callback_on_connect(GtkWidget *widget, gpointer data)
-{
-    /* We have to retrieve the ip address and ui_port of remote host */
-    gboolean start = (data != NULL) ? TRUE : FALSE;
-    int pipe_fd[2];
-
-    if (start)
-    {
-        ui_port = atoi (gtk_entry_get_text (GTK_ENTRY(ui_main_data.port_entry)));
-        ui_ip = gtk_entry_get_text (GTK_ENTRY(ui_main_data.ip_entry));
-    }
-
-    g_message("Connect event occurred to %s:%d %s", ui_ip, ui_port, start ? "START" : "RETRY");
-
-    if (start)
-    {
-        if (strlen (ui_ip) == 0)
-        {
-            ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "Connect", "Empty host ip address");
-            return FALSE;
-        }
-
-        if (ui_port == 0)
-        {
-            ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "Connect", "Invalid host ui_port value");
-            return FALSE;
-        }
-    }
-
-    if (operation_running == FALSE)
-    {
-        operation_running = TRUE;
-
-        ui_pipe_new (pipe_fd, ui_pipe_callback, NULL);
-
-        memcpy (ui_main_data.pipe_fd, pipe_fd, sizeof(int) * 2);
-
-        /* Disable the connect button */
-        ui_disable_connect_button ();
-
-        ui_set_title ("connecting to %s:%d ...", ui_ip, ui_port);
-        {
-            const static char *message_formats[] =
-            {
-                "Connecting to %s:%d ...",
-                "Connection lost!\n\n" "Trying to reconnect to %s:%d ..."
-            };
-            gint response;
-            gint x, y;
-            gint w, h;
-
-            if (socket_connect_to_remote_host (ui_ip, ui_port, pipe_fd[1]) != 0)
-            {
-                ui_enable_connect_button ();
-                operation_running = FALSE;
-                return FALSE;
-            }
-
-            /* Create dialog box for connect message:
-             * - non modal mode does not seems to work, don't set the parent window to allow some interactions with it!
-             */
-            dialogbox_connect = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_OTHER,
-                                                GTK_BUTTONS_CANCEL, message_formats[start ? 0 : 1], ui_ip, ui_port);
-            gtk_window_set_title (GTK_WINDOW(dialogbox_connect), "Connect");
-
-            /* Set the window at center of main window manually as there is no parent defined */
-            gtk_window_get_position (GTK_WINDOW(ui_main_data.window), &x, &y);
-            gtk_window_get_size (GTK_WINDOW(ui_main_data.window), &w, &h);
-            g_message("Main window position: %d,%d dimension: %d,%d", x, y, w, h);
-            x += w / 2;
-            y += h / 2;
-            g_message("Connect window position %d,%d", x, y);
-            gtk_window_set_gravity (GTK_WINDOW(dialogbox_connect), GDK_GRAVITY_CENTER);
-            gtk_window_move (GTK_WINDOW(dialogbox_connect), x, y);
-
-            response = gtk_dialog_run (GTK_DIALOG (dialogbox_connect));
-            g_message("Connect dialog response %s (%d)", gtk_get_respose_string(response), response);
-
-            if (response == GTK_RESPONSE_NONE)
-            {
-                /* Dialogbox has been destroyed when program is exited, do nothing */
-                return (TRUE);
-            }
-            if (response == GTK_RESPONSE_OK)
-            {
-                /* Connection is established */
-                ui_set_sensitive_save_message_buttons (FALSE);
-                ui_callback_signal_clear_list (NULL, NULL);
-                ui_set_title ("%s:%d", ui_ip, ui_port);
-            }
-            else
-            {
-                /* Connection can not be established */
-                if (response == GTK_RESPONSE_REJECT)
-                {
-                    /* Connection retry time-out */
-                    ui_notification_dialog (GTK_MESSAGE_WARNING, FALSE, "Connect", "Failed to connect to provided host/ip address");
-                }
-
-                /* Re-enable connect button */
-                ui_enable_connect_button();
-                operation_running = FALSE;
-            }
-            ui_callback_dialogbox_connect_destroy ();
-        }
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_disconnect(GtkWidget *widget, gpointer data)
-{
-    g_message("Disconnect event occurred");
-
-    ui_pipe_write_message (ui_main_data.pipe_fd[0], UI_PIPE_DISCONNECT_EVT, NULL, 0);
-
-    if (dialogbox_connect != NULL)
-    {
-        gtk_dialog_response(GTK_DIALOG (dialogbox_connect), GTK_RESPONSE_CLOSE);
-    }
-    else
-    {
-        ui_enable_connect_button ();
-        operation_running = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_signal_go_to_first(GtkWidget *widget, gpointer data)
-{
-    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.signals_go_to_last_button), FALSE);
-    ui_tree_view_select_row (0);
-
-    return TRUE;
-}
-
-gboolean ui_callback_signal_go_to(GtkWidget *widget, gpointer data)
-{
-    gtk_window_set_focus (GTK_WINDOW(ui_main_data.window), ui_main_data.signals_go_to_entry);
-    return TRUE;
-}
-
-gboolean ui_callback_signal_go_to_entry(GtkWidget *widget, gpointer data)
-{
-    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.signals_go_to_last_button), FALSE);
-    // gtk_entry_buffer_set_text(GTK_ENTRY(ui_main_data.signals_go_to_entry), "");
-    gtk_window_set_focus (GTK_WINDOW(ui_main_data.window), ui_main_data.messages_list);
-    return TRUE;
-}
-
-gboolean ui_callback_signal_go_to_last(GtkWidget *widget, gpointer data)
-{
-    gboolean enable = (data != NULL) ? TRUE : FALSE;
-    gboolean enabled;
-
-    if (enable)
-    {
-        gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.signals_go_to_last_button), TRUE);
-        return TRUE;
-    }
-
-    enabled = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.signals_go_to_last_button));
-
-    g_info("Button signal go to last event occurred %d %d", enable, enabled);
-
-    if (enabled)
-    {
-        ui_main_data.follow_last = TRUE;
-        ui_tree_view_select_row (ui_tree_view_get_filtered_number () - 1);
-    }
-    else
-    {
-        ui_main_data.follow_last = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_display_message_header(GtkWidget *widget, gpointer data)
-{
-    ui_main_data.display_message_header = !ui_main_data.display_message_header;
-    // TODO refresh textview.
-    return TRUE;
-}
-
-gboolean ui_callback_display_brace(GtkWidget *widget, gpointer data)
-{
-    ui_main_data.display_brace = !ui_main_data.display_brace;
-    // TODO refresh textview.
-    return TRUE;
-}
-
-gboolean ui_callback_signal_clear_list(GtkWidget *widget, gpointer data)
-{
-    /* Disable buttons to move in the list of signals */
-    ui_set_sensitive_move_buttons (FALSE);
-    ui_set_title ("");
-
-    /* Clear list of signals */
-    ui_tree_view_destroy_list (ui_main_data.messages_list);
-
-    if (ui_main_data.text_view != NULL)
-    {
-        ui_signal_dissect_clear_view (ui_main_data.text_view);
-    }
-
-    ui_notebook_terminal_clear();
-
-    return TRUE;
-}
-
-static void ui_callback_on_menu_items_selected(GtkWidget *widget, gpointer data)
-{
-    gboolean active = data != NULL;
-
-    if (GTK_IS_CHECK_MENU_ITEM(widget))
-    {
-        gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(widget), active);
-    }
-}
-
-gboolean ui_callback_on_menu_none(GtkWidget *widget, gpointer data)
-{
-    GtkWidget *menu = (GtkWidget *) data;
-
-    g_info("ui_callback_on_menu_none occurred %lx %lx)", (long) widget, (long) data);
-
-    refresh_message_list = FALSE;
-    gtk_container_foreach (GTK_CONTAINER(menu), ui_callback_on_menu_items_selected, (gpointer) FALSE);
-    refresh_message_list = TRUE;
-
-    if (filters_changed)
-    {
-        ui_tree_view_refilter ();
-        filters_changed = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_menu_all(GtkWidget *widget, gpointer data)
-{
-    GtkWidget *menu = (GtkWidget *) data;
-
-    g_info("ui_callback_on_menu_all occurred %lx %lx)", (long) widget, (long) data);
-
-    refresh_message_list = FALSE;
-    gtk_container_foreach (GTK_CONTAINER(menu), ui_callback_on_menu_items_selected, (gpointer) TRUE);
-    refresh_message_list = TRUE;
-
-    if (filters_changed)
-    {
-        ui_tree_view_refilter ();
-        filters_changed = FALSE;
-    }
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_menu_item_selected(GtkWidget *widget, gpointer data)
-{
-    ui_filter_item_t *filter_entry = data;
-    gboolean enabled;
-
-    enabled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(widget));
-    if (filter_entry->enabled != enabled)
-    {
-        filter_entry->enabled = enabled;
-        if (refresh_message_list)
-        {
-            ui_tree_view_refilter ();
-        }
-        else
-        {
-            filters_changed = TRUE;
-        }
-    }
-    g_info("ui_callback_on_menu_item_selected occurred %p %p %s %d (%d messages to display)", widget, data, filter_entry->name, enabled, ui_tree_view_get_filtered_number());
-
-    return TRUE;
-}
-
-gboolean ui_callback_on_tree_column_header_click(GtkWidget *widget, gpointer data)
-{
-    col_type_t col = (col_type_t) data;
-
-    g_info("ui_callback_on_tree_column_header_click %d", col);
-    switch (col)
-    {
-        case COL_MESSAGE:
-            ui_show_filter_menu (&ui_main_data.menu_filter_messages, &ui_filters.messages);
-            break;
-
-        case COL_FROM_TASK:
-            ui_show_filter_menu (&ui_main_data.menu_filter_origin_tasks, &ui_filters.origin_tasks);
-            break;
-
-        case COL_TO_TASK:
-            ui_show_filter_menu (&ui_main_data.menu_filter_destination_tasks, &ui_filters.destination_tasks);
-            break;
-
-        case COL_INSTANCE:
-            ui_show_filter_menu (&ui_main_data.menu_filter_instances, &ui_filters.instances);
-            break;
-
-        default:
-            g_warning("Unknown column filter %d in call to ui_callback_on_tree_column_header_click", col);
-            return FALSE;
-    }
-
-    return TRUE;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.h b/common/utils/itti_analyzer/libui/ui_callbacks.h
deleted file mode 100644
index b3d4b31c601ec4dce136b26dbeec7628d6cf58fc..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_callbacks.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_CALLBACKS_H_
-#define UI_CALLBACKS_H_
-
-#include <gtk/gtk.h>
-
-gboolean ui_callback_on_open_messages(GtkWidget *widget,
-                                      gpointer   data);
-
-gboolean ui_callback_on_save_messages(GtkWidget *widget,
-                                      gpointer   data);
-
-gboolean ui_callback_on_filters_enabled(GtkToolButton *button,
-                                        gpointer data);
-
-gboolean ui_callback_on_open_filters(GtkWidget *widget,
-                                     gpointer data);
-
-gboolean ui_callback_on_save_filters(GtkWidget *widget,
-                                     gpointer data);
-
-gboolean ui_callback_on_enable_filters(GtkWidget *widget,
-                                       gpointer data);
-
-gboolean ui_callback_on_about(GtkWidget *widget,
-                              gpointer   data);
-
-gint ui_callback_check_string (const char *string,
-                               const gint lenght,
-                               const guint message_number);
-
-gboolean ui_pipe_callback(gint source, gpointer user_data);
-
-gboolean ui_callback_on_auto_reconnect(GtkWidget *widget,
-                                       gpointer data);
-
-void ui_callback_dialogbox_connect_destroy(void);
-
-gboolean ui_callback_on_connect(GtkWidget *widget,
-                                gpointer   data);
-
-gboolean ui_callback_on_disconnect(GtkWidget *widget,
-                                   gpointer   data);
-
-gboolean ui_callback_on_tree_view_select(GtkWidget *widget,
-                                         GdkEvent  *event,
-                                         gpointer   data);
-
-gboolean ui_callback_on_select_signal(GtkTreeSelection *selection,
-                                      GtkTreeModel     *model,
-                                      GtkTreePath      *path,
-                                      gboolean          path_currently_selected,
-                                      gpointer          userdata);
-
-void ui_signal_add_to_list(gpointer data,
-                           gpointer user_data);
-
-gboolean ui_callback_on_menu_enable (GtkWidget *widget, gpointer data);
-
-gboolean ui_callback_on_menu_color (GtkWidget *widget, gpointer data);
-
-gboolean ui_callback_signal_go_to_first(GtkWidget *widget,
-                                        gpointer   data);
-
-gboolean ui_callback_signal_go_to(GtkWidget *widget,
-                                  gpointer data);
-
-gboolean ui_callback_signal_go_to_entry(GtkWidget *widget,
-                                        gpointer   data);
-
-gboolean ui_callback_signal_go_to_last(GtkWidget *widget,
-                                       gpointer   data);
-
-gboolean ui_callback_display_message_header(GtkWidget *widget,
-                                            gpointer data);
-
-gboolean ui_callback_display_brace(GtkWidget *widget,
-                                   gpointer data);
-
-gboolean ui_callback_signal_clear_list(GtkWidget *widget,
-                                       gpointer   data);
-
-gboolean ui_callback_on_menu_none(GtkWidget *widget,
-                                  gpointer data);
-
-gboolean ui_callback_on_menu_all(GtkWidget *widget,
-                                 gpointer data);
-
-gboolean ui_callback_on_menu_item_selected(GtkWidget *widget,
-                                           gpointer data);
-
-gboolean ui_callback_on_tree_column_header_click(GtkWidget *widget,
-                                                 gpointer   data);
-#endif /* UI_CALLBACKS_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_filters.c b/common/utils/itti_analyzer/libui/ui_filters.c
deleted file mode 100644
index 8a6321a538d12a5c4d34d0d1ab667428500da56f..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_filters.c
+++ /dev/null
@@ -1,609 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define G_LOG_DOMAIN ("UI_FILTER")
-
-#include <glib.h>
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-
-#include "ui_callbacks.h"
-#include "ui_main_screen.h"
-#include "ui_filters.h"
-#include "ui_tree_view.h"
-#include "ui_notif_dlg.h"
-#include "rc.h"
-
-const uint32_t FILTER_ALLOC_NUMBER = 100;
-const uint32_t FILTER_ID_UNDEFINED = ~0;
-
-const char * const COLOR_WHITE = "#ffffff";
-const char * const COLOR_DARK_GREY = "#585858";
-
-#define ENABLED_NAME    "enabled"
-#define FOREGROUND_NAME "foreground_color"
-#define BACKGROUND_NAME "background_color"
-
-ui_filters_t ui_filters;
-
-static int ui_init_filter(ui_filter_t *filter, int reset, int clear_ids, char *name)
-{
-    if (filter->items == NULL)
-    {
-        filter->name = name;
-
-        /* Allocate some filter entries */
-        filter->items = malloc (FILTER_ALLOC_NUMBER * sizeof(ui_filter_item_t));
-        filter->allocated = FILTER_ALLOC_NUMBER;
-    }
-    if (reset)
-    {
-        /* Reset number of used filter entries */
-        filter->used = 0;
-    }
-    else
-    {
-        if (clear_ids)
-        {
-            /* Clear entries IDs */
-            int item;
-
-            for (item = 0; item < filter->used; item++)
-            {
-                filter->items[item].id = FILTER_ID_UNDEFINED;
-            }
-        }
-    }
-
-    return (RC_OK);
-}
-
-int ui_init_filters(int reset, int clear_ids)
-{
-    ui_init_filter (&ui_filters.messages, reset, clear_ids, "messages");
-    ui_init_filter (&ui_filters.origin_tasks, reset, clear_ids, "origin_tasks");
-    ui_init_filter (&ui_filters.destination_tasks, reset, clear_ids, "destination_tasks");
-    ui_init_filter (&ui_filters.instances, reset, clear_ids, "instances");
-
-    ui_destroy_filter_menus ();
-
-    return (RC_OK);
-}
-
-gboolean ui_filters_enable(gboolean enabled)
-{
-    gboolean changed = ui_filters.filters_enabled != enabled;
-
-    if (changed)
-    {
-        ui_filters.filters_enabled = enabled;
-    }
-
-    return changed;
-}
-
-static int ui_filters_search_name(ui_filter_t *filter, const char *name)
-{
-    int item;
-
-    for (item = 0; item < filter->used; item++)
-    {
-        if (strncmp (name, filter->items[item].name, SIGNAL_NAME_LENGTH) == 0)
-        {
-            return (item);
-        }
-    }
-
-    return (item);
-}
-
-int ui_filters_search_id(ui_filter_t *filter, uint32_t value)
-{
-    int item;
-
-    for (item = 0; item < filter->used; item++)
-    {
-        if (filter->items[item].id == value)
-        {
-            return (item);
-        }
-    }
-
-    return (-1);
-}
-
-static void ui_filter_set_enabled(uint8_t *enabled, ui_entry_enabled_e entry_enabled, gboolean new)
-{
-    if (entry_enabled == ENTRY_ENABLED_UNDEFINED)
-    {
-        if (new)
-        {
-            *enabled = TRUE;
-        }
-    }
-    else
-    {
-        if (entry_enabled == ENTRY_ENABLED_FALSE)
-        {
-            *enabled = FALSE;
-        }
-        else
-        {
-            *enabled = TRUE;
-        }
-    }
-}
-
-static int ui_filter_add(ui_filter_t *filter, uint32_t value, const char *name, ui_entry_enabled_e entry_enabled,
-                         const char *foreground, const char *background)
-{
-    int item = ui_filters_search_name (filter, name);
-
-    if (item >= filter->allocated)
-    {
-        /* Increase number of filter entries */
-        filter->items = realloc (filter->items, (filter->allocated + FILTER_ALLOC_NUMBER) * sizeof(ui_filter_item_t));
-        filter->allocated += FILTER_ALLOC_NUMBER;
-    }
-
-    if (value != FILTER_ID_UNDEFINED)
-    {
-        filter->items[item].id = value;
-    }
-    if (item >= filter->used)
-    {
-        /* New entry */
-        strncpy (filter->items[item].name, name, SIGNAL_NAME_LENGTH);
-        ui_filter_set_enabled (&filter->items[item].enabled, entry_enabled, TRUE);
-        strncpy (filter->items[item].foreground, foreground != NULL ? foreground : COLOR_DARK_GREY, COLOR_SIZE);
-        strncpy (filter->items[item].background, background != NULL ? background : COLOR_WHITE, COLOR_SIZE);
-
-        filter->used++;
-    }
-    else
-    {
-        ui_filter_set_enabled (&filter->items[item].enabled, entry_enabled, FALSE);
-        if (foreground != NULL)
-        {
-            strncpy (filter->items[item].foreground, foreground, COLOR_SIZE);
-        }
-        if (background != NULL)
-        {
-            strncpy (filter->items[item].background, background, COLOR_SIZE);
-        }
-    }
-
-    g_debug("filter \"%s\" add %d \"%s\" %d", filter->name, value, name, entry_enabled);
-
-    return (item);
-}
-
-void ui_filters_add(ui_filter_e filter, uint32_t value, const char *name, ui_entry_enabled_e entry_enabled,
-                    const char *foreground, const char *background)
-{
-    switch (filter)
-    {
-        case FILTER_MESSAGES:
-            ui_filter_add (&ui_filters.messages, value, name, entry_enabled, foreground, background);
-            break;
-
-        case FILTER_ORIGIN_TASKS:
-            ui_filter_add (&ui_filters.origin_tasks, value, name, entry_enabled, foreground, background);
-            break;
-
-        case FILTER_DESTINATION_TASKS:
-            ui_filter_add (&ui_filters.destination_tasks, value, name, entry_enabled, foreground, background);
-            break;
-
-        case FILTER_INSTANCES:
-            ui_filter_add (&ui_filters.instances, value, name, entry_enabled, foreground, background);
-            break;
-
-        default:
-            g_warning("unknown filter type %d", filter);
-            break;
-    }
-}
-
-static gboolean ui_item_enabled(ui_filter_t *filter, const uint32_t value)
-{
-    int item;
-
-    if (value != (uint32_t) ~0)
-    {
-        item = ui_filters_search_id (filter, value);
-
-        if (item >= 0)
-        {
-            return (filter->items[item].enabled ? TRUE : FALSE);
-        }
-    }
-    return (FALSE);
-}
-
-gboolean ui_filters_message_enabled(const uint32_t message, const uint32_t origin_task, const uint32_t destination_task,
-                                    const uint32_t instance)
-{
-    gboolean result;
-
-    result = (ui_item_enabled (&ui_filters.messages, message) && ui_item_enabled (&ui_filters.origin_tasks, origin_task)
-            && ui_item_enabled (&ui_filters.destination_tasks, destination_task)
-            && ui_item_enabled (&ui_filters.instances, instance));
-
-    return result;
-}
-
-static ui_filter_e ui_filter_from_name(const char *name)
-{
-    if (strcmp (name, ui_filters.messages.name) == 0)
-    {
-        return FILTER_MESSAGES;
-    }
-    if (strcmp (name, ui_filters.origin_tasks.name) == 0)
-    {
-        return FILTER_ORIGIN_TASKS;
-    }
-    if (strcmp (name, ui_filters.destination_tasks.name) == 0)
-    {
-        return FILTER_DESTINATION_TASKS;
-    }
-    if (strcmp (name, ui_filters.instances.name) == 0)
-    {
-        return FILTER_INSTANCES;
-    }
-    return FILTER_UNKNOWN;
-}
-
-static int xml_parse_filters(xmlDocPtr doc, const char *file_name)
-{
-    xmlNode *root_element = NULL;
-    xmlNode *filter_node = NULL;
-    xmlNode *cur_node = NULL;
-    ui_filter_e filter;
-    guint filters_entries = 0;
-    int ret = RC_FAIL;
-
-    /* Get the root element node */
-    root_element = xmlDocGetRootElement (doc);
-
-    if (root_element != NULL)
-    {
-        /* Search for the start of filters definition */
-        for (cur_node = root_element; (cur_node != NULL) && (strcmp ((char *) cur_node->name, "filters") != 0);
-                cur_node = cur_node->next)
-            ;
-
-        if (cur_node != NULL)
-        {
-            /* Search for filter header */
-            for (filter_node = cur_node->children; filter_node != NULL;)
-            {
-                /* Search for next element node */
-                for (; (filter_node != NULL) && (filter_node->type != XML_ELEMENT_NODE); filter_node =
-                        filter_node->next)
-                    ;
-
-                if (filter_node != NULL)
-                {
-                    filter = ui_filter_from_name ((const char*) filter_node->name);
-                    g_debug("Found filter %s %d", filter_node->name, filter);
-
-                    if (filter == FILTER_UNKNOWN)
-                    {
-                        g_warning("Unknown filter \"%s\"", filter_node->name);
-                    }
-                    else
-                    {
-                        /* Search for entries */
-                        for (cur_node = filter_node->children; cur_node != NULL;)
-                        {
-                            /* Search for next element node */
-                            for (; (cur_node != NULL) && (cur_node->type != XML_ELEMENT_NODE); cur_node =
-                                    cur_node->next)
-                                ;
-
-                            if (cur_node != NULL)
-                            {
-                                xmlAttr *prop_node;
-                                ui_entry_enabled_e enabled = ENTRY_ENABLED_UNDEFINED;
-                                char *foreground = NULL;
-                                char *background = NULL;
-
-                                for (prop_node = cur_node->properties; prop_node != NULL; prop_node = prop_node->next)
-                                {
-                                    if (strcmp ((char *) prop_node->name, ENABLED_NAME) == 0)
-                                    {
-                                        enabled =
-                                                prop_node->children->content[0] == '0' ?
-                                                        ENTRY_ENABLED_FALSE : ENTRY_ENABLED_TRUE;
-                                    }
-                                    if (strcmp ((char *) prop_node->name, FOREGROUND_NAME) == 0)
-                                    {
-                                        foreground = (char *) prop_node->children->content;
-                                    }
-                                    if (strcmp ((char *) prop_node->name, BACKGROUND_NAME) == 0)
-                                    {
-                                        background = (char *) prop_node->children->content;
-                                    }
-                                }
-
-                                g_debug("  Found entry %s %s", cur_node->name, cur_node->properties->children->content);
-                                ui_filters_add (filter, FILTER_ID_UNDEFINED, (const char*) cur_node->name, enabled,
-                                                foreground, background);
-
-                                filters_entries++;
-                                cur_node = cur_node->next;
-                            }
-                        }
-                    }
-                    filter_node = filter_node->next;
-                }
-            }
-
-            /* Filters have changed destroy filter menus and update tree view */
-            ui_destroy_filter_menus ();
-
-            /* Reactivate filtering */
-            gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.filters_enabled), TRUE);
-            ui_tree_view_refilter ();
-        }
-    }
-    /* Free the document */
-    xmlFreeDoc (doc);
-
-    if (filters_entries > 0)
-    {
-        ret = RC_OK;
-    }
-
-    g_message("Parsed XML filters file \"%s\", found %d entries (%d messages to display)", file_name, filters_entries, ui_tree_view_get_filtered_number());
-
-    return ret;
-}
-
-int ui_filters_read(const char *file_name)
-{
-    xmlDocPtr doc; /* the resulting document tree */
-    int ret;
-
-    if (file_name == NULL)
-    {
-        g_warning("No name for filters file");
-        return RC_FAIL;
-    }
-
-    doc = xmlReadFile (file_name, NULL, 0);
-    if (doc == NULL)
-    {
-        ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "open filters", "Failed to parse file \"%s\"", file_name);
-        return RC_FAIL;
-    }
-
-    ret = xml_parse_filters (doc, file_name);
-    if (ret != RC_OK)
-    {
-        ui_notification_dialog (GTK_MESSAGE_WARNING, FALSE, "open filters", "Found no filter definitions in \"%s\"",
-                                file_name);
-        return RC_FAIL;
-    }
-
-    return ret;
-}
-
-static void write_filter(FILE *filter_file, ui_filter_t *filter, gboolean save_colors)
-{
-    int item;
-
-    fprintf (filter_file, "  <%s>\n", filter->name);
-    for (item = 0; item < filter->used; item++)
-    {
-        if (save_colors)
-        {
-            fprintf (filter_file,
-                     "    <%s " ENABLED_NAME "=\"%d\" " FOREGROUND_NAME "=\"%s\" " BACKGROUND_NAME "=\"%s\"/>\n",
-                     filter->items[item].name, filter->items[item].enabled ? 1 : 0, filter->items[item].foreground,
-                     filter->items[item].background);
-        }
-        else
-        {
-            fprintf (filter_file, "    <%s " ENABLED_NAME "=\"%d\"/>\n", filter->items[item].name,
-                     filter->items[item].enabled ? 1 : 0);
-        }
-    }
-    fprintf (filter_file, "  </%s>\n", filter->name);
-}
-
-int ui_filters_file_write(const char *file_name)
-{
-    FILE *filter_file;
-
-    if (file_name == NULL)
-    {
-        g_warning("No name for filters file");
-        return RC_FAIL;
-    }
-
-    filter_file = fopen (file_name, "w");
-    if (filter_file == NULL)
-    {
-        ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "Failed to open file \"%s\": %s", file_name, g_strerror (errno));
-        return RC_FAIL;
-    }
-
-    fprintf (filter_file, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-             "<filters>\n");
-
-    write_filter (filter_file, &ui_filters.messages, TRUE);
-    write_filter (filter_file, &ui_filters.origin_tasks, FALSE);
-    write_filter (filter_file, &ui_filters.destination_tasks, FALSE);
-
-    fprintf (filter_file, "</filters>\n");
-
-    fclose (filter_file);
-    return RC_OK;
-}
-
-static void ui_create_filter_menu(GtkWidget **menu, ui_filter_t *filter)
-{
-    if (*menu == NULL)
-    {
-        GtkWidget *menu_items;
-        int item;
-        gpointer data;
-
-        *menu = gtk_menu_new ();
-
-        /* Create the "NONE" menu-item */
-        {
-            /* Create a new menu-item with a name */
-            menu_items = gtk_menu_item_new_with_label ("NONE");
-
-            /* Add it to the menu. */
-            gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-
-            g_debug("ui_create_filter_menu %lx", (long) menu_items);
-            g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_none), *menu);
-
-            /* Show the widget */
-            gtk_widget_show (menu_items);
-        }
-
-        /* Create the "ALL" menu-item */
-        {
-            /* Create a new menu-item with a name */
-            menu_items = gtk_menu_item_new_with_label ("ALL");
-
-            /* Add it to the menu. */
-            gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-
-            g_debug("ui_create_filter_menu %lx", (long) menu_items);
-            g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_all), *menu);
-
-            /* Show the widget */
-            gtk_widget_show (menu_items);
-        }
-
-        /* Create separator */
-        {
-            menu_items = gtk_menu_item_new ();
-
-            /* Add it to the menu. */
-            gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-
-            /* Show the widget */
-            gtk_widget_show (menu_items);
-        }
-
-        /* Creates menu-items */
-        for (item = 0; item < filter->used; item++)
-        {
-            /* Create a new menu-item with a name */
-            menu_items = gtk_check_menu_item_new_with_label (filter->items[item].name);
-
-            /* Add it to the menu. */
-            gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-
-            gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(menu_items), filter->items[item].enabled);
-
-            /* Connect function to be called when the menu item is selected */
-            data = &filter->items[item];
-            g_debug("ui_create_filter_menu %lx %lx", (long) menu_items, (long) data);
-            g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_item_selected), data);
-            /* Save the menu_item reference */
-            filter->items[item].menu_item = menu_items;
-
-            /* Show the widget */
-            gtk_widget_show (menu_items);
-        }
-    }
-}
-
-void ui_create_filter_menus(void)
-{
-    ui_create_filter_menu (&ui_main_data.menu_filter_messages, &ui_filters.messages);
-    ui_create_filter_menu (&ui_main_data.menu_filter_origin_tasks, &ui_filters.origin_tasks);
-    ui_create_filter_menu (&ui_main_data.menu_filter_destination_tasks, &ui_filters.destination_tasks);
-    ui_create_filter_menu (&ui_main_data.menu_filter_instances, &ui_filters.instances);
-}
-
-static void ui_destroy_filter_menu_item(GtkWidget *widget, gpointer data)
-{
-    if (GTK_IS_MENU_ITEM(widget))
-    {
-        gtk_widget_destroy (widget);
-    }
-}
-
-static void ui_destroy_filter_menu_widget(GtkWidget **menu)
-{
-    if (*menu != NULL)
-    {
-        gtk_container_foreach (GTK_CONTAINER(*menu), ui_destroy_filter_menu_item, NULL);
-
-        gtk_widget_destroy (*menu);
-        *menu = NULL;
-    }
-}
-
-void ui_destroy_filter_menus(void)
-{
-    ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_messages);
-    ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_origin_tasks);
-    ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_destination_tasks);
-    ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_instances);
-}
-
-void ui_destroy_filter_menu(ui_filter_e filter)
-{
-    switch (filter)
-    {
-        case FILTER_MESSAGES:
-            ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_messages);
-            break;
-
-        case FILTER_ORIGIN_TASKS:
-            ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_origin_tasks);
-            break;
-
-        case FILTER_DESTINATION_TASKS:
-            ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_destination_tasks);
-            break;
-
-        case FILTER_INSTANCES:
-            ui_destroy_filter_menu_widget (&ui_main_data.menu_filter_instances);
-            break;
-
-        default:
-            g_warning("unknown filter type %d", filter);
-            break;
-    }
-}
-
-void ui_show_filter_menu(GtkWidget **menu, ui_filter_t *filter)
-{
-    ui_create_filter_menu (menu, filter);
-
-    gtk_menu_popup (GTK_MENU (*menu), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time ());
-}
diff --git a/common/utils/itti_analyzer/libui/ui_filters.h b/common/utils/itti_analyzer/libui/ui_filters.h
deleted file mode 100644
index 16bb38834b10fc29f1d9aa10479242e918bac43d..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_filters.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_FILTERS_H_
-#define UI_FILTERS_H_
-
-#include <stdint.h>
-
-#include "itti_types.h"
-
-#define SIGNAL_NAME_LENGTH  100
-#define COLOR_SIZE          10
-
-typedef enum
-{
-    FILTER_UNKNOWN, FILTER_MESSAGES, FILTER_ORIGIN_TASKS, FILTER_DESTINATION_TASKS, FILTER_INSTANCES,
-} ui_filter_e;
-
-typedef enum
-{
-    ENTRY_ENABLED_FALSE, ENTRY_ENABLED_TRUE, ENTRY_ENABLED_UNDEFINED,
-} ui_entry_enabled_e;
-
-typedef struct
-{
-    uint32_t id;
-    char name[SIGNAL_NAME_LENGTH];
-    uint8_t enabled;
-    char foreground[COLOR_SIZE];
-    char background[COLOR_SIZE];
-    GtkWidget *menu_item;
-} ui_filter_item_t;
-
-typedef struct
-{
-    char *name;
-    uint32_t allocated;
-    uint32_t used;
-    ui_filter_item_t *items;
-} ui_filter_t;
-
-typedef struct
-{
-    gboolean filters_enabled;
-    ui_filter_t messages;
-    ui_filter_t origin_tasks;
-    ui_filter_t destination_tasks;
-    ui_filter_t instances;
-} ui_filters_t;
-
-extern ui_filters_t ui_filters;
-
-int ui_init_filters(int reset, int clear_ids);
-
-gboolean ui_filters_enable(gboolean enabled);
-
-int ui_filters_search_id(ui_filter_t *filter, uint32_t value);
-
-void ui_filters_add(ui_filter_e filter, uint32_t value, const char *name, ui_entry_enabled_e entry_enabled,
-                    const char *foreground, const char *background);
-
-gboolean ui_filters_message_enabled(const uint32_t message, const uint32_t origin_task, const uint32_t destination_task,
-                                    const uint32_t instance);
-
-int ui_filters_read(const char *file_name);
-
-int ui_filters_file_write(const char *file_name);
-
-void ui_create_filter_menus(void);
-
-void ui_destroy_filter_menus(void);
-
-void ui_destroy_filter_menu(ui_filter_e filter);
-
-void ui_show_filter_menu(GtkWidget **menu, ui_filter_t *filter);
-
-#endif /* UI_FILTERS_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_interface.c b/common/utils/itti_analyzer/libui/ui_interface.c
deleted file mode 100644
index 56139a8c6ba4bda1f6cbc2d56d1b891aad837fa9..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_interface.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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
- */
-
-#include <pthread.h>
-#include <stdint.h>
-#include <unistd.h>
-
-#define G_LOG_DOMAIN ("UI_INTER")
-
-#include <gtk/gtk.h>
-
-#include "ui_interface.h"
-
-#include "ui_tree_view.h"
-#include "ui_notifications.h"
-#include "ui_signal_dissect_view.h"
-
-#include "socket.h"
-#include "xml_parse.h"
-
-static
-gboolean ui_callback_on_pipe_notification(
-    GIOChannel *source, GIOCondition condition, gpointer user_data)
-{
-    pipe_input_t *pipe_input = (pipe_input_t *)user_data;
-
-    /* avoid reentrancy problems and stack overflow */
-    g_source_remove(pipe_input->pipe_input_id);
-
-    g_debug("Received new data on pipe %d", pipe_input->pipe_input_id);
-
-    if (pipe_input->input_cb(pipe_input->source_fd, pipe_input->user_data)) {
-        /* restore pipe handler */
-        pipe_input->pipe_input_id = g_io_add_watch_full(pipe_input->pipe_channel,
-                                                        G_PRIORITY_HIGH,
-                                                        (GIOCondition)(G_IO_IN|G_IO_ERR|G_IO_HUP),
-                                                        ui_callback_on_pipe_notification,
-                                                        pipe_input,
-                                                        NULL);
-    }
-    return TRUE;
-}
-
-int ui_pipe_new(int pipe_fd[2], pipe_input_cb_t input_cb, gpointer user_data)
-{
-    static pipe_input_t pipe_input;
-
-    g_assert(pipe_fd != NULL);
-
-    /* Create a pipe between GUI and a thread or a process */
-    if (socketpair(AF_UNIX, SOCK_DGRAM, 0, pipe_fd) < 0) {
-        g_warning("Failed to create socketpair %s", g_strerror(errno));
-        return RC_FAIL;
-    }
-
-    /* Source taken from wireshark SVN repository */
-
-    pipe_input.source_fd = pipe_fd[0];
-    pipe_input.input_cb  = input_cb;
-    pipe_input.user_data = user_data;
-
-    pipe_input.pipe_channel = g_io_channel_unix_new(pipe_fd[0]);
-    g_io_channel_set_encoding(pipe_input.pipe_channel, NULL, NULL);
-    pipe_input.pipe_input_id = g_io_add_watch_full(pipe_input.pipe_channel,
-                                                   G_PRIORITY_HIGH,
-                                                   G_IO_IN | G_IO_ERR | G_IO_HUP,
-                                                   ui_callback_on_pipe_notification,
-                                                   &pipe_input,
-                                                   NULL);
-
-    return RC_OK;
-}
-
-int ui_pipe_write_message(int pipe_fd, const uint16_t message_type,
-                          const void * const message, const uint16_t message_size)
-{
-    int ret;
-    pipe_input_header_t pipe_input_header;
-
-    pipe_input_header.message_size = message_size + sizeof(pipe_input_header);
-    pipe_input_header.message_type = message_type;
-
-    if (message_size > 0 && message == NULL) {
-        g_error("message size = %u but message is NULL", message_size);
-        g_assert_not_reached();
-    }
-
-    ret = write(pipe_fd, &pipe_input_header, sizeof(pipe_input_header));
-    if (ret < 0) {
-        g_warning("Failed to write header to pipe: %s", g_strerror(errno));
-        return ret;
-    }
-
-    /* Only write the message to pipe if valid data to transmit */
-    if (message_size > 0) {
-        ret = write(pipe_fd, message, message_size);
-        if (ret < 0) {
-            g_warning("Failed to write message of size %u at 0x%p to pipe: %s",
-                    message_size, message, g_strerror(errno));
-            return ret;
-        }
-    }
-    return 0;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_interface.h b/common/utils/itti_analyzer/libui/ui_interface.h
deleted file mode 100644
index f77ec144d1b5f573ff0c2b4b50457c35de5b0320..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_interface.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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
- */
-
-#include <glib.h>
-
-#ifndef UI_INTERFACE_H_
-#define UI_INTERFACE_H_
-
-/*******************************************************************************
- * Functions used between dissectors and GUI to update signal dissection
- ******************************************************************************/
-
-typedef gboolean (*ui_set_signal_text_cb_t) (gpointer user_data, gchar *text, gint length);
-
-/*******************************************************************************
- * Pipe interface between GUI thread and other thread
- ******************************************************************************/
-
-typedef gboolean (*pipe_input_cb_t) (gint source, gpointer user_data);
-
-typedef struct {
-    int             source_fd;
-    guint           pipe_input_id;
-    GIOChannel     *pipe_channel;
-
-    pipe_input_cb_t input_cb;
-    gpointer        user_data;
-} pipe_input_t;
-
-int ui_pipe_new(int pipe_fd[2], pipe_input_cb_t input_cb, gpointer user_data);
-
-int ui_pipe_write_message(int pipe_fd, const uint16_t message_type,
-                          const void * const message, const uint16_t message_size);
-
-typedef struct {
-    uint16_t message_size;
-    uint16_t message_type;
-} pipe_input_header_t;
-
-enum ui_pipe_messages_id_e {
-    /* Other thread -> GUI interface ids */
-    UI_PIPE_CONNECTION_FAILED,
-    UI_PIPE_CONNECTION_LOST,
-    UI_PIPE_XML_DEFINITION,
-    UI_PIPE_UPDATE_SIGNAL_LIST,
-
-    /* GUI -> other threads */
-    UI_PIPE_DISCONNECT_EVT
-};
-
-typedef struct {
-    char  *xml_definition;
-    size_t xml_definition_length;
-} pipe_xml_definition_message_t;
-
-typedef struct {
-    GList *signal_list;
-} pipe_new_signals_list_message_t;
-
-#endif /* UI_INTERFACE_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.c b/common/utils/itti_analyzer/libui/ui_main_screen.c
deleted file mode 100644
index 3d6ea266be1ce485a356adc85207a77ebb0e22cd..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_main_screen.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * 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
- */
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#define G_LOG_DOMAIN ("UI")
-
-#include <gtk/gtk.h>
-
-#include "logs.h"
-#include "rc.h"
-
-#include "ui_callbacks.h"
-#include "ui_interface.h"
-#include "ui_main_screen.h"
-#include "ui_menu_bar.h"
-#include "ui_tree_view.h"
-#include "ui_notebook.h"
-#include "ui_notifications.h"
-#include "ui_filters.h"
-
-ui_main_data_t ui_main_data;
-
-static void ui_help(void)
-{
-    printf ("Usage: itti_analyser [options]\n\n"
-            "Options:\n"
-            "  -d DISSECT   write DISSECT file with message types parse details\n"
-            "  -f FILTERS   read filters from FILTERS file\n"
-            "  -h           display this help and exit\n"
-            "  -i IP        set ip address to IP\n"
-            "  -l LEVEL     set log level to LEVEL in the range of 2 to 7\n"
-            "  -m MESSAGES  read messages from MESSAGES file\n"
-            "  -p PORT      set port to PORT\n");
-}
-
-void ui_gtk_parse_arg(int argc, char *argv[])
-{
-    char c;
-
-    /* Clear of ui_main_data not needed */
-    // memset (&ui_main_data, 0, sizeof(ui_main_data_t));
-
-    /* Set some default initialization value for the IP address */
-    ui_main_data.ip_entry_init = "127.0.0.1";
-    ui_main_data.port_entry_init = "10006";
-
-    /* Set default log level to at least warning level messages */
-    ui_main_data.log_flags = (G_LOG_LEVEL_MASK & (~(G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG)));
-
-    while ((c = getopt (argc, argv, "d:f:hi:l:m:p:")) != -1)
-    {
-        switch (c)
-        {
-            case 'd':
-                ui_main_data.dissect_file_name = malloc (strlen (optarg) + 1);
-                if (ui_main_data.dissect_file_name != NULL)
-                {
-                    strcpy (ui_main_data.dissect_file_name, optarg);
-                }
-                break;
-
-            case 'f':
-                ui_main_data.filters_file_name = malloc (strlen (optarg) + 1);
-                if (ui_main_data.filters_file_name != NULL)
-                {
-                    strcpy (ui_main_data.filters_file_name, optarg);
-                }
-                break;
-
-            case 'h':
-                ui_help ();
-                exit (0);
-                break;
-
-            case 'i':
-                ui_main_data.ip_entry_init = optarg;
-                break;
-
-            case 'l':
-            {
-                GLogLevelFlags log_flag;
-
-                log_flag = 1 << atoi(optarg);
-                if (log_flag < G_LOG_LEVEL_ERROR)
-                {
-                    log_flag = G_LOG_LEVEL_ERROR;
-                }
-                else
-                {
-                    if (log_flag > G_LOG_LEVEL_DEBUG)
-                    {
-                        log_flag = G_LOG_LEVEL_DEBUG;
-                    }
-                }
-                ui_main_data.log_flags = ((log_flag << 1) - 1) & G_LOG_LEVEL_MASK;
-                break;
-            }
-
-            case 'm':
-                ui_main_data.messages_file_name = malloc (strlen (optarg) + 1);
-                if (ui_main_data.messages_file_name != NULL)
-                {
-                    strcpy (ui_main_data.messages_file_name, optarg);
-                }
-                break;
-
-            case 'p':
-                ui_main_data.port_entry_init = optarg;
-                break;
-
-            default:
-                ui_help ();
-                exit (-1);
-                break;
-        }
-    }
-}
-
-static int ui_idle_callback(gpointer data)
-{
-    g_info("Entering idle state");
-
-    gtk_window_set_focus (GTK_WINDOW(ui_main_data.window), ui_main_data.messages_list);
-
-    /* Read filters file */
-    if (ui_main_data.filters_file_name != NULL)
-    {
-        ui_filters_read(ui_main_data.filters_file_name);
-    }
-
-    /* Read messages file */
-    if (ui_main_data.messages_file_name != NULL)
-    {
-        ui_messages_read (ui_main_data.messages_file_name);
-    }
-
-    /* One shot execution */
-    return FALSE;
-}
-
-void ui_set_title(const char *fmt, ...)
-{
-    va_list args;
-    char *name;
-    char buffer[200];
-    char title[220];
-
-#if defined(PACKAGE_STRING)
-    name = PACKAGE_NAME;
-#else
-    name = "itti_analyzer";
-#endif
-
-    va_start(args, fmt);
-
-    vsnprintf (buffer, sizeof(buffer), fmt, args);
-    snprintf (title, sizeof(title), "%s  %s", name, buffer);
-    va_end (args);
-
-    gtk_window_set_title (GTK_WINDOW(ui_main_data.window), title);
-}
-
-void ui_main_window_destroy (void)
-{
-    ui_callback_dialogbox_connect_destroy();
-    ui_progressbar_window_destroy();
-    gtk_main_quit();
-}
-
-int ui_gtk_initialize(int argc, char *argv[])
-{
-    GtkWidget *vbox;
-
-    /* Create the main window */
-    ui_main_data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-    ui_init_filters (TRUE, FALSE);
-
-    // gtk_window_set_default_icon_from_file ("../analyzer.png", NULL);
-    gtk_window_set_default_icon_name (GTK_STOCK_FIND);
-
-    gtk_window_set_position (GTK_WINDOW(ui_main_data.window), GTK_WIN_POS_CENTER);
-    gtk_window_set_default_size (GTK_WINDOW(ui_main_data.window), 1024, 800);
-    ui_set_title("");
-    gtk_window_set_resizable (GTK_WINDOW(ui_main_data.window), TRUE);
-
-    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-
-    CHECK_FCT(ui_menu_bar_create(vbox));
-    CHECK_FCT(ui_toolbar_create(vbox));
-    CHECK_FCT(ui_notebook_create(vbox));
-
-    gtk_container_add (GTK_CONTAINER(ui_main_data.window), vbox);
-
-    /* Assign the destroy event */
-    g_signal_connect(ui_main_data.window, "destroy", ui_main_window_destroy, NULL);
-
-    /* Show the application window */
-    gtk_widget_show_all (ui_main_data.window);
-
-    g_idle_add (ui_idle_callback, NULL);
-
-    return RC_OK;
-}
-
-void ui_gtk_flush_events(void)
-{
-    while (gtk_events_pending ())
-    {
-        gtk_main_iteration();
-    }
-}
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.h b/common/utils/itti_analyzer/libui/ui_main_screen.h
deleted file mode 100644
index 0411d687bead751fc58baa998f66ec33357f06e2..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_main_screen.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_MAIN_SCREEN_H_
-#define UI_MAIN_SCREEN_H_
-
-#include <gtk/gtk.h>
-
-#include "ui_signal_dissect_view.h"
-
-typedef struct {
-    GtkWidget *window;
-    GtkWidget *ip_entry;
-    char *ip_entry_init;
-    GtkWidget *port_entry;
-    char *port_entry_init;
-
-    GtkWidget      *progressbar_window;
-    GtkWidget      *progressbar;
-    GtkWidget      *messages_list;
-    ui_text_view_t *text_view;
-
-    /* Buttons */
-    GtkToolItem *filters_enabled;
-    GtkToolItem *open_filters_file;
-    GtkToolItem *refresh_filters_file;
-    GtkToolItem *save_filters_file;
-
-    GtkToolItem *open_replay_file;
-    GtkToolItem *refresh_replay_file;
-    GtkToolItem *stop_loading;
-    GtkToolItem *save_replay_file;
-    GtkToolItem *save_replay_file_filtered;
-
-    GtkToolItem *auto_reconnect;
-    GtkToolItem *connect;
-    GtkToolItem *disconnect;
-
-    /* Signal list buttons */
-    /* Clear signals button */
-    GtkWidget *signals_go_to_entry;
-    GtkToolItem *signals_go_to_last_button;
-    GtkToolItem *signals_go_to_first_button;
-    gboolean display_message_header;
-    gboolean display_brace;
-
-    GtkTreeSelection *selection;
-    gboolean follow_last;
-
-    /* Nb of messages received */
-    guint nb_message_received;
-
-    GLogLevelFlags log_flags;
-    char *dissect_file_name;
-    char *filters_file_name;
-    char *messages_file_name;
-
-    GtkWidget *menu_filter_messages;
-    GtkWidget *menu_filter_origin_tasks;
-    GtkWidget *menu_filter_destination_tasks;
-    GtkWidget *menu_filter_instances;
-
-    int pipe_fd[2];
-} ui_main_data_t;
-
-extern ui_main_data_t ui_main_data;
-
-void ui_gtk_parse_arg(int argc, char *argv[]);
-
-void ui_set_title(const char *fmt, ...);
-
-void ui_main_window_destroy (void);
-
-int ui_gtk_initialize(int argc, char *argv[]);
-
-void ui_gtk_flush_events(void);
-
-#endif /* UI_MAIN_SCREEN_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.c b/common/utils/itti_analyzer/libui/ui_menu_bar.c
deleted file mode 100644
index 62b51b3b9f5ccfeee55ce9b3c06f001f7b5d8e21..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.c
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
- * 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
- */
-
-#define G_LOG_DOMAIN ("UI")
-
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "rc.h"
-#include "ui_main_screen.h"
-#include "ui_menu_bar.h"
-#include "ui_callbacks.h"
-#include "ui_notifications.h"
-
-static const guint BUTTON_SPACE = 0;
-static const guint LABEL_SPACE = 5;
-static const guint SEPARATOR_SPACE = 5;
-
-void ui_set_sensitive_move_buttons(gboolean enable)
-{
-    gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.signals_go_to_last_button), enable);
-    gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.signals_go_to_first_button), enable);
-}
-
-void ui_set_sensitive_save_message_buttons(gboolean enable)
-{
-    if (ui_main_data.nb_message_received == 0)
-    {
-        enable = FALSE;
-    }
-    gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.save_replay_file), enable);
-    gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.save_replay_file_filtered), enable);
-}
-
-int ui_menu_bar_create(GtkWidget *vbox)
-{
-    GtkAccelGroup *accel_group;
-    GtkWidget *menu_bar;
-
-    GtkWidget *system_menu;
-    GtkWidget *system;
-    GtkWidget *quit;
-
-    GtkWidget *filters_menu;
-    GtkWidget *filters;
-    GtkWidget *open_filters;
-    GtkWidget *reload_filters;
-    GtkWidget *save_filters;
-    GtkWidget *enable_filters;
-
-    GtkWidget *messages_menu;
-    GtkWidget *messages;
-    GtkWidget *open_messages;
-    GtkWidget *reload_messages;
-    GtkWidget *stop_loading;
-    GtkWidget *save_messages;
-    GtkWidget *save_messages_filtered;
-    GtkWidget *goto_first_messages;
-    GtkWidget *goto_messages;
-    GtkWidget *goto_last_messages;
-    GtkWidget *display_message_header;
-    GtkWidget *display_brace;
-
-    GtkWidget *connect_menu;
-    GtkWidget *connect;
-    GtkWidget *auto_reconnect;
-    GtkWidget *connect_to;
-    GtkWidget *disconnect;
-
-    GtkWidget *help_menu;
-    GtkWidget *help;
-    GtkWidget *about;
-
-    if (!vbox)
-        return RC_BAD_PARAM;
-
-    accel_group = gtk_accel_group_new();
-    gtk_window_add_accel_group(GTK_WINDOW(ui_main_data.window), accel_group);
-
-    menu_bar = gtk_menu_bar_new();
-
-    /* Create the System sub-menu */
-    {
-        system = gtk_menu_item_new_with_mnemonic ("_System");
-        gtk_menu_shell_append (GTK_MENU_SHELL(menu_bar), system);
-
-        system_menu = gtk_menu_new ();
-        gtk_menu_item_set_submenu (GTK_MENU_ITEM(system), system_menu);
-
-        /* Create the Filters menu items */
-        {
-            quit = gtk_menu_item_new_with_mnemonic ("_Quit");
-            gtk_widget_add_accelerator (quit, "activate", accel_group, GDK_KEY_q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(system_menu), quit);
-            g_signal_connect(G_OBJECT(quit), "activate", ui_main_window_destroy, NULL);
-        }
-    }
-
-    /* Create the Filters sub-menu */
-    {
-        filters = gtk_menu_item_new_with_mnemonic ("_Filters");
-        gtk_menu_shell_append (GTK_MENU_SHELL(menu_bar), filters);
-
-        filters_menu = gtk_menu_new ();
-        gtk_menu_item_set_submenu (GTK_MENU_ITEM(filters), filters_menu);
-
-        /* Create the Filters menu items */
-        {
-            open_filters = gtk_menu_item_new_with_mnemonic ("_Open filters file");
-            gtk_widget_add_accelerator (open_filters, "activate", accel_group, GDK_KEY_p, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(filters_menu), open_filters);
-            g_signal_connect(G_OBJECT(open_filters), "activate", G_CALLBACK(ui_callback_on_open_filters), (gpointer) FALSE);
-
-            reload_filters = gtk_menu_item_new_with_mnemonic ("_Reload filters file");
-            gtk_widget_add_accelerator (reload_filters, "activate", accel_group, GDK_KEY_d, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_widget_add_accelerator (reload_filters, "activate", accel_group, GDK_KEY_F4, 0, GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(filters_menu), reload_filters);
-            g_signal_connect(G_OBJECT(reload_filters), "activate", G_CALLBACK(ui_callback_on_open_filters),
-                             (gpointer) TRUE);
-
-            save_filters = gtk_menu_item_new_with_mnemonic ("_Save filters file");
-            gtk_widget_add_accelerator (save_filters, "activate", accel_group, GDK_KEY_v, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(filters_menu), save_filters);
-            g_signal_connect(G_OBJECT(save_filters), "activate", G_CALLBACK(ui_callback_on_save_filters), NULL);
-
-            gtk_menu_shell_append (GTK_MENU_SHELL(filters_menu), gtk_menu_item_new ()); // Separator
-
-            enable_filters = gtk_menu_item_new_with_mnemonic ("_Enable filtering");
-            gtk_widget_add_accelerator (enable_filters, "activate", accel_group, GDK_KEY_e, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(filters_menu), enable_filters);
-            g_signal_connect(G_OBJECT(enable_filters), "activate", G_CALLBACK(ui_callback_on_enable_filters), NULL);
-        }
-    }
-
-    /* Create the Messages sub-menu */
-    {
-        messages = gtk_menu_item_new_with_mnemonic ("_Messages");
-        gtk_menu_shell_append (GTK_MENU_SHELL(menu_bar), messages);
-
-        messages_menu = gtk_menu_new ();
-        gtk_menu_item_set_submenu (GTK_MENU_ITEM(messages), messages_menu);
-
-        /* Crate the Messages menu items */
-        {
-            open_messages = gtk_menu_item_new_with_mnemonic ("_Open messages file");
-            gtk_widget_add_accelerator (open_messages, "activate", accel_group, GDK_KEY_o, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), open_messages);
-            g_signal_connect(G_OBJECT(open_messages), "activate", G_CALLBACK(ui_callback_on_open_messages),
-                             (gpointer) FALSE);
-
-            reload_messages = gtk_menu_item_new_with_mnemonic ("_Reload messages file");
-            gtk_widget_add_accelerator (reload_messages, "activate", accel_group, GDK_KEY_r, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_widget_add_accelerator (reload_messages, "activate", accel_group, GDK_KEY_F5, 0, GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), reload_messages);
-            g_signal_connect(G_OBJECT(reload_messages), "activate", G_CALLBACK(ui_callback_on_open_messages),
-                             (gpointer) TRUE);
-
-            stop_loading = gtk_menu_item_new_with_mnemonic ("S_top loading messages file");
-            gtk_widget_add_accelerator (stop_loading, "activate", accel_group, GDK_KEY_x, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), stop_loading);
-            g_signal_connect(G_OBJECT(stop_loading), "activate", G_CALLBACK(ui_progressbar_window_destroy),
-                             NULL);
-
-            save_messages = gtk_menu_item_new_with_mnemonic ("S_ave messages file (all)");
-            gtk_widget_add_accelerator (save_messages, "activate", accel_group, GDK_KEY_a, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), save_messages);
-            g_signal_connect(G_OBJECT(save_messages), "activate", G_CALLBACK(ui_callback_on_save_messages),
-                             (gpointer) FALSE);
-
-            save_messages_filtered = gtk_menu_item_new_with_mnemonic ("_Save messages file (filtered)");
-            gtk_widget_add_accelerator (save_messages_filtered, "activate", accel_group, GDK_KEY_s, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), save_messages_filtered);
-            g_signal_connect(G_OBJECT(save_messages_filtered), "activate", G_CALLBACK(ui_callback_on_save_messages),
-                             (gpointer) TRUE);
-
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), gtk_menu_item_new ()); // Separator
-
-            goto_first_messages = gtk_menu_item_new_with_mnemonic ("Go to _first message");
-            gtk_widget_add_accelerator (goto_first_messages, "activate", accel_group, GDK_KEY_f, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), goto_first_messages);
-            g_signal_connect(G_OBJECT(goto_first_messages), "activate", G_CALLBACK(ui_callback_signal_go_to_first),
-                             NULL);
-
-            goto_messages = gtk_menu_item_new_with_mnemonic ("_Go to message ...");
-            gtk_widget_add_accelerator (goto_messages, "activate", accel_group, GDK_KEY_g, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), goto_messages);
-            g_signal_connect(G_OBJECT(goto_messages), "activate", G_CALLBACK(ui_callback_signal_go_to), NULL);
-
-            goto_last_messages = gtk_menu_item_new_with_mnemonic ("Go to _last message");
-            gtk_widget_add_accelerator (goto_last_messages, "activate", accel_group, GDK_KEY_l, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), goto_last_messages);
-            g_signal_connect(G_OBJECT(goto_last_messages), "activate", G_CALLBACK(ui_callback_signal_go_to_last), (gpointer) TRUE);
-
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), gtk_menu_item_new ()); // Separator
-
-            display_message_header = gtk_menu_item_new_with_mnemonic ("Display message _header");
-            gtk_widget_add_accelerator (display_message_header, "activate", accel_group, GDK_KEY_h, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), display_message_header);
-            g_signal_connect(G_OBJECT(display_message_header), "activate",
-                             G_CALLBACK(ui_callback_display_message_header), NULL);
-
-            display_brace = gtk_menu_item_new_with_mnemonic ("Display _brace");
-            gtk_widget_add_accelerator (display_brace, "activate", accel_group, GDK_KEY_b, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(messages_menu), display_brace);
-            g_signal_connect(G_OBJECT(display_brace), "activate", G_CALLBACK(ui_callback_display_brace), NULL);
-        }
-    }
-
-    /* Create the Connect sub-menu */
-    {
-        connect = gtk_menu_item_new_with_mnemonic ("_Connect");
-        gtk_menu_shell_append (GTK_MENU_SHELL(menu_bar), connect);
-
-        connect_menu = gtk_menu_new ();
-        gtk_menu_item_set_submenu (GTK_MENU_ITEM(connect), connect_menu);
-
-        /* Create the Help menu item */
-        {
-            auto_reconnect = gtk_menu_item_new_with_mnemonic ("_Automatic reconnection");
-            gtk_widget_add_accelerator (auto_reconnect, "activate", accel_group, GDK_KEY_t, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(connect_menu), auto_reconnect);
-            g_signal_connect(G_OBJECT(auto_reconnect), "activate", G_CALLBACK(ui_callback_on_auto_reconnect), (gpointer) TRUE);
-
-            connect_to = gtk_menu_item_new_with_mnemonic ("_Connect");
-            gtk_widget_add_accelerator (connect_to, "activate", accel_group, GDK_KEY_c, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(connect_menu), connect_to);
-            g_signal_connect(G_OBJECT(connect_to), "activate", G_CALLBACK(ui_callback_on_connect), (gpointer) TRUE);
-
-            disconnect = gtk_menu_item_new_with_mnemonic ("_Disconnect");
-            gtk_widget_add_accelerator (disconnect, "activate", accel_group, GDK_KEY_u, GDK_CONTROL_MASK,
-                                        GTK_ACCEL_VISIBLE);
-            gtk_menu_shell_append (GTK_MENU_SHELL(connect_menu), disconnect);
-            g_signal_connect(G_OBJECT(disconnect), "activate", G_CALLBACK(ui_callback_on_disconnect), NULL);
-        }
-    }
-
-    /* Create the Help sub-menu */
-    {
-        help = gtk_menu_item_new_with_mnemonic ("_Help");
-        gtk_menu_shell_append (GTK_MENU_SHELL(menu_bar), help);
-
-        help_menu = gtk_menu_new ();
-        gtk_menu_item_set_submenu (GTK_MENU_ITEM(help), help_menu);
-
-        /* Create the Help menu item */
-        {
-            about = gtk_menu_item_new_with_mnemonic ("_About");
-            gtk_menu_shell_append (GTK_MENU_SHELL(help_menu), about);
-            g_signal_connect(G_OBJECT(about), "activate", G_CALLBACK(ui_callback_on_about), NULL);
-        }
-    }
-
-    /* Add the menubar to the vbox */
-    gtk_box_pack_start(GTK_BOX(vbox), menu_bar, FALSE, FALSE, 3);
-
-    return RC_OK;
-}
-
-int ui_toolbar_create(GtkWidget *vbox)
-{
-    GtkWidget *hbox;
-    GtkWidget *messages_label;
-    GtkWidget *ip_label;
-    GtkWidget *port_label;
-
-    if (!vbox)
-        return RC_BAD_PARAM;
-
-    hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-
-    messages_label = gtk_label_new("Messages");
-
-    /* Button to Enable filtering */
-    {
-        ui_main_data.filters_enabled = gtk_toggle_tool_button_new();
-        gtk_tool_button_set_label (GTK_TOOL_BUTTON(ui_main_data.filters_enabled), "Filters");
-        g_signal_connect(G_OBJECT(ui_main_data.filters_enabled), "clicked",
-                         G_CALLBACK(ui_callback_on_filters_enabled), NULL);
-        gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.filters_enabled), TRUE);
-    }
-
-    /* Button to open filters file */
-    {
-        ui_main_data.open_filters_file = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.open_filters_file), "Open filters file");
-
-        g_signal_connect(G_OBJECT(ui_main_data.open_filters_file), "clicked",
-                        G_CALLBACK(ui_callback_on_open_filters), (gpointer) FALSE);
-    }
-
-    /* Button to refresh filters file */
-    {
-        ui_main_data.refresh_filters_file = gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.refresh_filters_file), "Reload filters file");
-
-        g_signal_connect(G_OBJECT(ui_main_data.refresh_filters_file), "clicked",
-                        G_CALLBACK(ui_callback_on_open_filters), (gpointer) TRUE);
-    }
-
-    /* Button to save filters file */
-    {
-        ui_main_data.save_filters_file = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.save_filters_file), "Save filters file");
-
-        g_signal_connect(G_OBJECT(ui_main_data.save_filters_file), "clicked",
-                        G_CALLBACK(ui_callback_on_save_filters), NULL);
-    }
-
-    /* Button to open messages file */
-    {
-        ui_main_data.open_replay_file = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.open_replay_file), "Open messages file");
-
-        g_signal_connect(G_OBJECT(ui_main_data.open_replay_file), "clicked",
-                        G_CALLBACK(ui_callback_on_open_messages), (gpointer) FALSE);
-    }
-
-    /* Button to refresh messages file */
-    {
-        ui_main_data.refresh_replay_file = gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.refresh_replay_file), "Reload messages file");
-
-        g_signal_connect(G_OBJECT(ui_main_data.refresh_replay_file), "clicked",
-                        G_CALLBACK(ui_callback_on_open_messages), (gpointer) TRUE);
-    }
-
-    /* Stop reading messages file */
-    {
-        ui_main_data.stop_loading = gtk_tool_button_new_from_stock(GTK_STOCK_STOP);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.stop_loading), "Stop loading messages file");
-
-        g_signal_connect(G_OBJECT(ui_main_data.stop_loading), "clicked",
-                        ui_progressbar_window_destroy, NULL);
-    }
-
-    /* Button to save messages file */
-    {
-        ui_main_data.save_replay_file = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.save_replay_file), "Save messages file (all)");
-
-        g_signal_connect(G_OBJECT(ui_main_data.save_replay_file), "clicked",
-                        G_CALLBACK(ui_callback_on_save_messages), (gpointer) FALSE);
-    }
-
-    /* Button to save messages file */
-    {
-        ui_main_data.save_replay_file_filtered = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE_AS);
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.save_replay_file_filtered), "Save messages file (filtered)");
-
-        g_signal_connect(G_OBJECT(ui_main_data.save_replay_file_filtered), "clicked",
-                        G_CALLBACK(ui_callback_on_save_messages), (gpointer) TRUE);
-    }
-
-    /* Button to go to first signal in list */
-    {
-        ui_main_data.signals_go_to_first_button = gtk_tool_button_new_from_stock(GTK_STOCK_GOTO_FIRST);
-        /* Set the tooltip text */
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.signals_go_to_first_button), "Goto first signal");
-
-        gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.signals_go_to_first_button), FALSE);
-
-        g_signal_connect(G_OBJECT(ui_main_data.signals_go_to_first_button), "clicked",
-                        G_CALLBACK(ui_callback_signal_go_to_first), NULL);
-    }
-
-    /* Entry to go to given signal number */
-    {
-        ui_main_data.signals_go_to_entry = gtk_entry_new ();
-        gtk_entry_set_width_chars (GTK_ENTRY(ui_main_data.signals_go_to_entry), 10);
-        // gtk_entry_set_input_purpose (GTK_ENTRY(ui_main_data.signals_go_to_entry), GTK_INPUT_PURPOSE_DIGITS);
-
-        g_signal_connect(G_OBJECT(ui_main_data.signals_go_to_entry), "activate",
-                        G_CALLBACK(ui_callback_signal_go_to_entry), NULL);
-    }
-
-    /* Button to go to last signal in list */
-    {
-        ui_main_data.signals_go_to_last_button = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_GOTO_LAST);
-        /* Set the tooltip text */
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.signals_go_to_last_button), "Goto last signal");
-
-        gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.signals_go_to_last_button), FALSE);
-
-        g_signal_connect(G_OBJECT(ui_main_data.signals_go_to_last_button), "clicked",
-                        G_CALLBACK(ui_callback_signal_go_to_last), (gpointer) FALSE);
-        gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.signals_go_to_last_button), TRUE);
-    }
-
-    /* Button to automatically try to reconnect */
-    {
-        ui_main_data.auto_reconnect = gtk_toggle_tool_button_new();
-        gtk_tool_button_set_label (GTK_TOOL_BUTTON(ui_main_data.auto_reconnect), "Auto");
-        g_signal_connect(G_OBJECT(ui_main_data.auto_reconnect), "clicked",
-                         G_CALLBACK(ui_callback_on_auto_reconnect), (gpointer) FALSE);
-        gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON(ui_main_data.auto_reconnect), FALSE);
-    }
-
-    /* Button to connect to remote */
-    {
-        ui_main_data.connect = gtk_tool_button_new_from_stock(GTK_STOCK_CONNECT);
-        /* Set the tooltip text */
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.connect), "Connect to remote host");
-
-        g_signal_connect(G_OBJECT(ui_main_data.connect), "clicked",
-                        G_CALLBACK(ui_callback_on_connect), (gpointer) TRUE);
-    }
-
-    /* Button to disconnect from remote */
-    {
-        ui_main_data.disconnect = gtk_tool_button_new_from_stock(GTK_STOCK_DISCONNECT);
-        /* Set the tooltip text */
-        gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.disconnect), "Disconnect from remote host");
-
-        /* Disabled at startup. Will be activated when a connection is established */
-        gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.disconnect), FALSE);
-
-        g_signal_connect(G_OBJECT(ui_main_data.disconnect), "clicked",
-                        G_CALLBACK(ui_callback_on_disconnect), NULL);
-    }
-
-    ip_label = gtk_label_new("ip:");
-    port_label = gtk_label_new("port:");
-
-    ui_main_data.ip_entry = gtk_entry_new();
-    /* Width of 15 characters for port number (ipv4 address) */
-    gtk_entry_set_width_chars(GTK_ENTRY(ui_main_data.ip_entry), 15);
-    gtk_entry_set_text(GTK_ENTRY(ui_main_data.ip_entry), ui_main_data.ip_entry_init);
-
-    ui_main_data.port_entry = gtk_entry_new();
-    /* Width of 5 characters for port number (uint16_t) */
-    gtk_entry_set_width_chars(GTK_ENTRY(ui_main_data.port_entry), 5);
-    gtk_entry_set_text(GTK_ENTRY(ui_main_data.port_entry), ui_main_data.port_entry_init);
-
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.filters_enabled), FALSE, FALSE, LABEL_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.open_filters_file), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.refresh_filters_file), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.save_filters_file), FALSE, FALSE, BUTTON_SPACE);
-
-    gtk_box_pack_start(GTK_BOX(hbox), gtk_separator_new(GTK_ORIENTATION_VERTICAL), FALSE, FALSE, SEPARATOR_SPACE);
-
-    gtk_box_pack_start(GTK_BOX(hbox), messages_label, FALSE, FALSE, LABEL_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.open_replay_file), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.refresh_replay_file), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.stop_loading), FALSE, FALSE, BUTTON_SPACE);
-    gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.stop_loading), FALSE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.save_replay_file), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.save_replay_file_filtered), FALSE, FALSE, BUTTON_SPACE);
-    ui_set_sensitive_save_message_buttons(FALSE);
-
-    gtk_box_pack_start(GTK_BOX(hbox), gtk_separator_new(GTK_ORIENTATION_VERTICAL), FALSE, FALSE, SEPARATOR_SPACE);
-
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.signals_go_to_first_button), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.signals_go_to_entry), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.signals_go_to_last_button), FALSE, FALSE, BUTTON_SPACE);
-
-    gtk_box_pack_start(GTK_BOX(hbox), gtk_separator_new(GTK_ORIENTATION_VERTICAL), FALSE, FALSE, SEPARATOR_SPACE);
-
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.auto_reconnect), FALSE, FALSE, LABEL_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.connect), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(ui_main_data.disconnect), FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), ip_label, FALSE, FALSE, LABEL_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), ui_main_data.ip_entry, FALSE, FALSE, BUTTON_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), port_label, FALSE, FALSE, LABEL_SPACE);
-    gtk_box_pack_start(GTK_BOX(hbox), ui_main_data.port_entry, FALSE, FALSE, BUTTON_SPACE);
-
-    gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
-
-    return RC_OK;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.h b/common/utils/itti_analyzer/libui/ui_menu_bar.h
deleted file mode 100644
index 037dc5edca4445b380158f8322534a7c4d0347de..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_MENU_BAR_H_
-#define UI_MENU_BAR_H_
-
-void ui_set_sensitive_move_buttons(gboolean enable);
-
-void ui_set_sensitive_save_message_buttons(gboolean enable);
-
-int ui_menu_bar_create(GtkWidget *vbox);
-
-int ui_toolbar_create(GtkWidget *vbox);
-
-#endif /* UI_MENU_BAR_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.c b/common/utils/itti_analyzer/libui/ui_notebook.c
deleted file mode 100644
index 93a439335f22cd08a5b5562ad56c4d48d7991bc4..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_notebook.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * 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
- */
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdint.h>
-#define G_LOG_DOMAIN ("UI")
-
-#include <gtk/gtk.h>
-
-#include "rc.h"
-
-#include "ui_notebook.h"
-#include "ui_tree_view.h"
-#include "ui_signal_dissect_view.h"
-
-static ui_text_view_t *terminal_view;
-
-void ui_notebook_terminal_clear(void)
-{
-     ui_signal_dissect_clear_view(terminal_view);
-}
-
-void ui_notebook_terminal_append_data(gchar *text, gint length)
-{
-    ui_signal_set_text(terminal_view, text, length);
-}
-
-int ui_notebook_create(GtkWidget *vbox)
-{
-    GtkWidget *notebook;
-    GtkWidget *vbox_notebook, *vbox_terminal;
-
-    if (!vbox)
-        return RC_BAD_PARAM;
-
-    notebook = gtk_notebook_new();
-
-    vbox_notebook = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
-    ui_tree_view_create(NULL, vbox_notebook);
-
-    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox_notebook, NULL);
-    gtk_notebook_set_tab_label_text (GTK_NOTEBOOK(notebook), vbox_notebook, "Messages list");
-
-#if defined (FILTERS_TAB)
-    vbox_notebook = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
-
-    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox_notebook, NULL);
-    gtk_notebook_set_tab_label_text (GTK_NOTEBOOK(notebook), vbox_notebook, "Filters");
-#endif
-
-    vbox_notebook = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
-
-    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox_notebook, NULL);
-    gtk_notebook_set_tab_label_text (GTK_NOTEBOOK(notebook), vbox_notebook, "Terminal");
-
-    vbox_terminal = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
-
-    terminal_view = ui_signal_dissect_new(vbox_terminal);
-
-    gtk_box_pack_start (GTK_BOX(vbox_notebook), vbox_terminal, TRUE, TRUE, 5);
-
-    /* Add the notebook to the vbox of the main window */
-    gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
-
-    return RC_OK;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.h b/common/utils/itti_analyzer/libui/ui_notebook.h
deleted file mode 100644
index 6f87856e8470381c75e2bda0a7b17730217319de..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_notebook.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_NOTEBOOK_H_
-#define UI_NOTEBOOK_H_
-
-void ui_notebook_terminal_clear(void);
-
-int ui_notebook_create(GtkWidget *vbox);
-
-void ui_notebook_terminal_append_data(gchar *text, gint length);
-
-#endif /* UI_NOTEBOOK_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.c b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
deleted file mode 100644
index 4be4aa52cf847d41b000aa15d0d6c329f643572e..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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
- */
-
-#define G_LOG_DOMAIN ("UI")
-
-#include "rc.h"
-
-#include "ui_notif_dlg.h"
-#include "ui_main_screen.h"
-
-static const char * const gtk_response_strings[] =
-    {"GTK_RESPONSE_NONE", "GTK_RESPONSE_REJECT", "GTK_RESPONSE_ACCEPT", "GTK_RESPONSE_DELETE_EVENT", "GTK_RESPONSE_OK",
-     "GTK_RESPONSE_CANCEL", "GTK_RESPONSE_CLOSE", "GTK_RESPONSE_YES", "GTK_RESPONSE_NO", "GTK_RESPONSE_APPLY", "GTK_RESPONSE_HELP"};
-
-static const char * const title_type_strings[] =
-    {"Info", "Warning", "Question", "Error", "Other"};
-
-const char * gtk_get_respose_string (gint response)
-{
-    gint response_index = - response - 1;
-
-    if ((0 <= response_index) && (response_index < (sizeof (gtk_response_strings) / sizeof (gtk_response_strings[0]))))
-    {
-        return (gtk_response_strings[response_index]);
-    }
-    else
-    {
-        return ("Invalid response value!");
-    }
-}
-int ui_notification_dialog(GtkMessageType type, gboolean cancel, const char *title, const char *fmt, ...)
-{
-    va_list     args;
-    GtkWidget  *dialogbox;
-    char        buffer[200];
-    int         result =  RC_OK;
-
-    va_start(args, fmt);
-
-    vsnprintf (buffer, sizeof(buffer), fmt, args);
-
-    g_warning("%s", buffer);
-
-    dialogbox = gtk_message_dialog_new (GTK_WINDOW(ui_main_data.window), GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL, type,
-                                        cancel ? GTK_BUTTONS_OK_CANCEL : GTK_BUTTONS_OK, "%s",
-                                        buffer);
-    /* Set the window at center of main window */
-    gtk_window_set_position (GTK_WINDOW(dialogbox), GTK_WIN_POS_CENTER_ON_PARENT);
-
-    gtk_dialog_set_default_response (GTK_DIALOG(dialogbox), GTK_RESPONSE_OK);
-
-    snprintf (buffer, sizeof(buffer), "%s: %s", title_type_strings[type], title);
-    gtk_window_set_title (GTK_WINDOW(dialogbox), buffer);
-
-    if (gtk_dialog_run (GTK_DIALOG (dialogbox)) == GTK_RESPONSE_CANCEL)
-    {
-        result = RC_FAIL;
-    }
-
-    gtk_widget_destroy (dialogbox);
-
-    va_end(args);
-
-    return result;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.h b/common/utils/itti_analyzer/libui/ui_notif_dlg.h
deleted file mode 100644
index 361ec818506edf7b32cd45c023b8055cce07b643..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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
- */
-
-#include <gtk/gtk.h>
-
-#ifndef UI_NOTIF_DLG_H_
-#define UI_NOTIF_DLG_H_
-
-const char *gtk_get_respose_string (gint response);
-
-extern int ui_notification_dialog(GtkMessageType type, gboolean cancel, const char *title, const char *fmt, ...);
-
-#endif /* UI_NOTIF_DLG_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.c b/common/utils/itti_analyzer/libui/ui_notifications.c
deleted file mode 100644
index 6e7897c85081f766b454fbd0c7f82ef3604163ba..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_notifications.c
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * 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
- */
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdarg.h>
-
-#define G_LOG_DOMAIN ("UI")
-
-#include <sys/stat.h>
-
-#include <gtk/gtk.h>
-
-#include "logs.h"
-#include "itti_types.h"
-#include "rc.h"
-
-#include "ui_interface.h"
-#include "ui_main_screen.h"
-#include "ui_menu_bar.h"
-#include "ui_notifications.h"
-#include "ui_notif_dlg.h"
-#include "ui_callbacks.h"
-#include "ui_filters.h"
-#include "ui_tree_view.h"
-
-#include "locate_root.h"
-#include "xml_parse.h"
-#include "socket.h"
-
-static const itti_message_types_t itti_dump_xml_definition_end =  ITTI_DUMP_XML_DEFINITION_END;
-static const itti_message_types_t itti_dump_message_type_end =    ITTI_DUMP_MESSAGE_TYPE_END;
-
-static FILE *messages_file;
-static uint32_t message_number;
-static gboolean ui_abort;
-
-int ui_disable_connect_button(void)
-{
-    /* Disable Connect button and enable disconnect button */
-    gtk_widget_set_sensitive (GTK_WIDGET (ui_main_data.connect), FALSE);
-    gtk_widget_set_sensitive (GTK_WIDGET (ui_main_data.disconnect), TRUE);
-    socket_abort_connection = FALSE;
-
-    return RC_OK;
-}
-
-int ui_enable_connect_button(void)
-{
-    /* Disable Disconnect button and enable connect button */
-    gtk_widget_set_sensitive (GTK_WIDGET (ui_main_data.connect), TRUE);
-    gtk_widget_set_sensitive (GTK_WIDGET (ui_main_data.disconnect), FALSE);
-    socket_abort_connection = TRUE;
-    ui_set_sensitive_save_message_buttons (TRUE);
-    ui_set_title ("");
-
-    return RC_OK;
-}
-
-static void ui_change_cursor(gboolean busy)
-{
-    static GdkWindow *window;
-
-    if (busy)
-    {
-        GdkDisplay *display;
-        GdkCursor *cursor;
-        // gint x, y;
-
-        cursor = gdk_cursor_new (GDK_WATCH);
-        display = gdk_display_get_default ();
-        window = gtk_widget_get_window (GTK_WIDGET(ui_main_data.window));
-        // window = gdk_display_get_window_at_pointer(display, &x, &y);
-
-        gdk_window_set_cursor (window, cursor);
-        gdk_display_sync (display);
-        g_object_unref (cursor);
-        // gtk_widget_set_sensitive (ui_main_data.window, FALSE);
-        ui_gtk_flush_events ();
-    }
-    else
-    {
-        gdk_window_set_cursor (window, NULL);
-        // gtk_widget_set_sensitive (ui_main_data.window, TRUE);
-        ui_gtk_flush_events ();
-    }
-}
-
-static void gtk_filter_add(GtkWidget *file_chooser, const gchar *title, const gchar *pattern)
-{
-    GtkFileFilter *file_filter = gtk_file_filter_new ();
-
-    gtk_file_filter_set_name (file_filter, title);
-    gtk_file_filter_add_pattern (file_filter, pattern);
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(file_chooser), file_filter);
-}
-
-int ui_messages_read(char *file_name)
-{
-    int result = RC_OK;
-    int source;
-    int read_data = 0;
-    void *input_data = NULL;
-    size_t input_data_length = 0;
-    int read_messages = 0;
-
-    ui_change_cursor (TRUE);
-
-    source = open (file_name, O_RDONLY);
-    if (source < 0)
-    {
-        ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "open messages", "Failed to open file \"%s\": %s", file_name,
-                                g_strerror (errno));
-        result = RC_FAIL;
-    }
-    else
-    {
-        itti_socket_header_t message_header;
-        struct stat st;
-        int size;
-        double read_fraction = 0.f;
-
-        if (stat (file_name, &st) < 0)
-        {
-            ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "get file length",
-                                    "Failed to retrieve length for file \"%s\": %s", file_name, g_strerror (errno));
-            result = RC_FAIL;
-        }
-        size = st.st_size;
-
-        ui_callback_signal_clear_list (NULL, NULL);
-
-        /* Initialize the progress bar */
-        ui_abort = FALSE;
-        ui_progress_bar_set_fraction (0);
-
-        do
-        {
-            read_data = read (source, &message_header, sizeof(itti_socket_header_t));
-
-            if (read_data == -1)
-            {
-                ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "open messages", "Failed to read from file \"%s\": %s",
-                                        file_name, g_strerror (errno));
-                result = RC_FAIL;
-                break;
-            }
-
-            if (read_data == 0)
-            {
-                break;
-            }
-
-            if (read_data < sizeof(itti_socket_header_t))
-            {
-                if (ui_notification_dialog (GTK_MESSAGE_WARNING, TRUE, "open messages",
-                                            "Failed to read a complete message header from file \"%s\": %s", file_name, g_strerror (errno)) == RC_FAIL)
-                {
-                    read_data = 0;
-                }
-            }
-            else
-            {
-                read_fraction += (double) read_data / size;
-
-                input_data_length = message_header.message_size - sizeof(itti_socket_header_t);
-
-                g_debug("%x, %x, %zd", message_header.message_type, message_header.message_size, input_data_length);
-
-                /* Checking for non-header part */
-                if (input_data_length > 0)
-                {
-                    input_data = malloc (input_data_length);
-
-                    read_data = read (source, input_data, input_data_length);
-                    if (read_data < input_data_length)
-                    {
-                        if (ui_notification_dialog (GTK_MESSAGE_WARNING, TRUE, "open messages",
-                                                    "Failed to read a complete message from file \"%s\": %s", file_name, g_strerror (errno)) == RC_FAIL)
-                        {
-                            read_data = 0;
-                        }
-                        break;
-                    }
-
-                    read_fraction += (double) input_data_length / size;
-                }
-
-                switch (message_header.message_type)
-                {
-                    case ITTI_DUMP_XML_DEFINITION:
-                        ui_gtk_flush_events ();
-                        if (memcmp (&(((char *) input_data)[input_data_length - sizeof (itti_message_types_t)]),
-                            &itti_dump_xml_definition_end, sizeof (itti_message_types_t)) == 0)
-                        {
-                            result = xml_parse_buffer (input_data, input_data_length - sizeof (itti_message_types_t));
-                            if (result != RC_OK)
-                            {
-                                ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "open messages",
-                                                        "Error in parsing XML definitions in file \"%s\": %s", file_name,
-                                                        rc_strings[-result]);
-                                read_data = 0;
-                            }
-                            ui_gtk_flush_events ();
-                            g_message("Parsed XML definition from file \"%s\"", file_name);
-                        }
-                        else
-                        {
-                            ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "open messages",
-                                                    "Error in parsing XML definitions in file \"%s\", end mark is missing", file_name);
-                        }
-                        /* Data input buffer is kept in case user when to save the log file later */
-                        break;
-
-                    case ITTI_DUMP_MESSAGE_TYPE:
-                    {
-                        itti_signal_header_t *itti_signal_header = input_data;
-                        buffer_t *buffer;
-
-                        if (memcmp (&(((char *) input_data)[input_data_length - sizeof (itti_message_types_t)]),
-                            &itti_dump_message_type_end, sizeof (itti_message_types_t)) == 0)
-                        {
-                            /* Create the new buffer */
-                            if (buffer_new_from_data (&buffer, input_data + sizeof(itti_signal_header_t),
-                                                      input_data_length - sizeof(itti_signal_header_t) - sizeof(itti_message_types_t), 0) != RC_OK)
-                            {
-                                g_error("Failed to create new buffer");
-                                g_assert_not_reached ();
-                            }
-
-                            sscanf (itti_signal_header->message_number_char, MESSAGE_NUMBER_CHAR_FORMAT, &buffer->message_number);
-
-                            ui_signal_add_to_list (buffer, ((read_messages % 1000) == 0) ? (gpointer) 1 : NULL);
-
-                            if ((read_messages % 100) == 0)
-                            {
-                                ui_progress_bar_set_fraction (read_fraction);
-                                ui_gtk_flush_events ();
-                            }
-
-                            read_messages++;
-                        }
-                        else
-                        {
-                            if (ui_notification_dialog (GTK_MESSAGE_WARNING, TRUE, "open messages",
-                                                        "Failed to read a message from file \"%s\", end mark is missing", file_name) == RC_FAIL)
-                            {
-                                read_data = 0;
-                            }
-                            break;
-                        }
-
-                        free (input_data);
-                        break;
-                    }
-
-                    case ITTI_STATISTIC_MESSAGE_TYPE:
-                    default:
-                        if (ui_notification_dialog (GTK_MESSAGE_WARNING, TRUE, "open messages",
-                                                    "Unknown (or not implemented) record type: %d in file \"%s\"",
-                                                    message_header.message_type, file_name) == RC_FAIL)
-                        {
-                            read_data = 0;
-                        }
-
-                        free (input_data);
-                        break;
-                }
-            }
-        } while ((ui_abort == FALSE) && (read_data > 0));
-
-        if (read_messages > 0)
-        {
-            char *basename;
-
-            /* Enable buttons to move in the list of signals */
-            ui_set_sensitive_move_buttons (TRUE);
-
-            if (ui_main_data.follow_last)
-            {
-                /* Advance to the last signal */
-                ui_tree_view_select_row (ui_tree_view_get_filtered_number () - 1);
-            }
-
-            basename = g_path_get_basename (file_name);
-            ui_set_title ("\"%s\"", basename);
-        }
-        else
-        {
-            result = RC_FAIL;
-        }
-
-        ui_progress_bar_terminate ();
-
-        g_message("Read %d messages (%d to display) from file \"%s\"\n", read_messages, ui_tree_view_get_filtered_number(), file_name);
-
-        close (source);
-    }
-
-    ui_change_cursor (FALSE);
-
-    return result;
-}
-
-static void ui_message_write_callback(const gpointer buffer, const gchar *signal_name)
-{
-    buffer_t *signal_buffer = (buffer_t *) buffer;
-    itti_socket_header_t message_header;
-    itti_signal_header_t itti_signal_header;
-    uint32_t message_size;
-
-    message_size = signal_buffer->size_bytes;
-
-    message_header.message_size = sizeof(itti_socket_header_t) + sizeof(itti_signal_header) + message_size + sizeof(itti_message_types_t);
-    message_header.message_type = ITTI_DUMP_MESSAGE_TYPE;
-
-    sprintf(itti_signal_header.message_number_char, MESSAGE_NUMBER_CHAR_FORMAT, message_number);
-    itti_signal_header.message_number_char[sizeof(itti_signal_header.message_number_char) - 1] = '\n';
-    message_number++;
-
-    fwrite (&message_header, sizeof(message_header), 1, messages_file);
-    fwrite (&itti_signal_header, sizeof(itti_signal_header), 1, messages_file);
-    fwrite (signal_buffer->data, message_size, 1, messages_file);
-    fwrite (&itti_dump_message_type_end, sizeof(itti_message_types_t), 1, messages_file);
-}
-
-static int ui_messages_file_write(char *file_name, gboolean filtered)
-{
-    if (file_name == NULL)
-    {
-        g_warning("No name for log file");
-        return RC_FAIL;
-    }
-
-    messages_file = fopen (file_name, "w");
-    if (messages_file == NULL)
-    {
-        ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "Failed to open file \"%s\": %s", file_name, g_strerror (errno));
-        return RC_FAIL;
-    }
-
-    /* Write XML definitions */
-    {
-        itti_socket_header_t message_header;
-
-        message_header.message_size = sizeof(itti_socket_header_t) + xml_raw_data_size + sizeof(itti_message_types_t);
-        message_header.message_type = ITTI_DUMP_XML_DEFINITION;
-
-        fwrite (&message_header, sizeof(message_header), 1, messages_file);
-        fwrite (xml_raw_data, xml_raw_data_size, 1, messages_file);
-        fwrite (&itti_dump_xml_definition_end, sizeof(itti_message_types_t), 1, messages_file);
-    }
-
-    /* Write messages */
-    {
-        message_number = 1;
-        ui_tree_view_foreach_message (ui_message_write_callback, filtered);
-    }
-
-    fclose (messages_file);
-
-    return RC_OK;
-}
-
-int ui_messages_open_file_chooser(void)
-{
-    int result = RC_OK;
-
-    GtkWidget *filechooser;
-    gboolean response_accept;
-    char *filename;
-
-    filechooser = gtk_file_chooser_dialog_new ("Select file", GTK_WINDOW (ui_main_data.window),
-                                               GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
-                                               GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
-    gtk_filter_add (filechooser, "Log files", "*.log");
-    gtk_filter_add (filechooser, "All files", "*");
-
-    /* Process the response */
-    response_accept = gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT;
-
-    if (response_accept)
-    {
-        filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
-    }
-    gtk_widget_destroy (filechooser);
-    if (response_accept)
-    {
-        ui_set_sensitive_save_message_buttons (FALSE);
-
-        result = ui_messages_read (filename);
-        if (result == RC_OK)
-        {
-            /* Update messages file name for future use */
-            if (ui_main_data.messages_file_name != NULL)
-            {
-                g_free (ui_main_data.messages_file_name);
-            }
-            ui_main_data.messages_file_name = filename;
-
-            ui_set_sensitive_save_message_buttons (TRUE);
-        }
-        else
-        {
-            g_free (filename);
-        }
-    }
-    return result;
-}
-
-int ui_messages_save_file_chooser(gboolean filtered)
-{
-    int result = RC_OK;
-    GtkWidget *filechooser;
-
-    /* Check if there is something to save */
-    if (xml_raw_data_size > 0)
-    {
-        static const char *title[] =
-        {
-             "Save file (all messages)",
-             "Save file (filtered messages)",
-        };
-
-        filechooser = gtk_file_chooser_dialog_new (title[filtered], GTK_WINDOW (ui_main_data.window),
-                                                   GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL,
-                                                   GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
-        gtk_filter_add (filechooser, "Log files", "*.log");
-        gtk_filter_add (filechooser, "All files", "*");
-
-        gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (filechooser), TRUE);
-
-        if (ui_main_data.messages_file_name != NULL)
-        {
-            gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filechooser), ui_main_data.messages_file_name);
-        }
-        else
-        {
-            gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (filechooser), "messages.log");
-        }
-
-        /* Process the response */
-        if (gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT)
-        {
-            char *filename;
-
-            filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
-            result = ui_messages_file_write (filename, filtered);
-            if (result == RC_OK)
-            {
-                /* Update filters file name for future use */
-                if (ui_main_data.messages_file_name != NULL)
-                {
-                    g_free (ui_main_data.messages_file_name);
-                }
-                ui_main_data.messages_file_name = filename;
-            }
-            else
-            {
-                g_free (filename);
-            }
-        }
-        gtk_widget_destroy (filechooser);
-    }
-
-    return result;
-}
-
-int ui_filters_open_file_chooser(void)
-{
-    int result = RC_OK;
-    GtkWidget *filechooser;
-    gboolean response_accept;
-    char *filename;
-
-    filechooser = gtk_file_chooser_dialog_new ("Select file", GTK_WINDOW (ui_main_data.window),
-                                               GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
-                                               GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
-    gtk_filter_add (filechooser, "Filters files", "*.xml");
-    gtk_filter_add (filechooser, "All files", "*");
-
-    /* Process the response */
-    response_accept = gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT;
-
-    if (response_accept)
-    {
-        filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
-    }
-    gtk_widget_destroy (filechooser);
-    if (response_accept)
-    {
-        result = ui_filters_read (filename);
-        if (result == RC_OK)
-        {
-            /* Update filters file name for future use */
-            if (ui_main_data.filters_file_name != NULL)
-            {
-                g_free (ui_main_data.filters_file_name);
-            }
-            ui_main_data.filters_file_name = filename;
-        }
-        else
-        {
-            g_free (filename);
-        }
-    }
-
-    return result;
-}
-
-int ui_filters_save_file_chooser(void)
-{
-    int result = RC_OK;
-    GtkWidget *filechooser;
-
-    filechooser = gtk_file_chooser_dialog_new ("Save file", GTK_WINDOW (ui_main_data.window),
-                                               GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                               GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
-    gtk_filter_add (filechooser, "Filters files", "*.xml");
-    gtk_filter_add (filechooser, "All files", "*");
-
-    gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (filechooser), TRUE);
-
-    if (ui_main_data.filters_file_name != NULL)
-    {
-        gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filechooser), ui_main_data.filters_file_name);
-    }
-    else
-    {
-        gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (filechooser), "filters.xml");
-    }
-
-    /* Process the response */
-    if (gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT)
-    {
-        char *filename;
-
-        filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
-        result = ui_filters_file_write (filename);
-        if (result == RC_OK)
-        {
-            /* Update filters file name for future use */
-            if (ui_main_data.filters_file_name != NULL)
-            {
-                g_free (ui_main_data.filters_file_name);
-            }
-            ui_main_data.filters_file_name = filename;
-        }
-        else
-        {
-            g_free (filename);
-        }
-    }
-    gtk_widget_destroy (filechooser);
-
-    return result;
-}
-
-void ui_progressbar_window_destroy (void)
-{
-    ui_abort = TRUE;
-    ui_progress_bar_terminate();
-}
-
-int ui_progress_bar_set_fraction(double fraction)
-{
-    if (ui_abort == FALSE)
-    {
-        /* If not exist instantiate */
-        if (!ui_main_data.progressbar && !ui_main_data.progressbar_window)
-        {
-            ui_main_data.progressbar_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-            /* Keep progress bar window on top of main window */
-            gtk_window_set_transient_for (GTK_WINDOW(ui_main_data.progressbar_window), GTK_WINDOW(ui_main_data.window));
-
-            /* Set the window at center of main window */
-            gtk_window_set_position (GTK_WINDOW(ui_main_data.progressbar_window), GTK_WIN_POS_CENTER_ON_PARENT);
-            gtk_window_set_title (GTK_WINDOW(ui_main_data.progressbar_window), "Processing");
-
-            gtk_container_set_border_width (GTK_CONTAINER (ui_main_data.progressbar_window), 10);
-
-            ui_main_data.progressbar = gtk_progress_bar_new ();
-
-            gtk_container_add (GTK_CONTAINER (ui_main_data.progressbar_window), ui_main_data.progressbar);
-
-            /* Assign the destroy event */
-            g_signal_connect(ui_main_data.progressbar_window, "destroy", ui_progressbar_window_destroy, NULL);
-
-            gtk_widget_show_all (ui_main_data.progressbar_window);
-
-            gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.stop_loading), TRUE);
-        }
-
-        gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(ui_main_data.progressbar), fraction);
-
-//       ui_gtk_flush_events();
-    }
-
-    return RC_OK;
-}
-
-int ui_progress_bar_terminate(void)
-{
-    if (ui_main_data.progressbar)
-    {
-        gtk_widget_destroy (ui_main_data.progressbar);
-        ui_main_data.progressbar = NULL;
-    }
-    if (ui_main_data.progressbar_window)
-    {
-        gtk_widget_destroy (ui_main_data.progressbar_window);
-        ui_main_data.progressbar_window = NULL;
-    }
-    gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.stop_loading), FALSE);
-
-    return RC_OK;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.h b/common/utils/itti_analyzer/libui/ui_notifications.h
deleted file mode 100644
index 33ef0ff5c0918ec4d3f97b38260311f2efae4233..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_notifications.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_NOTIFICATIONS_H_
-#define UI_NOTIFICATIONS_H_
-
-typedef void (*message_write_callback_t)  (const gpointer buffer, const gchar *signal_name);
-
-int ui_disable_connect_button(void);
-
-int ui_enable_connect_button(void);
-
-int ui_messages_read(char *filename);
-
-int ui_messages_open_file_chooser(void);
-
-int ui_messages_save_file_chooser(gboolean filtered);
-
-int ui_filters_open_file_chooser(void);
-
-int ui_filters_save_file_chooser(void);
-
-void ui_progressbar_window_destroy(void);
-
-int ui_progress_bar_set_fraction(double fraction);
-
-int ui_progress_bar_terminate(void);
-
-#endif /* UI_NOTIFICATIONS_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
deleted file mode 100644
index 859eb66b03ced23cd54731362bd0150cee21945e..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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
- */
-
-#include <string.h>
-
-#define G_LOG_DOMAIN ("UI")
-
-#include <gtk/gtk.h>
-
-#include "rc.h"
-
-#include "ui_main_screen.h"
-#include "ui_menu_bar.h"
-#include "ui_signal_dissect_view.h"
-
-ui_text_view_t *ui_signal_dissect_new(GtkWidget *hbox)
-{
-    GtkWidget *scrolled_window;
-    ui_text_view_t *new_text_view;
-
-    new_text_view = malloc(sizeof(ui_text_view_t));
-
-    new_text_view->text_view = gtk_text_view_new();
-    scrolled_window = gtk_scrolled_window_new(NULL, NULL);
-
-    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
-                                   GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
-
-    /* Change the font of the widget */
-    new_text_view->text_view_font = pango_font_description_new();
-
-    g_debug("Default family is: %s\n", pango_font_description_get_family(new_text_view->text_view_font));
-
-    pango_font_description_set_family(new_text_view->text_view_font, "Monospace");
-    pango_font_description_set_absolute_size(new_text_view->text_view_font, 10 * PANGO_SCALE);
-
-    g_debug("Font family has been set to: %s\n", pango_font_description_get_family(new_text_view->text_view_font));
-
-    gtk_widget_override_font(new_text_view->text_view, new_text_view->text_view_font);
-
-    /* Disable editable attribute */
-    gtk_text_view_set_editable(GTK_TEXT_VIEW(new_text_view->text_view), FALSE);
-
-    gtk_container_add(GTK_CONTAINER(scrolled_window), new_text_view->text_view);
-
-    gtk_paned_pack2 (GTK_PANED (hbox), scrolled_window, TRUE, FALSE);
-
-    return new_text_view;
-}
-
-int ui_signal_dissect_clear_view(ui_text_view_t *text_view)
-{
-    GtkTextBuffer *text_buffer;
-
-    g_assert(text_view != NULL);
-
-    if (text_view->text_view != NULL)
-    {
-        /* Create an empty text buffer */
-        text_buffer = gtk_text_buffer_new(NULL);
-        gtk_text_buffer_set_text(text_buffer, "", 0);
-
-        gtk_text_view_set_buffer(GTK_TEXT_VIEW(text_view->text_view), text_buffer);
-    }
-
-    return RC_OK;
-}
-
-gboolean ui_signal_set_text(gpointer user_data, gchar *text, gint length)
-{
-    GtkTextBuffer  *text_buffer;
-    ui_text_view_t *text_view;
-
-    if (length < 0)
-        return FALSE;
-
-    text_view = (ui_text_view_t *)user_data;
-
-    g_assert(text != NULL);
-    g_assert(text_view != NULL);
-    g_assert(text_view->text_view != NULL);
-
-    g_assert(GTK_IS_TEXT_VIEW(GTK_TEXT_VIEW(text_view->text_view)));
-
-    text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view->text_view));
-
-    if (text_buffer) {
-        /* We already have a text buffer, use it */
-        gtk_text_buffer_insert_at_cursor(text_buffer, text, length);
-    } else {
-        /* No buffer currently in use, create a new one */
-        text_buffer = gtk_text_buffer_new(NULL);
-        gtk_text_buffer_set_text(text_buffer, text, length);
-        gtk_text_view_set_buffer(GTK_TEXT_VIEW(text_view->text_view),
-                                 text_buffer);
-    }
-
-    return TRUE;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
deleted file mode 100644
index a5ccf6a9eb46b879c3a93dfd52cbe72c0e6906c5..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_SIGNAL_DISSECT_VIEW_H_
-#define UI_SIGNAL_DISSECT_VIEW_H_
-
-typedef struct {
-    GtkWidget            *text_view;
-    PangoFontDescription *text_view_font;
-} ui_text_view_t;
-
-ui_text_view_t *ui_signal_dissect_new(GtkWidget *hbox);
-
-int ui_signal_dissect_clear_view(ui_text_view_t *text_view);
-
-gboolean ui_signal_set_text(gpointer user_data, gchar *text, gint length);
-
-#endif /*UI_SIGNAL_DISSECT_VIEW_H_ */
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.c b/common/utils/itti_analyzer/libui/ui_tree_view.c
deleted file mode 100644
index 0396e248191af2cb6137fd6851e033e7b69a97c6..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_tree_view.c
+++ /dev/null
@@ -1,610 +0,0 @@
-/*
- * 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
- */
-
-#include <stdlib.h>
-#include <stdint.h>
-
-#define G_LOG_DOMAIN ("UI_TREE")
-
-#include <gtk/gtk.h>
-
-#include "logs.h"
-#include "rc.h"
-
-#include "buffers.h"
-
-#include "ui_main_screen.h"
-#include "ui_tree_view.h"
-#include "ui_callbacks.h"
-#include "ui_filters.h"
-
-#include "ui_signal_dissect_view.h"
-
-typedef struct
-{
-    GtkListStore *store;
-    GtkTreeModelFilter *filtered;
-    uint32_t filtered_last_msg;
-    uint32_t filtered_msg_number;
-    uint32_t instance_number;
-} ui_store_t;
-
-static ui_store_t ui_store;
-
-GtkWidget *ui_tree_view_menu;
-ui_tree_view_menu_enable_t ui_tree_view_menu_enable[NUM_MENU_TYPE];
-
-GdkEventButton *ui_tree_view_last_event;
-
-static gboolean ui_tree_filter_messages(GtkTreeModel *model, GtkTreeIter *iter, ui_store_t *store)
-{
-    uint32_t msg_number;
-    uint32_t message_id;
-    uint32_t origin_task_id;
-    uint32_t destination_task_id;
-    uint32_t instance;
-
-    gboolean enabled = TRUE;
-
-    if (ui_filters.filters_enabled)
-    {
-        gtk_tree_model_get (model, iter, COL_MSG_NUM, &msg_number, COL_MESSAGE_ID, &message_id, COL_FROM_TASK_ID,
-                            &origin_task_id, COL_TO_TASK_ID, &destination_task_id, COL_INSTANCE_ID, &instance, -1);
-        if (msg_number != 0)
-        {
-            enabled = ui_filters_message_enabled (message_id, origin_task_id, destination_task_id, instance);
-
-            if ((enabled) && (store->filtered_last_msg < msg_number))
-            {
-                store->filtered_last_msg = msg_number;
-                store->filtered_msg_number++;
-            }
-            g_debug("ui_tree_filter_messages: %p %p %d m:%d o:%d d:%d i:%d %d %d", model, iter, msg_number, message_id, origin_task_id, destination_task_id, instance, enabled, store->filtered_msg_number);
-        }
-    }
-
-    return enabled;
-}
-
-static gboolean onButtonPressed(GtkWidget *treeview, GdkEventButton *event, gpointer userdata)
-{
-    g_info("onButtonPressed %p %p %p %d %d", treeview, event, userdata, event->type, event->button);
-    ui_tree_view_last_event = event;
-
-    return FALSE;
-}
-
-/*
- static gboolean onButtonRelease(GtkWidget *treeview, GdkEventButton *event, gpointer userdata)
- {
- g_info("onButtonRelease %p %p %p %d %d", treeview, event, userdata, event->type, event->button);
- // last_event = event;
-
- return FALSE;
- }
- */
-
-static void ui_tree_view_init_list(GtkWidget *list)
-{
-    GtkCellRenderer *renderer_left;
-    GtkCellRenderer *renderer_right;
-    GtkTreeViewColumn *column;
-
-    renderer_left = gtk_cell_renderer_text_new ();
-    gtk_cell_renderer_set_padding (renderer_left, 5, 0);
-
-    renderer_right = gtk_cell_renderer_text_new ();
-    gtk_cell_renderer_set_alignment (renderer_right, 1, 0.5);
-    gtk_cell_renderer_set_padding (renderer_right, 5, 0);
-
-    column = gtk_tree_view_column_new_with_attributes ("MN", renderer_right, "text", COL_MSG_NUM, "foreground",
-                                                       COL_FOREGROUND, "background", COL_BACKGROUND, NULL);
-    gtk_tree_view_column_set_resizable (column, TRUE);
-    gtk_tree_view_column_set_alignment (column, 0.5);
-    gtk_tree_view_append_column (GTK_TREE_VIEW(list), column);
-
-    column = gtk_tree_view_column_new_with_attributes ("LTE Time", renderer_right, "text", COL_LTE_TIME, NULL);
-    gtk_tree_view_column_set_resizable (column, TRUE);
-    gtk_tree_view_column_set_alignment (column, 0.5);
-    gtk_tree_view_append_column (GTK_TREE_VIEW(list), column);
-
-    column = gtk_tree_view_column_new_with_attributes ("Message", renderer_left, "text", COL_MESSAGE, "foreground",
-                                                       COL_FOREGROUND, "background", COL_BACKGROUND, "strikethrough",
-                                                       COL_STRIKETHROUGH, "style", COL_STYLE, "weight", COL_WEIGHT, "underline", COL_UNDERLINE, NULL);
-    gtk_tree_view_column_set_resizable (column, TRUE);
-    gtk_tree_view_column_set_alignment (column, 0.5);
-    gtk_tree_view_append_column (GTK_TREE_VIEW(list), column);
-    g_signal_connect(G_OBJECT(column), "clicked", G_CALLBACK(ui_callback_on_tree_column_header_click),
-                     (gpointer) COL_MESSAGE);
-
-    column = gtk_tree_view_column_new_with_attributes ("From", renderer_left, "text", COL_FROM_TASK, NULL);
-    gtk_tree_view_column_set_alignment (column, 0.5);
-    gtk_tree_view_column_set_resizable (column, TRUE);
-    gtk_tree_view_append_column (GTK_TREE_VIEW(list), column);
-    g_signal_connect(G_OBJECT(column), "clicked", G_CALLBACK(ui_callback_on_tree_column_header_click),
-                     (gpointer) COL_FROM_TASK);
-
-    column = gtk_tree_view_column_new_with_attributes ("To", renderer_left, "text", COL_TO_TASK, NULL);
-    gtk_tree_view_column_set_alignment (column, 0.5);
-    gtk_tree_view_column_set_resizable (column, TRUE);
-    gtk_tree_view_append_column (GTK_TREE_VIEW(list), column);
-    g_signal_connect(G_OBJECT(column), "clicked", G_CALLBACK(ui_callback_on_tree_column_header_click),
-                     (gpointer) COL_TO_TASK);
-
-    column = gtk_tree_view_column_new_with_attributes ("Ins", renderer_right, "text", COL_INSTANCE, NULL);
-    gtk_tree_view_column_set_alignment (column, 0.5);
-    gtk_tree_view_append_column (GTK_TREE_VIEW(list), column);
-    g_signal_connect(G_OBJECT(column), "clicked", G_CALLBACK(ui_callback_on_tree_column_header_click),
-                     (gpointer) COL_INSTANCE);
-
-    ui_store.store = gtk_list_store_new (NUM_COLS, // Number of columns
-            // Displayed columns
-            G_TYPE_UINT, // COL_MSG_NUM
-            G_TYPE_STRING, // COL_LTE_TIME
-            G_TYPE_STRING, // COL_MESSAGE
-            G_TYPE_STRING, // COL_FROM_TASK
-            G_TYPE_STRING, // COL_TO_TASK
-            G_TYPE_STRING, // COL_INSTANCE
-            // Not displayed columns
-            // Id of some message fields to speed-up filtering
-            G_TYPE_UINT, // COL_MESSAGE_ID
-            G_TYPE_UINT, // COL_FROM_TASK_ID
-            G_TYPE_UINT, // COL_TO_TASK_ID
-            G_TYPE_UINT, // COL_INSTANCE_ID
-            G_TYPE_STRING, // COL_FOREGROUND
-            G_TYPE_STRING, // COL_BACKGROUND
-            G_TYPE_BOOLEAN, // COL_STRIKETHROUGH
-            G_TYPE_UINT,
-            G_TYPE_UINT,
-            G_TYPE_UINT,
-            // Reference to the buffer here to avoid maintaining multiple lists.
-            G_TYPE_POINTER);
-
-    if (ui_store.store == NULL)
-    {
-        g_error("gtk_list_store_new failed");
-    }
-
-    ui_store.filtered = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (ui_store.store), NULL));
-    gtk_tree_model_filter_set_visible_func (ui_store.filtered, (GtkTreeModelFilterVisibleFunc) ui_tree_filter_messages,
-                                            &ui_store, NULL);
-
-    gtk_tree_view_set_model (GTK_TREE_VIEW(list), GTK_TREE_MODEL(ui_store.filtered));
-
-    gtk_tree_view_columns_autosize (GTK_TREE_VIEW(list));
-}
-
-static void ui_tree_view_add_to_list(GtkWidget *list, const gchar *lte_time, const uint32_t message_number,
-                                     const uint32_t message_id, const gchar *signal_name, const uint32_t origin_task_id,
-                                     const char *origin_task_name, const uint32_t destination_task_id,
-                                     const char *destination_task_name, uint32_t instance_id, const char *instance_name, gpointer buffer)
-{
-    static int counter = 0;
-
-    GtkTreeIter iter;
-    gboolean enabled;
-    int message_index;
-
-    g_info("ui_tree_view_add_to_list: %d %d %d %d %d", message_number, message_id, origin_task_id, destination_task_id, instance_id);
-
-    enabled = ui_filters_message_enabled (message_id, origin_task_id, destination_task_id, instance_id);
-    message_index = ui_filters_search_id (&ui_filters.messages, message_id);
-
-    g_info("ui_tree_view_add_to_list: %d %d", enabled, message_index);
-
-    gtk_list_store_append (ui_store.store, &iter);
-    gtk_list_store_set (ui_store.store, &iter,
-    /* Columns */
-    COL_MSG_NUM,
-                        message_number, COL_LTE_TIME, lte_time, COL_MESSAGE, signal_name, COL_FROM_TASK, origin_task_name,
-                        COL_TO_TASK, destination_task_name, COL_INSTANCE, instance_name, COL_MESSAGE_ID, message_id,
-                        COL_FROM_TASK_ID, origin_task_id, COL_TO_TASK_ID, destination_task_id, COL_INSTANCE_ID, instance_id,
-                        COL_BUFFER, buffer, COL_FOREGROUND, ui_filters.messages.items[message_index].foreground, COL_BACKGROUND,
-                        ui_filters.messages.items[message_index].background, COL_STRIKETHROUGH, !enabled,
-//                        COL_STYLE, (counter % 2) == 0 ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL,
-//                        COL_WEIGHT, ((counter + 2) % 4) < 2 ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL,
-//                        COL_UNDERLINE, ((counter + 4) % 8) < 4 ?PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE,
-                        COL_STYLE, PANGO_STYLE_NORMAL,
-                        COL_WEIGHT, PANGO_WEIGHT_NORMAL,
-                        COL_UNDERLINE, PANGO_UNDERLINE_NONE,
-                        /* End of columns */
-                        -1);
-    counter++;
-}
-
-void ui_tree_view_destroy_list(GtkWidget *list)
-{
-    g_assert(list != NULL);
-
-    gtk_list_store_clear (ui_store.store);
-    ui_store.filtered_last_msg = 0;
-    ui_store.filtered_msg_number = 0;
-    ui_store.instance_number = 0;
-
-    /* Reset number of messages */
-    ui_main_data.nb_message_received = 0;
-}
-
-/* Search for the message with its message number equal to the given value or the previous one */
-static gboolean ui_tree_view_search(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter,
-                                    gpointer search_data)
-{
-    uint32_t msg_number;
-    uint32_t key_value = atoi (key);
-
-    gtk_tree_model_get (model, iter, column, &msg_number, -1);
-
-    g_debug("ui_tree_view_search %d %d", key_value, msg_number);
-
-    if (key_value == msg_number)
-    {
-        /* Value found, use this message */
-        return 0;
-    }
-
-    {
-        GtkTreeIter iter_next = *iter;
-
-        if (gtk_tree_model_iter_next (model, &iter_next))
-        {
-            gtk_tree_model_get (model, &iter_next, column, &msg_number, -1);
-
-            if (key_value < msg_number)
-            {
-                /* Next value will be greater, use this message */
-                return 0;
-            }
-        }
-        else
-        {
-            /* Last value, use this message */
-            return 0;
-        }
-    }
-    return 1;
-}
-
-static void ui_tree_view_create_menu(GtkWidget **menu)
-{
-    GtkWidget *menu_items;
-
-    *menu = gtk_menu_new ();
-
-    /* Create the "Message enable" menu-item */
-    {
-        /* Create a new menu-item */
-        menu_items = gtk_check_menu_item_new ();
-        ui_tree_view_menu_enable[MENU_MESSAGE].menu_enable = menu_items;
-
-        /* Add it to the menu. */
-        gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-        g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_enable),
-                         &ui_tree_view_menu_enable[MENU_MESSAGE]);
-
-        /* Show the widget */
-        gtk_widget_show (menu_items);
-    }
-
-    /* Create the "Destination task enable" menu-item */
-    {
-        /* Create a new menu-item */
-        menu_items = gtk_check_menu_item_new ();
-        ui_tree_view_menu_enable[MENU_FROM_TASK].menu_enable = menu_items;
-
-        /* Add it to the menu. */
-        gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-        g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_enable),
-                         &ui_tree_view_menu_enable[MENU_FROM_TASK]);
-
-        /* Show the widget */
-        gtk_widget_show (menu_items);
-    }
-
-    /* Create the "Origin task enable" menu-item */
-    {
-        /* Create a new menu-item */
-        menu_items = gtk_check_menu_item_new ();
-        ui_tree_view_menu_enable[MENU_TO_TASK].menu_enable = menu_items;
-
-        /* Add it to the menu. */
-        gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-        g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_enable),
-                         &ui_tree_view_menu_enable[MENU_TO_TASK]);
-
-        /* Show the widget */
-        gtk_widget_show (menu_items);
-    }
-
-    /* Create the "Instance enable" menu-item */
-    {
-        /* Create a new menu-item */
-        menu_items = gtk_check_menu_item_new ();
-        ui_tree_view_menu_enable[MENU_INSTANCE].menu_enable = menu_items;
-
-        /* Add it to the menu. */
-        gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-        g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_enable),
-                         &ui_tree_view_menu_enable[MENU_INSTANCE]);
-
-        /* Show the widget */
-        gtk_widget_show (menu_items);
-    }
-
-    /* Create the "Foreground color" menu-item */
-    {
-        static ui_tree_view_menu_color_t menu_color_foreground =
-            {TRUE, &ui_tree_view_menu_enable[MENU_MESSAGE]};
-
-        /* Create a new menu-item with a name */
-        menu_items = gtk_menu_item_new_with_label ("Select message foreground color");
-
-        /* Add it to the menu. */
-        gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-        g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_color),
-                         &menu_color_foreground);
-
-        /* Show the widget */
-        gtk_widget_show (menu_items);
-    }
-
-    /* Create the "Background color" menu-item */
-    {
-        static ui_tree_view_menu_color_t menu_color_background =
-            {FALSE, &ui_tree_view_menu_enable[MENU_MESSAGE]};
-
-        /* Create a new menu-item with a name */
-        menu_items = gtk_menu_item_new_with_label ("Select message background color");
-
-        /* Add it to the menu. */
-        gtk_menu_shell_append (GTK_MENU_SHELL(*menu), menu_items);
-        g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(ui_callback_on_menu_color),
-                         &menu_color_background);
-
-        /* Show the widget */
-        gtk_widget_show (menu_items);
-    }
-}
-
-int ui_tree_view_create(GtkWidget *window, GtkWidget *vbox)
-{
-    GtkWidget *hbox;
-    GtkTreeSelection *selection;
-    GtkWidget *scrolled_window;
-
-    scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-
-    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
-
-    ui_main_data.messages_list = gtk_tree_view_new ();
-    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(ui_main_data.messages_list), TRUE);
-    gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW(ui_main_data.messages_list), ui_tree_view_search, NULL, NULL);
-    gtk_tree_view_set_search_entry (GTK_TREE_VIEW(ui_main_data.messages_list),
-                                    GTK_ENTRY(ui_main_data.signals_go_to_entry));
-
-    /* Disable multiple selection */
-    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(ui_main_data.messages_list));
-    gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
-
-    hbox = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
-
-    gtk_container_add (GTK_CONTAINER(scrolled_window), ui_main_data.messages_list);
-
-    ui_tree_view_init_list (ui_main_data.messages_list);
-    gtk_tree_view_set_headers_clickable (GTK_TREE_VIEW(ui_main_data.messages_list), TRUE);
-
-    gtk_scrolled_window_set_min_content_width (GTK_SCROLLED_WINDOW(scrolled_window), 680);
-    gtk_paned_pack1 (GTK_PANED (hbox), scrolled_window, FALSE, TRUE);
-    ui_main_data.text_view = ui_signal_dissect_new (hbox);
-
-    gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 5);
-
-    g_signal_connect(G_OBJECT(ui_main_data.messages_list), "button-press-event", G_CALLBACK (onButtonPressed), NULL);
-    // g_signal_connect(G_OBJECT(ui_main_data.signalslist), "button-release-event", G_CALLBACK (onButtonRelease), NULL);
-
-    /* Connect callback on row selection */
-    gtk_tree_selection_set_select_function (selection, ui_callback_on_select_signal, ui_main_data.text_view, NULL);
-
-    ui_store.filtered_last_msg = 0;
-    ui_store.filtered_msg_number = 0;
-    ui_store.instance_number = 0;
-
-    ui_main_data.selection = selection;
-
-    ui_tree_view_create_menu (&ui_tree_view_menu);
-
-    return 0;
-}
-
-int ui_tree_view_new_signal_ind(const uint32_t message_number, const gchar *lte_time, const uint32_t message_id,
-                                const char *message_name, const uint32_t origin_task_id, const char *origin_task_name,
-                                const uint32_t destination_task_id, const char *destination_task_name, uint32_t instance_id,
-                                gpointer buffer)
-{
-    char *instance_name = NULL;
-    char instance_name_buffer[10];
-
-    if (((instance_t) instance_id) < INSTANCE_DEFAULT)
-    {
-        if (ui_store.instance_number < (instance_id + 1))
-        {
-            int i;
-
-            for (i = ui_store.instance_number; i <= instance_id; i++)
-            {
-                sprintf (instance_name_buffer, "%d", i);
-                ui_filters_add (FILTER_INSTANCES, i, instance_name_buffer, ENTRY_ENABLED_TRUE, NULL, NULL);
-            }
-            ui_store.instance_number = (instance_id + 1);
-            ui_destroy_filter_menu (FILTER_INSTANCES);
-        }
-
-        sprintf (instance_name_buffer, "%d", instance_id);
-        instance_name = instance_name_buffer;
-    }
-    else
-    {
-        switch ((instance_t) instance_id)
-        {
-            case INSTANCE_DEFAULT:
-                instance_name = "DEF";
-                break;
-
-            case INSTANCE_ALL:
-                instance_name = "ALL";
-                break;
-
-            default:
-                break;
-        }
-
-        if ((instance_name != NULL) && (ui_filters_search_id (&ui_filters.instances, instance_id) < 0))
-        {
-            ui_filters_add (FILTER_INSTANCES, instance_id, instance_name, ENTRY_ENABLED_TRUE, NULL, NULL);
-        }
-    }
-
-    ui_tree_view_add_to_list (ui_main_data.messages_list, lte_time, message_number, message_id, message_name,
-                              origin_task_id, origin_task_name, destination_task_id, destination_task_name, instance_id, instance_name,
-                              buffer);
-
-    return RC_OK;
-}
-
-void ui_tree_view_select_row(gint row)
-{
-    GtkTreePath *path_row;
-
-    if (row >= 0)
-    {
-        path_row = gtk_tree_path_new_from_indices (row, -1);
-
-        if ((ui_main_data.messages_list != NULL) && (path_row != NULL))
-        {
-            g_info("Select row %d", row);
-
-            /* Select the message in requested row */
-            gtk_tree_view_set_cursor (GTK_TREE_VIEW(ui_main_data.messages_list), path_row, NULL, FALSE);
-            /* Center the message in the middle of the list if possible */
-            gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW(ui_main_data.messages_list), path_row, NULL, TRUE, 0.5, 0.0);
-        }
-    }
-}
-
-static gboolean updateColors(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
-    uint32_t message_id;
-    uint32_t origin_task_id;
-    uint32_t destination_task_id;
-    uint32_t instance;
-
-    gboolean enabled = FALSE;
-    int message_index;
-
-    gtk_tree_model_get (model, iter, COL_MESSAGE_ID, &message_id, COL_FROM_TASK_ID, &origin_task_id, COL_TO_TASK_ID,
-                        &destination_task_id, COL_INSTANCE_ID, &instance, -1);
-    enabled = ui_filters_message_enabled (message_id, origin_task_id, destination_task_id, instance);
-    message_index = ui_filters_search_id (&ui_filters.messages, message_id);
-
-    gtk_list_store_set (GTK_LIST_STORE(model), iter, COL_FOREGROUND,
-                        ui_filters.messages.items[message_index].foreground, COL_BACKGROUND,
-                        ui_filters.messages.items[message_index].background, COL_STRIKETHROUGH, !enabled, -1);
-
-    return FALSE;
-}
-
-void ui_tree_view_refilter()
-{
-    ui_store.filtered_last_msg = 0;
-    ui_store.filtered_msg_number = 0;
-
-    /* Update foreground color of messages, this will also update filtered model */
-    if (ui_store.store != NULL)
-    {
-        gtk_tree_model_foreach (GTK_TREE_MODEL(ui_store.store), updateColors, NULL);
-
-        if (ui_main_data.messages_list != NULL)
-        {
-            GtkTreePath *path_row;
-
-            /* Get the currently selected message */
-            gtk_tree_view_get_cursor (GTK_TREE_VIEW(ui_main_data.messages_list), &path_row, NULL);
-            if (path_row != NULL)
-            {
-                /* Center the message in the middle of the list if possible */
-                gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW(ui_main_data.messages_list), path_row, NULL, TRUE, 0.5,
-                                              0.0);
-                g_info("ui_tree_view_refilter: center on message");
-            }
-        }
-    }
-
-    g_info("ui_tree_view_refilter: last message %d, %d messages displayed", ui_store.filtered_last_msg, ui_store.filtered_msg_number);
-}
-
-typedef struct foreach_message_params_s
-{
-    message_write_callback_t   callback;
-    gboolean                    filter;
-} foreach_message_params_t;
-
-static gboolean foreach_message(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
-    foreach_message_params_t *params = (foreach_message_params_t *) data;
-    const gchar *signal_name;
-    uint32_t message_id;
-    uint32_t origin_task_id;
-    uint32_t destination_task_id;
-    uint32_t instance;
-    gpointer buffer = NULL;
-
-    gtk_tree_model_get (model, iter, COL_MESSAGE, &signal_name, COL_MESSAGE_ID, &message_id, COL_FROM_TASK_ID, &origin_task_id, COL_TO_TASK_ID,
-                        &destination_task_id, COL_INSTANCE_ID, &instance, COL_BUFFER, &buffer, -1);
-
-    if (params->filter == TRUE)
-    {
-        gboolean enabled = FALSE;
-
-        enabled = ui_filters_message_enabled (message_id, origin_task_id, destination_task_id, instance);
-        if (enabled == FALSE)
-        {
-            buffer = NULL;
-        }
-    }
-
-    if (buffer != NULL)
-    {
-        params->callback(buffer, signal_name);
-    }
-
-    return FALSE;
-}
-
-void ui_tree_view_foreach_message(message_write_callback_t callback, gboolean filter)
-{
-    foreach_message_params_t params = {callback, filter};
-
-    gtk_tree_model_foreach (GTK_TREE_MODEL(ui_store.store), foreach_message, (void *) &params);
-}
-
-guint ui_tree_view_get_filtered_number(void)
-{
-    return ui_store.filtered_msg_number;
-}
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.h b/common/utils/itti_analyzer/libui/ui_tree_view.h
deleted file mode 100644
index 88ab2fce71ba799613ba62ae6463569d77744e2d..0000000000000000000000000000000000000000
--- a/common/utils/itti_analyzer/libui/ui_tree_view.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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
- */
-
-#ifndef UI_TREE_VIEW_H_
-#define UI_TREE_VIEW_H_
-
-#include "ui_filters.h"
-#include "ui_notifications.h"
-
-typedef enum col_type_e
-{
-    COL_MSG_NUM = 0,
-    COL_LTE_TIME,
-    COL_MESSAGE,
-    COL_FROM_TASK,
-    COL_TO_TASK,
-    COL_INSTANCE,
-
-    COL_MESSAGE_ID,
-    COL_FROM_TASK_ID,
-    COL_TO_TASK_ID,
-    COL_INSTANCE_ID,
-    COL_FOREGROUND,
-    COL_BACKGROUND,
-    COL_STRIKETHROUGH,
-    COL_STYLE,
-    COL_WEIGHT,
-    COL_UNDERLINE,
-
-    COL_BUFFER,
-    NUM_COLS
-} col_type_t;
-
-typedef enum ui_tree_view_menu_type_e
-{
-    MENU_MESSAGE = 0,
-    MENU_FROM_TASK,
-    MENU_TO_TASK,
-    MENU_INSTANCE,
-    NUM_MENU_TYPE,
-} ui_tree_view_menu_type_t;
-
-typedef struct ui_tree_view_menu_enable_s
-{
-    GtkWidget *menu_enable;
-    ui_filter_item_t *filter_item;
-} ui_tree_view_menu_enable_t;
-
-typedef struct ui_tree_view_menu_color_s
-{
-    gboolean foreground;
-    ui_tree_view_menu_enable_t *menu_enable;
-} ui_tree_view_menu_color_t;
-
-extern GtkWidget *ui_tree_view_menu;
-extern ui_tree_view_menu_enable_t ui_tree_view_menu_enable[NUM_MENU_TYPE];
-
-extern GdkEventButton *ui_tree_view_last_event;
-
-int ui_tree_view_create(GtkWidget *window, GtkWidget *vbox);
-
-int ui_tree_view_new_signal_ind(const uint32_t message_number, const gchar *lte_time,
-                                const uint32_t message_id, const char *message_name,
-                                const uint32_t origin_task_id, const char *origin_task,
-                                const uint32_t destination_task_id, const char *to_task,
-                                uint32_t instance, gpointer buffer);
-
-void ui_tree_view_destroy_list(GtkWidget *list);
-
-void ui_tree_view_select_row(gint row);
-
-void ui_tree_view_refilter(void);
-
-void ui_tree_view_foreach_message(message_write_callback_t callback, gboolean filter);
-
-guint ui_tree_view_get_filtered_number(void);
-
-#endif /* UI_TREE_VIEW_H_ */
diff --git a/common/utils/msc/msc.c b/common/utils/msc/msc.c
index ae87a8e3266f662f5851824aa2e4523488a844d7..7cc5f79f90ef18e07dde08b626c2d3f8d50d4515 100644
--- a/common/utils/msc/msc.c
+++ b/common/utils/msc/msc.c
@@ -88,7 +88,7 @@ void *msc_task(void *args_p)
 
     if (received_message_p != NULL) {
       //      msg_name = ITTI_MSG_NAME (received_message_p);
-      //      instance = ITTI_MSG_INSTANCE (received_message_p);
+      //      instance = ITTI_MSG_DESTINATION_INSTANCE (received_message_p);
       switch (ITTI_MSG_ID(received_message_p)) {
         case TIMER_HAS_EXPIRED: {
           msc_flush_messages();
diff --git a/common/utils/ocp_itti/intertask_interface.cpp b/common/utils/ocp_itti/intertask_interface.cpp
index e81851c27341a20f0ebec1fae6b6e53f40b252e3..d66ea027c99253f8c7918ecdd67555144462ee74 100644
--- a/common/utils/ocp_itti/intertask_interface.cpp
+++ b/common/utils/ocp_itti/intertask_interface.cpp
@@ -30,30 +30,32 @@ extern "C" {
 #include <intertask_interface.h>
 #include <common/utils/system.h>
 
-typedef struct timer_elm_s {
-  timer_type_t type;     ///< Timer type
-  long instance;
-  long duration;
-  uint64_t timeout;
-  void *timer_arg; ///< Optional argument that will be passed when timer expires
-} timer_elm_t ;
-
-typedef struct task_list_s {
-  task_info_t admin;
-  pthread_t thread;
-  pthread_mutex_t queue_cond_lock;
-  std::vector<MessageDef *> message_queue;
-  std::map<long,timer_elm_t> timer_map;
-  uint64_t next_timer=UINT64_MAX;
-  struct epoll_event  *events =NULL;
-  int nb_fd_epoll=0;
-  int nb_events=0;
-  int epoll_fd=-1;
-  int sem_fd=-1;
-} task_list_t;
-
-int timer_expired(int fd);
-task_list_t tasks[TASK_MAX];
+  typedef struct timer_elm_s {
+    timer_type_t type;     ///< Timer type
+    long instance;
+    long duration;
+    uint64_t timeout;
+    void *timer_arg; ///< Optional argument that will be passed when timer expires
+  } timer_elm_t ;
+
+  typedef struct task_list_s {
+    task_info_t admin;
+    pthread_t thread;
+    pthread_mutex_t queue_cond_lock;
+    std::vector<MessageDef *> message_queue;
+    std::map<long,timer_elm_t> timer_map;
+    uint64_t next_timer=UINT64_MAX;
+    struct epoll_event  *events =NULL;
+    int nb_fd_epoll=0;
+    int nb_events=0;
+    int epoll_fd=-1;
+    int sem_fd=-1;
+  } task_list_t;
+
+  int timer_expired(int fd);
+  task_list_t *tasks;
+  static int nb_queues=0;
+  static pthread_mutex_t lock_nb_queues;
 
   void *pool_buffer_init (void) {
     return 0;
@@ -99,7 +101,7 @@ task_list_t tasks[TASK_MAX];
   // #define S1AP_REGISTER_ENB_REQ(mSGpTR)           (mSGpTR)->ittiMsg.s1ap_register_enb_req
   // would become
   // #define S1AP_REGISTER_ENB_REQ(mSGpTR)           (s1ap_register_enb_req) mSGpTR)->ittiMsg
-  MessageDef *itti_alloc_new_message_sized(task_id_t origin_task_id, MessagesIds message_id, MessageHeaderSize size) {
+  MessageDef *itti_alloc_new_message_sized(task_id_t origin_task_id, instance_t originInstance, MessagesIds message_id, MessageHeaderSize size) {
     MessageDef *temp = (MessageDef *)itti_malloc (origin_task_id, TASK_UNKNOWN, sizeof(MessageHeader) +32 + size);
     temp->ittiMsgHeader.messageId = message_id;
     temp->ittiMsgHeader.originTaskId = origin_task_id;
@@ -107,23 +109,24 @@ task_list_t tasks[TASK_MAX];
     return temp;
   }
 
-  MessageDef *itti_alloc_new_message(task_id_t origin_task_id, MessagesIds message_id) {
+  MessageDef *itti_alloc_new_message(task_id_t origin_task_id, instance_t originInstance, MessagesIds message_id) {
     int size=sizeof(MessageHeader) + 32 + messages_info[message_id].size;
     MessageDef *temp = (MessageDef *)itti_malloc (origin_task_id, TASK_UNKNOWN, size);
     temp->ittiMsgHeader.messageId = message_id;
     temp->ittiMsgHeader.originTaskId = origin_task_id;
     temp->ittiMsgHeader.ittiMsgSize = size;
     temp->ittiMsgHeader.destinationTaskId=TASK_UNKNOWN;
-    temp->ittiMsgHeader.instance=0;
-    temp->ittiMsgHeader.lte_time={0};
+    temp->ittiMsgHeader.originInstance=originInstance;
+    temp->ittiMsgHeader.destinationInstance=0;
+    temp->ittiMsgHeader.lte_time= {0};
     return temp;
     //return itti_alloc_new_message_sized(origin_task_id, message_id, messages_info[message_id].size);
   }
 
-  static inline int itti_send_msg_to_task_locked(task_id_t destination_task_id, instance_t instance, MessageDef *message) {
+  static inline int itti_send_msg_to_task_locked(task_id_t destination_task_id, instance_t destinationInstance, MessageDef *message) {
     task_list_t *t=tasks+destination_task_id;
     message->ittiMsgHeader.destinationTaskId = destination_task_id;
-    message->ittiMsgHeader.instance = instance;
+    message->ittiMsgHeader.destinationInstance = destinationInstance;
     message->ittiMsgHeader.lte_time.frame = 0;
     message->ittiMsgHeader.lte_time.slot = 0;
     int message_id = message->ittiMsgHeader.messageId;
@@ -142,18 +145,20 @@ task_list_t tasks[TASK_MAX];
     return 0;
   }
 
-  int itti_send_msg_to_task(task_id_t destination_task_id, instance_t instance, MessageDef *message) {
+  int itti_send_msg_to_task(task_id_t destination_task_id, instance_t destinationInstance, MessageDef *message) {
     task_list_t *t=&tasks[destination_task_id];
     pthread_mutex_lock (&t->queue_cond_lock);
-    int ret=itti_send_msg_to_task_locked(destination_task_id, instance, message);
+    int ret=itti_send_msg_to_task_locked(destination_task_id, destinationInstance, message);
 
     while ( t->message_queue.size()>0 && t->admin.func != NULL ) {
       if (t->message_queue.size()>1)
-	LOG_W(TMR,"queue in no thread mode is %ld\n", t->message_queue.size());
+        LOG_W(TMR,"queue in no thread mode is %ld\n", t->message_queue.size());
+
       pthread_mutex_unlock (&t->queue_cond_lock);
       t->admin.func(NULL);
       pthread_mutex_lock (&t->queue_cond_lock);
     }
+
     pthread_mutex_unlock (&t->queue_cond_lock);
     return ret;
   }
@@ -194,10 +199,11 @@ task_list_t tasks[TASK_MAX];
           t->next_timer=UINT64_MAX;
 
           // Proceed expired timer
-          for ( auto it=t->timer_map.begin() , next_it = it; it != t->timer_map.end() ; it = next_it ) {
+          for ( auto it=t->timer_map.begin(), next_it = it; it != t->timer_map.end() ; it = next_it ) {
             ++next_it;
+
             if ( it->second.timeout < current_time ) {
-              MessageDef *message = itti_alloc_new_message(TASK_TIMER, TIMER_HAS_EXPIRED);
+              MessageDef *message = itti_alloc_new_message(TASK_TIMER, it->second.instance,TIMER_HAS_EXPIRED);
               message->ittiMsg.timer_has_expired.timer_id=it->first;
               message->ittiMsg.timer_has_expired.arg=it->second.timer_arg;
 
@@ -229,8 +235,9 @@ task_list_t tasks[TASK_MAX];
       pthread_mutex_unlock(&t->queue_cond_lock);
       LOG_D(TMR,"enter blocking wait for %s\n", itti_get_task_name(task_id));
       t->nb_events = epoll_wait(t->epoll_fd,t->events,t->nb_fd_epoll, epoll_timeout);
+
       if ( t->nb_events  < 0 && (errno == EINTR || errno == EAGAIN ) )
-	pthread_mutex_lock(&t->queue_cond_lock);
+        pthread_mutex_lock(&t->queue_cond_lock);
     } while (t->nb_events  < 0 && (errno == EINTR || errno == EAGAIN ) );
 
     AssertFatal (t->nb_events >=0,
@@ -295,8 +302,7 @@ task_list_t tasks[TASK_MAX];
     pthread_mutex_unlock (&t->queue_cond_lock);
   }
 
-  void itti_poll_msg(task_id_t task_id, MessageDef **received_msg)
-  {
+  void itti_poll_msg(task_id_t task_id, MessageDef **received_msg) {
     //reception of one message, non-blocking
     task_list_t *t=&tasks[task_id];
     pthread_mutex_lock(&t->queue_cond_lock);
@@ -312,11 +318,10 @@ task_list_t tasks[TASK_MAX];
   }
 
   int itti_create_task(task_id_t task_id,
-		               void *(*start_routine)(void *),
-					   void *args_p)
-  {
+                       void *(*start_routine)(void *),
+                       void *args_p) {
     task_list_t *t=&tasks[task_id];
-    threadCreate (&t->thread, start_routine, args_p, (char*)itti_get_task_name(task_id),-1,OAI_PRIORITY_RT);
+    threadCreate (&t->thread, start_routine, args_p, (char *)itti_get_task_name(task_id),-1,OAI_PRIORITY_RT);
     LOG_I(TMR,"Created Posix thread %s\n",  itti_get_task_name(task_id) );
     return 0;
   }
@@ -325,31 +330,38 @@ task_list_t tasks[TASK_MAX];
     pthread_exit (NULL);
   }
 
-  void itti_terminate_tasks(task_id_t task_id)
-  {
+  void itti_terminate_tasks(task_id_t task_id) {
     // Sends Terminate signals to all tasks.
     itti_send_terminate_message (task_id);
     usleep(100*1000); // Allow the tasks to receive the message before going returning to main thread
   }
 
+  void itti_create_queue(const task_info_t *task_info) {
+    pthread_mutex_lock (&lock_nb_queues);
+    int newQueue=nb_queues;
+    nb_queues++;
+    AssertFatal(reallocarray(tasks, nb_queues, sizeof(*tasks)),"no memory");
+    pthread_mutex_unlock (&lock_nb_queues);
+    LOG_I(TMR,"Starting itti queue: %s as task %d\n", tasks_info->name, newQueue);
+    pthread_mutex_init(&tasks[newQueue].queue_cond_lock, NULL);
+    memcpy(&tasks[newQueue].admin, tasks_info, sizeof(task_info_t));
+    AssertFatal( ( tasks[newQueue].epoll_fd = epoll_create1(0) ) >=0, "");
+    AssertFatal( ( tasks[newQueue].sem_fd = eventfd(0, EFD_SEMAPHORE) ) >=0, "");
+    itti_subscribe_event_fd((task_id_t)newQueue, tasks[newQueue].sem_fd);
+
+    if (tasks[newQueue].admin.threadFunc != NULL)
+      itti_create_task((task_id_t)newQueue, tasks[newQueue].admin.threadFunc, NULL);
+  }
+
   int itti_init(task_id_t task_max,
-		        thread_id_t thread_max,
-				MessagesIds messages_id_max,
-				const task_info_t *tasks_info,
-                const message_info_t *messages_info)
-  {
-    AssertFatal(TASK_MAX<UINT16_MAX, "Max itti tasks");
+                MessagesIds messages_id_max,
+                const task_info_t *tasks_info,
+                const message_info_t *messages_info) {
+    pthread_mutex_init(&lock_nb_queues, NULL);
+    nb_queues=0;
 
     for(int i=0; i<task_max; ++i) {
-      LOG_I(TMR,"Starting itti queue: %s as task %d\n", tasks_info[i].name, i);
-      pthread_mutex_init(&tasks[i].queue_cond_lock, NULL);
-      memcpy(&tasks[i].admin, &tasks_info[i], sizeof(task_info_t));
-      AssertFatal( ( tasks[i].epoll_fd = epoll_create1(0) ) >=0, "");
-      AssertFatal( ( tasks[i].sem_fd = eventfd(0, EFD_SEMAPHORE) ) >=0, "");
-      itti_subscribe_event_fd((task_id_t)i, tasks[i].sem_fd);
-
-      if (tasks[i].admin.threadFunc != NULL)
-        itti_create_task((task_id_t)i, tasks[i].admin.threadFunc, NULL);
+      itti_create_queue(&tasks_info[i]);
     }
 
     return 0;
@@ -359,11 +371,10 @@ task_list_t tasks[TASK_MAX];
     uint32_t      interval_sec,
     uint32_t      interval_us,
     task_id_t     task_id,
-    int32_t       instance,
+    instance_t       instance,
     timer_type_t  type,
     void         *timer_arg,
-    long         *timer_id)
-  {
+    long         *timer_id) {
     task_list_t *t=&tasks[task_id];
 
     do {
@@ -397,8 +408,7 @@ task_list_t tasks[TASK_MAX];
     return 0;
   }
 
-  int timer_remove(long timer_id)
-  {
+  int timer_remove(long timer_id) {
     task_id_t task_id=(task_id_t)(timer_id&0xffff);
     int ret;
     pthread_mutex_lock (&tasks[task_id].queue_cond_lock);
@@ -439,5 +449,7 @@ task_list_t tasks[TASK_MAX];
   void itti_wait_ready(int wait_tasks) {
     // Stupid function, kept for compatibility (the parameter is meaningless!!!)
   }
-  int signal_mask(void) { return 0;}
+  int signal_mask(void) {
+    return 0;
+  }
 }
diff --git a/common/utils/ocp_itti/intertask_interface.h b/common/utils/ocp_itti/intertask_interface.h
index a40660eb9e78a02ef0b4d671105c9edbecef0d14..53d76b7a77106a318c41c2845097dc477ba8710a 100644
--- a/common/utils/ocp_itti/intertask_interface.h
+++ b/common/utils/ocp_itti/intertask_interface.h
@@ -45,7 +45,7 @@ typedef struct {
   uint32_t      interval_sec;
   uint32_t      interval_us;
   long          task_id;
-  int32_t       instance;
+  instance_t       instance;
   timer_type_t  type;
   void         *timer_arg;
   long          timer_id;
@@ -403,7 +403,8 @@ typedef struct MessageHeader_s {
   MessagesIds messageId;          /**< Unique message id as referenced in enum MessagesIds */
   task_id_t  originTaskId;        /**< ID of the sender task */
   task_id_t  destinationTaskId;   /**< ID of the destination task */
-  instance_t instance;            /**< Task instance for virtualization */
+  instance_t originInstance;            
+  instance_t destinationInstance;            
   itti_lte_time_t lte_time;
   MessageHeaderSize ittiMsgSize;         /**< Message size (not including header size) */
 } MessageHeader;
@@ -433,11 +434,11 @@ typedef struct MessageDef_s {
 
 
 /* Extract the instance from a message */
-#define ITTI_MESSAGE_GET_INSTANCE(mESSAGE)  ((mESSAGE)->ittiMsgHeader.instance)
 #define ITTI_MSG_ID(mSGpTR)                 ((mSGpTR)->ittiMsgHeader.messageId)
 #define ITTI_MSG_ORIGIN_ID(mSGpTR)          ((mSGpTR)->ittiMsgHeader.originTaskId)
 #define ITTI_MSG_DESTINATION_ID(mSGpTR)     ((mSGpTR)->ittiMsgHeader.destinationTaskId)
-#define ITTI_MSG_INSTANCE(mSGpTR)           ((mSGpTR)->ittiMsgHeader.instance)
+#define ITTI_MSG_ORIGIN_INSTANCE(mSGpTR)           ((mSGpTR)->ittiMsgHeader.originInstance)
+#define ITTI_MSG_DESTINATION_INSTANCE(mSGpTR)           ((mSGpTR)->ittiMsgHeader.destinationInstance)
 #define ITTI_MSG_NAME(mSGpTR)               itti_get_message_name(ITTI_MSG_ID(mSGpTR))
 #define ITTI_MSG_ORIGIN_NAME(mSGpTR)        itti_get_task_name(ITTI_MSG_ORIGIN_ID(mSGpTR))
 #define ITTI_MSG_DESTINATION_NAME(mSGpTR)   itti_get_task_name(ITTI_MSG_DESTINATION_ID(mSGpTR))
@@ -530,6 +531,7 @@ const char *itti_get_task_name(task_id_t task_id);
  **/
 MessageDef *itti_alloc_new_message(
   task_id_t         origin_task_id,
+  instance_t originInstance,
   MessagesIds       message_id);
 
 /** \brief Alloc and memset(0) a new itti message.
@@ -540,6 +542,7 @@ MessageDef *itti_alloc_new_message(
  **/
 MessageDef *itti_alloc_new_message_sized(
   task_id_t         origin_task_id,
+  instance_t originInstance,
   MessagesIds       message_id,
   MessageHeaderSize size);
 
@@ -547,7 +550,7 @@ MessageDef *itti_alloc_new_message_sized(
    This function should be called from the main thread after having created all ITTI tasks.
  **/
 void itti_wait_tasks_end(void);
-#define  THREAD_MAX 0 //for compatibility
+#define  ADDED_QUEUES_MAX 10 // Fix me: MSC component too hard to understand, we keep room for 10 queues created dynamically
 void itti_set_task_real_time(task_id_t task_id);
 
 /** \brief Send a termination message to all tasks.
@@ -561,13 +564,13 @@ void *malloc_or_fail(size_t size);
 int memory_read(const char *datafile, void *data, size_t size);
 int itti_free(task_id_t task_id, void *ptr);
 
-int itti_init(task_id_t task_max, thread_id_t thread_max, MessagesIds messages_id_max, const task_info_t *tasks_info,
+int itti_init(task_id_t task_max, MessagesIds messages_id_max, const task_info_t *tasks_info,
               const message_info_t *messages_info);
 int timer_setup(
   uint32_t      interval_sec,
   uint32_t      interval_us,
   task_id_t     task_id,
-  int32_t       instance,
+  instance_t       instance,
   timer_type_t  type,
   void         *timer_arg,
   long         *timer_id);
diff --git a/executables/main-ocp.c b/executables/main-ocp.c
index 6e5857d6d1666b6e6e9e0c043f4adc29571afb81..f464bbd7bc7bb635682061657937afbdb1d84763 100644
--- a/executables/main-ocp.c
+++ b/executables/main-ocp.c
@@ -1056,7 +1056,7 @@ void terminate_task(module_id_t mod_id, task_id_t from, task_id_t to) {
   LOG_I(ENB_APP, "sending TERMINATE_MESSAGE from task %s (%d) to task %s (%d)\n",
         itti_get_task_name(from), from, itti_get_task_name(to), to);
   MessageDef *msg;
-  msg = itti_alloc_new_message (from, TERMINATE_MESSAGE);
+  msg = itti_alloc_new_message (from, 0, TERMINATE_MESSAGE);
   itti_send_msg_to_task (to, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg);
 }
 
@@ -1107,7 +1107,7 @@ int restart_L1L2(module_id_t enb_id) {
   itti_mark_task_ready(TASK_RRC_ENB);
   /* pass a reconfiguration request which will configure everything down to
    * RC.eNB[i][j]->frame_parms, too */
-  msg_p = itti_alloc_new_message(TASK_ENB_APP, RRC_CONFIGURATION_REQ);
+  msg_p = itti_alloc_new_message(TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
   RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[enb_id]->configuration;
   itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
   init_eNB_afterRU();
@@ -1141,7 +1141,7 @@ int main ( int argc, char **argv ) {
   if (opp_enabled ==1)
     reset_opp_meas();
 
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
   init_opt();
 #ifndef PACKAGE_VERSION
 #  define PACKAGE_VERSION "UNKNOWN-EXPERIMENTAL"
@@ -1196,7 +1196,7 @@ int main ( int argc, char **argv ) {
     AssertFatal(create_tasks(1)==0,"cannot create ITTI tasks\n");
 
     for (int enb_id = 0; enb_id < RC.nb_inst; enb_id++) {
-      MessageDef *msg_p = itti_alloc_new_message (TASK_ENB_APP, RRC_CONFIGURATION_REQ);
+      MessageDef *msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
       RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[enb_id]->configuration;
       itti_send_msg_to_task (TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
     }
diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c
index fb757a9f47cab8e3ff6965276a1392e0ee0124b3..c3bfd09eb09c0a7e557d4a932937b534c4ba5a63 100644
--- a/executables/nr-softmodem.c
+++ b/executables/nr-softmodem.c
@@ -679,7 +679,7 @@ void wait_gNBs(void) {
 void terminate_task(task_id_t task_id, module_id_t mod_id) {
   LOG_I(GNB_APP, "sending TERMINATE_MESSAGE to task %s (%d)\n", itti_get_task_name(task_id), task_id);
   MessageDef *msg;
-  msg = itti_alloc_new_message (ENB_APP, TERMINATE_MESSAGE);
+  msg = itti_alloc_new_message (ENB_APP, 0, TERMINATE_MESSAGE);
   itti_send_msg_to_task (task_id, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg);
 }
 
@@ -762,7 +762,7 @@ int restart_L1L2(module_id_t gnb_id) {
 
   /* pass a reconfiguration request which will configure everything down to
    * RC.eNB[i][j]->frame_parms, too */
-  msg_p = itti_alloc_new_message(TASK_ENB_APP, RRC_CONFIGURATION_REQ);
+  msg_p = itti_alloc_new_message(TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
   RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[gnb_id]->configuration;
   itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(gnb_id), msg_p);
   /* TODO XForms might need to be restarted, but it is currently (09/02/18)
@@ -863,9 +863,9 @@ int main( int argc, char **argv )
   }
 
   cpuf=get_cpu_freq_GHz();
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
   // initialize mscgen log after ITTI
-  MSC_INIT(MSC_E_UTRAN, THREAD_MAX+TASK_MAX);
+  MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
 
 
   init_opt();
diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c
index 1d3288862dde71422c638a83624058b16f0cd50a..e25b10386054ec413130e60fd1c4159b5a434222 100644
--- a/executables/nr-uesoftmodem.c
+++ b/executables/nr-uesoftmodem.c
@@ -514,7 +514,7 @@ int main( int argc, char **argv ) {
   initTpool(params_dl, Tpool_dl, false);
 #endif
   cpuf=get_cpu_freq_GHz();
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
 
   init_opt() ;
   load_nrLDPClib();
diff --git a/executables/ocp-gnb.c b/executables/ocp-gnb.c
index 67f68f43e3d3d8210e8af1f4b4f4369e9d22591c..ff8d8840e94f1f872b3349901e4d9f6598a9fc8b 100644
--- a/executables/ocp-gnb.c
+++ b/executables/ocp-gnb.c
@@ -348,9 +348,9 @@ void init_main_gNB(void) {
   LOG_I(PHY, "%s() RC.nb_nr_inst:%d RC.nrrrc:%p\n", __FUNCTION__, RC.nb_nr_inst, RC.nrrrc);
   int gnb_id=0; // only 1 gnb per process, index 0 for now
   RC.nrrrc[gnb_id] = (gNB_RRC_INST *)calloc(sizeof(gNB_RRC_INST),1);
-  MessageDef *msg_p = itti_alloc_new_message (TASK_GNB_APP, NRRRC_CONFIGURATION_REQ);
+  MessageDef *msg_p = itti_alloc_new_message (TASK_GNB_APP, 0, NRRRC_CONFIGURATION_REQ);
   RCconfig_NRRRC(msg_p,gnb_id, RC.nrrrc[gnb_id]);
-  openair_rrc_gNB_configuration(GNB_INSTANCE_TO_MODULE_ID(ITTI_MSG_INSTANCE(msg_p)), &NRRRC_CONFIGURATION_REQ(msg_p));
+  openair_rrc_gNB_configuration(GNB_INSTANCE_TO_MODULE_ID(ITTI_MSG_DESTINATION_INSTANCE(msg_p)), &NRRRC_CONFIGURATION_REQ(msg_p));
   //AssertFatal(itti_create_task(TASK_GNB_APP, gNB_app_task, NULL) >= 0, "");
   AssertFatal(itti_create_task(TASK_RRC_GNB, rrc_gnb_task, NULL) >= 0, "");
   //AssertFatal(itti_create_task(TASK_X2AP, x2ap_task, NULL) >= 0, "");
@@ -928,7 +928,7 @@ int main( int argc, char **argv ) {
   get_common_options(SOFTMODEM_GNB_BIT );
   AssertFatal(!CONFIG_ISFLAGSET(CONFIG_ABORT),"Getting configuration failed\n");
   cpuf=get_cpu_freq_GHz();
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
   set_taus_seed (0);
   init_opt();
   init_pdcp();
diff --git a/openair1/SCHED_UE/phy_procedures_lte_ue.c b/openair1/SCHED_UE/phy_procedures_lte_ue.c
index 3215718f8ec4805c5c9d4371e90c09a5086ad662..5f8269c513d0608f86f39e8a246f165150cd45aa 100644
--- a/openair1/SCHED_UE/phy_procedures_lte_ue.c
+++ b/openair1/SCHED_UE/phy_procedures_lte_ue.c
@@ -4948,7 +4948,7 @@ void phy_procedures_UE_lte(PHY_VARS_UE *ue,
           break;
 
         default:
-          LOG_E(PHY, "[UE %d] Received unexpected message %s\n", ITTI_MSG_INSTANCE (msg_p), ITTI_MSG_NAME (msg_p));
+          LOG_E(PHY, "[UE %ld] Received unexpected message %s\n", ITTI_MSG_DESTINATION_INSTANCE (msg_p), ITTI_MSG_NAME (msg_p));
           break;
       }
 
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index d3f55785c9f7e9940b70c6d46dc99d1c3bfc009b..87489353d332daf7f37421143899344ecc1b48b6 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -905,7 +905,7 @@ int main(int argc, char **argv) {
   // 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
-  //itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
+  //itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
   T_stdout = 1;
 
   if (common_flag == 0) {
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
index 2176e272c8a5483c3e4ed8b2b046ba8e21ee375d..8a646bb9d53e6699ac4823346df63462d740f32b 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
@@ -689,7 +689,7 @@ int main(int argc, char **argv)
   // 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
-  //itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
+  //itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
 
   if (common_flag == 0) {
     switch (N_RB_DL) {
diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c
index 5073be24f5f3f73d8fc1667eb53342bcf7e13cba..8a2f10df3e62e93d8405ff31b68ad0aaddfb5628 100644
--- a/openair1/SIMULATION/LTE_PHY/mbmssim.c
+++ b/openair1/SIMULATION/LTE_PHY/mbmssim.c
@@ -997,7 +997,7 @@ int main(int argc, char **argv) {
   // 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
-  //itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
+  //itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
 
   if (common_flag == 0) {
     switch (N_RB_DL) {
diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c
index a58f844945706b37c30457494964734f55540502..396fce7a9105864c79e2f7d61c8aca8e9b2f9e87 100644
--- a/openair1/SIMULATION/LTE_PHY/pucchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pucchsim.c
@@ -283,7 +283,7 @@ int main(int argc, char **argv) {
   }
 
   logInit();
-  //itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
+  //itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
   g_log->log_component[PHY].level = LOG_DEBUG;
   g_log->log_component[PHY].flag = LOG_HIGH;
 
diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c
index 0443cde7381b0416113e34ff5f2b5a41b4ff602b..344425fa627007d6f22aea123aaa752ac753e606 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsim.c
+++ b/openair1/SIMULATION/LTE_PHY/ulsim.c
@@ -409,7 +409,7 @@ int main(int argc, char **argv) {
   // enable these lines if you need debug info
   // however itti will catch all signals, so ctrl-c won't work anymore
   // alternatively you can disable ITTI completely in CMakeLists.txt
-  //  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
+  //  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
   //  set_comp_log(PHY,LOG_DEBUG,LOG_HIGH,1);
   //  set_glog(LOG_DEBUG,LOG_HIGH);
   //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
diff --git a/openair2/COMMON/platform_types.h b/openair2/COMMON/platform_types.h
index 75e5b99222fd2e7bf04c6fe81613bf582e9ac405..12d90a3d065bbe3eec2f38a3bbf7e243823d15a6 100644
--- a/openair2/COMMON/platform_types.h
+++ b/openair2/COMMON/platform_types.h
@@ -229,9 +229,7 @@ typedef uint8_t            ebi_t;  // eps bearer id
 //
 //-----------------------------------------------------------------------------
 // may be ITTI not enabled, but type instance is useful also for OTG,
-#if !defined(instance_t)
-  typedef uint16_t instance_t;
-#endif
+typedef int64_t instance_t;
 typedef struct protocol_ctxt_s {
   module_id_t module_id;     /*!< \brief  Virtualized module identifier      */
   eNB_flag_t  enb_flag;      /*!< \brief  Flag to indicate eNB (1) or UE (0) */
@@ -292,7 +290,8 @@ typedef struct protocol_ctxt_s {
   (Ctxt_Pp)->subframe  = sUBfRAME; \
   PROTOCOL_CTXT_COMPUTE_MODULE_ID(Ctxt_Pp)
 
-#define PROTOCOL_CTXT_FMT "[FRAME %05u][%s][MOD %02u][RNTI %" PRIx16 "]"
+#define PROTOCOL_CTXT_FMT "[FRAME %05u][%s][MOD %02d][RNTI %" PRIx16 "]"
+#define PROTOCOL_CTXT_FMTL "[FRAME %05u][%s][MOD %08ld][RNTI %" PRIx16 "]"
 #define PROTOCOL_CTXT_ARGS(CTXT_Pp) \
   (CTXT_Pp)->frame, \
   ((CTXT_Pp)->enb_flag == ENB_FLAG_YES) ? "eNB":" UE", \
diff --git a/openair2/ENB_APP/enb_app.c b/openair2/ENB_APP/enb_app.c
index 1d001022d21078f94f702327cb73fc5964c4b74f..5080157c3f77f4d3cd9fcd206b58a894c8b9f2f8 100644
--- a/openair2/ENB_APP/enb_app.c
+++ b/openair2/ENB_APP/enb_app.c
@@ -70,7 +70,7 @@ extern RAN_CONTEXT_t RC;
 //  for (enb_id = enb_id_start; (enb_id < enb_id_end) ; enb_id++) {
 //    {
 //
-//        //msg_p = itti_alloc_new_message (TASK_ENB_APP, S1AP_REGISTER_ENB_REQ);
+//        //msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, S1AP_REGISTER_ENB_REQ);
 //        //RCconfig_S1(msg_p, enb_id);
 //
 //        if (enb_id == 0) RCconfig_gtpu();
@@ -93,14 +93,14 @@ static uint32_t eNB_app_register_m2(uint32_t enb_id_start, uint32_t enb_id_end)
   MessageDef      *msg_p;
   uint32_t         register_enb_m2_pending = 0;
 
-//  msg_p = itti_alloc_new_message (TASK_ENB_APP,MESSAGE_TEST );
+//  msg_p = itti_alloc_new_message (TASK_ENB_APP, 0,MESSAGE_TEST );
 //  itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
 
   LOG_D(ENB_APP,"Register ...\n");
 
   for (enb_id = enb_id_start; (enb_id < enb_id_end) ; enb_id++) {
     {
-      msg_p = itti_alloc_new_message (TASK_ENB_APP, M2AP_REGISTER_ENB_REQ);
+      msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, M2AP_REGISTER_ENB_REQ);
       RCconfig_M2(msg_p, enb_id);
       itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
       register_enb_m2_pending++;
@@ -115,28 +115,28 @@ static uint32_t eNB_app_register_m2(uint32_t enb_id_start, uint32_t enb_id_end)
 static uint32_t eNB_app_handle_m2ap_mbms_scheduling_information(instance_t instance){
         //uint32_t         mce_id=0;
         MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_ENB_APP, M2AP_MBMS_SCHEDULING_INFORMATION_RESP);
+        msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, M2AP_MBMS_SCHEDULING_INFORMATION_RESP);
         itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
         return 0;
 }
 static uint32_t eNB_app_handle_m2ap_mbms_session_start_req(instance_t instance){
         //uint32_t         mce_id=0;
         MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_ENB_APP, M2AP_MBMS_SESSION_START_RESP);
+        msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, M2AP_MBMS_SESSION_START_RESP);
         itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
         return 0;
 }
 static uint32_t eNB_app_handle_m2ap_mbms_session_stop_req(instance_t instance){
         //uint32_t         mce_id=0;
         MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_ENB_APP, M2AP_MBMS_SESSION_STOP_RESP);
+        msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, M2AP_MBMS_SESSION_STOP_RESP);
         itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
         return 0;
 }
 static uint32_t eNB_app_handle_m2ap_mbms_session_update_req(instance_t instance){
         //uint32_t         mce_id=0;
         MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_ENB_APP, M2AP_MBMS_SESSION_UPDATE_RESP);
+        msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, M2AP_MBMS_SESSION_UPDATE_RESP);
         itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
         return 0;
 }
@@ -155,7 +155,7 @@ static uint32_t eNB_app_register(ngran_node_t node_type,uint32_t enb_id_start, u
       if (NODE_IS_DU(node_type)) { // F1AP registration
         // configure F1AP here for F1C
         LOG_I(ENB_APP,"ngran_eNB_DU: Allocating ITTI message for F1AP_SETUP_REQ\n");
-        msg_p = itti_alloc_new_message (TASK_ENB_APP, F1AP_SETUP_REQ);
+        msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, F1AP_SETUP_REQ);
         RCconfig_DU_F1(msg_p, enb_id);
 
         LOG_I(ENB_APP,"[eNB %d] eNB_app_register via F1AP for instance %d\n", enb_id, ENB_MODULE_ID_TO_INSTANCE(enb_id));
@@ -164,7 +164,7 @@ static uint32_t eNB_app_register(ngran_node_t node_type,uint32_t enb_id_start, u
       }
       else { // S1AP registration
         /* note:  there is an implicit relationship between the data structure and the message name */
-        msg_p = itti_alloc_new_message (TASK_ENB_APP, S1AP_REGISTER_ENB_REQ);
+        msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, S1AP_REGISTER_ENB_REQ);
         RCconfig_S1(msg_p, enb_id);
 
         if (enb_id == 0) RCconfig_gtpu();
@@ -191,7 +191,7 @@ static uint32_t eNB_app_register_x2(uint32_t enb_id_start, uint32_t enb_id_end)
 
   for (enb_id = enb_id_start; (enb_id < enb_id_end) ; enb_id++) {
     {
-      msg_p = itti_alloc_new_message (TASK_ENB_APP, X2AP_REGISTER_ENB_REQ);
+      msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, X2AP_REGISTER_ENB_REQ);
       RCconfig_X2(msg_p, enb_id);
       itti_send_msg_to_task (TASK_X2AP, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
       register_enb_x2_pending++;
@@ -247,7 +247,7 @@ void *eNB_app_task(void *args_p) {
   do {
     // Wait for a message
     itti_receive_msg (TASK_ENB_APP, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
 
     switch (ITTI_MSG_ID(msg_p)) {
     case TERMINATE_MESSAGE:
@@ -266,7 +266,7 @@ void *eNB_app_task(void *args_p) {
     case S1AP_REGISTER_ENB_CNF:
       AssertFatal(!NODE_IS_DU(RC.rrc[0]->node_type), "Should not have received S1AP_REGISTER_ENB_CNF\n");
         if (EPC_MODE_ENABLED) {
-          LOG_I(ENB_APP, "[eNB %d] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
+          LOG_I(ENB_APP, "[eNB %ld] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
                 S1AP_REGISTER_ENB_CNF(msg_p).nb_mme);
           register_enb_pending--;
 
@@ -280,7 +280,7 @@ void *eNB_app_task(void *args_p) {
             if (registered_enb == enb_nb) {
               /* If all eNB are registered, start L2L1 task */
               MessageDef *msg_init_p;
-              msg_init_p = itti_alloc_new_message (TASK_ENB_APP, INITIALIZE_MESSAGE);
+              msg_init_p = itti_alloc_new_message (TASK_ENB_APP, 0, INITIALIZE_MESSAGE);
               itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
             } else {
               LOG_W(ENB_APP, " %d eNB not associated with a MME, retrying registration in %d seconds ...\n",
@@ -323,7 +323,7 @@ void *eNB_app_task(void *args_p) {
           /* If all eNB cells are registered, start L2L1 task */
           MessageDef *msg_init_p;
 
-          msg_init_p = itti_alloc_new_message (TASK_ENB_APP, INITIALIZE_MESSAGE);
+          msg_init_p = itti_alloc_new_message (TASK_ENB_APP, 0, INITIALIZE_MESSAGE);
           itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
 
         } else {
@@ -347,7 +347,7 @@ void *eNB_app_task(void *args_p) {
 
     case S1AP_DEREGISTERED_ENB_IND:
       if (EPC_MODE_ENABLED) {
-  	LOG_W(ENB_APP, "[eNB %d] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
+  	LOG_W(ENB_APP, "[eNB %ld] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
   	      S1AP_DEREGISTERED_ENB_IND(msg_p).nb_mme);
   	/* TODO handle recovering of registration */
       }
@@ -380,13 +380,13 @@ void *eNB_app_task(void *args_p) {
       break;
 
     case X2AP_DEREGISTERED_ENB_IND:
-      LOG_W(ENB_APP, "[eNB %d] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
+      LOG_W(ENB_APP, "[eNB %ld] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
             X2AP_DEREGISTERED_ENB_IND(msg_p).nb_x2);
       /* TODO handle recovering of registration */
       break;
 
     case X2AP_REGISTER_ENB_CNF:
-      LOG_I(ENB_APP, "[eNB %d] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
+      LOG_I(ENB_APP, "[eNB %ld] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
             X2AP_REGISTER_ENB_CNF(msg_p).nb_x2);
       DevAssert(x2_register_enb_pending > 0);
       x2_register_enb_pending--;
@@ -422,13 +422,13 @@ void *eNB_app_task(void *args_p) {
       break;
 
     case M2AP_DEREGISTERED_ENB_IND:
-      LOG_W(ENB_APP, "[eNB %d] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
+      LOG_W(ENB_APP, "[eNB %ld] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
             M2AP_DEREGISTERED_ENB_IND(msg_p).nb_m2);
       /* TODO handle recovering of registration */
       break;
 
     case M2AP_REGISTER_ENB_CNF:
-      LOG_W(ENB_APP, "[eNB %d] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
+      LOG_W(ENB_APP, "[eNB %ld] Received %s: associated eNB %d\n", instance, ITTI_MSG_NAME (msg_p),
             M2AP_REGISTER_ENB_CNF(msg_p).nb_m2);
       DevAssert(m2_register_enb_pending > 0);
       m2_register_enb_pending--;
@@ -485,7 +485,7 @@ void *eNB_app_task(void *args_p) {
      //     /* If all eNB cells are registered, start L2L1 task */
      //     MessageDef *msg_init_p;
 
-     //     msg_init_p = itti_alloc_new_message (TASK_ENB_APP, INITIALIZE_MESSAGE);
+     //     msg_init_p = itti_alloc_new_message (TASK_ENB_APP, 0, INITIALIZE_MESSAGE);
      //     itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
 
      //   } else {
@@ -508,15 +508,15 @@ void *eNB_app_task(void *args_p) {
 
   case M2AP_MBMS_SCHEDULING_INFORMATION:
      LOG_I(ENB_APP,"M2AP_SCHEDULING_INFORMATION received\n");
-     eNB_app_handle_m2ap_mbms_scheduling_information(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+     eNB_app_handle_m2ap_mbms_scheduling_information(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
      break;
   case M2AP_MBMS_SESSION_START_REQ:
      LOG_I(ENB_APP,"M2AP_MBMS_SESSION_START_REQ received\n");
-     eNB_app_handle_m2ap_mbms_session_start_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+     eNB_app_handle_m2ap_mbms_session_start_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
      break;
   case M2AP_MBMS_SESSION_STOP_REQ:
      LOG_I(ENB_APP,"M2AP_MBMS_SESSION_STOP_REQ received\n");
-     eNB_app_handle_m2ap_mbms_session_stop_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+     eNB_app_handle_m2ap_mbms_session_stop_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
      break;
   case M2AP_RESET:
      LOG_I(ENB_APP,"M2AP_RESET received\n");
@@ -529,7 +529,7 @@ void *eNB_app_task(void *args_p) {
      break;
   case M2AP_ERROR_INDICATION:
      LOG_I(ENB_APP,"M2AP_MBMS_SESSION_UPDATE_REQ\n");
-     eNB_app_handle_m2ap_mbms_session_update_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+     eNB_app_handle_m2ap_mbms_session_update_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
      break;
   case M2AP_MBMS_SERVICE_COUNTING_REQ:
      LOG_I(ENB_APP,"M2AP_MBMS_SERVICE_COUNTING_REQ\n");
diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index de77d783c70266226c73a1c463ad81e103d5b6dc..7a01d35d48d6416cb33024a0840b44a9f457c011 100644
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -287,7 +287,7 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1) {
   int32_t           offsetMaxLimit                = 0;
   int32_t           cycleNb                       = 0;
    
-  MessageDef *msg_p = itti_alloc_new_message(TASK_RRC_ENB, RRC_CONFIGURATION_REQ);
+  MessageDef *msg_p = itti_alloc_new_message(TASK_RRC_ENB, 0, RRC_CONFIGURATION_REQ);
   ccparams_lte_t ccparams_lte;
   ccparams_sidelink_t SLconfig;
   ccparams_eMTC_t eMTCconfig;
@@ -2051,7 +2051,7 @@ int RCconfig_gtpu(void ) {
 
   if (address) {
     MessageDef *message;
-    AssertFatal((message = itti_alloc_new_message(TASK_ENB_APP, GTPV1U_ENB_S1_REQ))!=NULL,"");
+    AssertFatal((message = itti_alloc_new_message(TASK_ENB_APP, 0, GTPV1U_ENB_S1_REQ))!=NULL,"");
     IPV4_STR_ADDR_TO_INT_NWBO ( address, GTPV1U_ENB_S1_REQ(message).enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" );
     LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,GTPV1U_ENB_S1_REQ(message).enb_ip_address_for_S1u_S12_S4_up);
     GTPV1U_ENB_S1_REQ(message).enb_port_for_S1u_S12_S4_up = enb_port_for_S1U;
diff --git a/openair2/ENB_APP/flexran_agent.c b/openair2/ENB_APP/flexran_agent.c
index 7d4546815fbc6e1d7ad290e2bf5657d6bd354a93..33182f3593a64db3a8a7a1e4f2d78c18b7fc1494 100644
--- a/openair2/ENB_APP/flexran_agent.c
+++ b/openair2/ENB_APP/flexran_agent.c
@@ -251,7 +251,7 @@ int flexran_agent_start(mid_t mod_id)
     pthread_mutex_unlock(&flexran->mutex_node_ctrl);
 
     /* reconfigure RRC again, the agent might have changed the configuration */
-    MessageDef *msg_p = itti_alloc_new_message(TASK_ENB_APP, RRC_CONFIGURATION_REQ);
+    MessageDef *msg_p = itti_alloc_new_message(TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
     RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[mod_id]->configuration;
     itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg_p);
   }
diff --git a/openair2/ENB_APP/flexran_agent_common_internal.c b/openair2/ENB_APP/flexran_agent_common_internal.c
index 9091753f9ac9e26795e01f0a473787cf89036dbb..a893982824d17d55438776e99171273211abd634 100644
--- a/openair2/ENB_APP/flexran_agent_common_internal.c
+++ b/openair2/ENB_APP/flexran_agent_common_internal.c
@@ -565,6 +565,6 @@ void initiate_soft_restart(module_id_t mod_id, Protocol__FlexCellConfig *c)
   }
 
   MessageDef *msg;
-  msg = itti_alloc_new_message(TASK_FLEXRAN_AGENT, SOFT_RESTART_MESSAGE);
+  msg = itti_alloc_new_message(TASK_FLEXRAN_AGENT, 0, SOFT_RESTART_MESSAGE);
   itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg);
 }
diff --git a/openair2/ENB_APP/flexran_agent_ran_api.c b/openair2/ENB_APP/flexran_agent_ran_api.c
index d126012737de6b0b28cb1731ff3cbfef03b46973..bb945f59080761f60ca813e6bd1d0c109830da42 100644
--- a/openair2/ENB_APP/flexran_agent_ran_api.c
+++ b/openair2/ENB_APP/flexran_agent_ran_api.c
@@ -3465,7 +3465,7 @@ int flexran_add_s1ap_mme(mid_t mod_id, size_t n_mme, char **mme_ipv4) {
   if (!rrc_is_present(mod_id)) return -2;
 
   /* Reconstruct S1AP_REGISTER_ENB_REQ */
-  MessageDef *m = itti_alloc_new_message(TASK_FLEXRAN_AGENT, S1AP_REGISTER_ENB_REQ);
+  MessageDef *m = itti_alloc_new_message(TASK_FLEXRAN_AGENT, 0, S1AP_REGISTER_ENB_REQ);
   RCconfig_S1(m, mod_id);
 
   const int CC_id = 0;
@@ -3525,7 +3525,7 @@ int flexran_remove_s1ap_mme(mid_t mod_id, size_t n_mme, char **mme_ipv4) {
   if (!mme)
     return -2;
 
-  MessageDef *m = itti_alloc_new_message(TASK_FLEXRAN_AGENT, SCTP_CLOSE_ASSOCIATION);
+  MessageDef *m = itti_alloc_new_message(TASK_FLEXRAN_AGENT, 0, SCTP_CLOSE_ASSOCIATION);
   SCTP_CLOSE_ASSOCIATION(m).assoc_id = mme->assoc_id;
   itti_send_msg_to_task (TASK_SCTP, ENB_MODULE_ID_TO_INSTANCE(mod_id), m);
 
diff --git a/openair2/F1AP/f1ap_cu_interface_management.c b/openair2/F1AP/f1ap_cu_interface_management.c
index 48c5c2de1106fdfdc28c5fa96db7671f9f7fda21..01cd4aa9e029793870aac5b071d99ce1954e67b6 100644
--- a/openair2/F1AP/f1ap_cu_interface_management.c
+++ b/openair2/F1AP/f1ap_cu_interface_management.c
@@ -102,7 +102,7 @@ int CU_handle_F1_SETUP_REQUEST(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p = itti_alloc_new_message(TASK_RRC_ENB, F1AP_SETUP_REQ); 
+  message_p = itti_alloc_new_message(TASK_RRC_ENB, 0, F1AP_SETUP_REQ); 
   
   /* assoc_id */
   F1AP_SETUP_REQ(message_p).assoc_id = assoc_id;
diff --git a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c
index 9bd04cc5e83f5dc626086ae18293e238cc0a6087..306a1fe14bb73216444dbab6d878f8bf925fba5b 100644
--- a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c
+++ b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c
@@ -116,7 +116,7 @@ int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t             instance,
                              F1AP_ProtocolIE_ID_id_RRCContainer, true);
 
   // create an ITTI message and copy SDU
-  message_p = itti_alloc_new_message (TASK_CU_F1, RRC_MAC_CCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_CU_F1, 0, RRC_MAC_CCCH_DATA_IND);
   memset (RRC_MAC_CCCH_DATA_IND (message_p).sdu, 0, CCCH_SDU_SIZE);
   ccch_sdu_len = ie->value.choice.RRCContainer.size;
   memcpy(RRC_MAC_CCCH_DATA_IND (message_p).sdu, ie->value.choice.RRCContainer.buf,
@@ -197,7 +197,7 @@ int CU_send_DL_RRC_MESSAGE_TRANSFER(instance_t                instance,
   ie->value.present                  = F1AP_DLRRCMessageTransferIEs__value_PR_GNB_CU_UE_F1AP_ID;
   ie->value.choice.GNB_CU_UE_F1AP_ID = f1ap_get_cu_ue_f1ap_id(&f1ap_cu_inst[instance], f1ap_dl_rrc->rnti);
   ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
-  LOG_I(F1AP, "Setting GNB_CU_UE_F1AP_ID %llu associated with UE RNTI %x (instance %d)\n",
+  LOG_I(F1AP, "Setting GNB_CU_UE_F1AP_ID %llu associated with UE RNTI %x (instance %ld)\n",
         (unsigned long long int)ie->value.choice.GNB_CU_UE_F1AP_ID, f1ap_dl_rrc->rnti, instance);
 
 
@@ -350,7 +350,7 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t       instance,
   // create an ITTI message and copy SDU
   /*
   
-  message_p = itti_alloc_new_message (TASK_CU_F1, RRC_DCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_CU_F1, 0, RRC_DCCH_DATA_IND);
 
   RRC_DCCH_DATA_IND (message_p).sdu_p = malloc(ie->value.choice.RRCContainer.size);
 
diff --git a/openair2/F1AP/f1ap_cu_task.c b/openair2/F1AP/f1ap_cu_task.c
index 9ab84e6bc918e9d764664e86181c6454bd614398..d2f4c3a56b8295b01c3a2f528ee73d7df1a24d7d 100644
--- a/openair2/F1AP/f1ap_cu_task.c
+++ b/openair2/F1AP/f1ap_cu_task.c
@@ -52,7 +52,7 @@ void cu_task_handle_sctp_association_resp(instance_t instance, sctp_new_associat
   DevAssert(sctp_new_association_resp != NULL);
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    LOG_W(F1AP, "Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    LOG_W(F1AP, "Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -78,7 +78,7 @@ void cu_task_handle_sctp_association_resp(instance_t instance, sctp_new_associat
     .remote_port         = RC.rrc[instance]->eth_params_s.remote_portd
   };
   AssertFatal(proto_agent_start(instance, &params) == 0,
-              "could not start PROTO_AGENT for F1U on instance %d!\n", instance);
+              "could not start PROTO_AGENT for F1U on instance %ld!\n", instance);
 }
 
 void cu_task_handle_sctp_data_ind(instance_t instance, sctp_data_ind_t *sctp_data_ind) {
@@ -101,7 +101,7 @@ void cu_task_send_sctp_init_req(instance_t enb_id) {
   LOG_I(F1AP, "F1AP_CU_SCTP_REQ(create socket)\n");
   MessageDef  *message_p = NULL;
 
-  message_p = itti_alloc_new_message (TASK_CU_F1, SCTP_INIT_MSG);
+  message_p = itti_alloc_new_message (TASK_CU_F1, 0, SCTP_INIT_MSG);
   message_p->ittiMsg.sctp_init.port = F1AP_PORT_NUMBER;
   message_p->ittiMsg.sctp_init.ppid = F1AP_SCTP_PPID;
   message_p->ittiMsg.sctp_init.ipv4 = 1;
@@ -138,43 +138,43 @@ void *F1AP_CU_task(void *arg) {
     switch (ITTI_MSG_ID(received_msg)) {
 
       case SCTP_NEW_ASSOCIATION_IND:
-        LOG_I(F1AP, "CU Task Received SCTP_NEW_ASSOCIATION_IND for instance %d\n",
-              ITTI_MESSAGE_GET_INSTANCE(received_msg));
-        cu_task_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        LOG_I(F1AP, "CU Task Received SCTP_NEW_ASSOCIATION_IND for instance %ld\n",
+              ITTI_MSG_DESTINATION_INSTANCE(received_msg));
+        cu_task_handle_sctp_association_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                          &received_msg->ittiMsg.sctp_new_association_ind);
         break;
 
       case SCTP_NEW_ASSOCIATION_RESP:
-        LOG_I(F1AP, "CU Task Received SCTP_NEW_ASSOCIATION_RESP for instance %d\n",
-              ITTI_MESSAGE_GET_INSTANCE(received_msg));
-        cu_task_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        LOG_I(F1AP, "CU Task Received SCTP_NEW_ASSOCIATION_RESP for instance %ld\n",
+              ITTI_MSG_DESTINATION_INSTANCE(received_msg));
+        cu_task_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                          &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_DATA_IND:
-        LOG_I(F1AP, "CU Task Received SCTP_DATA_IND for Instance %d\n",
-              ITTI_MESSAGE_GET_INSTANCE(received_msg));
-        cu_task_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        LOG_I(F1AP, "CU Task Received SCTP_DATA_IND for Instance %ld\n",
+              ITTI_MSG_DESTINATION_INSTANCE(received_msg));
+        cu_task_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                         &received_msg->ittiMsg.sctp_data_ind);
         break;
 
       case F1AP_SETUP_RESP: // from rrc
         LOG_I(F1AP, "CU Task Received F1AP_SETUP_RESP\n");
-        // CU_send_f1setup_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        // CU_send_f1setup_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
         //                                       &F1AP_SETUP_RESP(received_msg));
-        CU_send_F1_SETUP_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        CU_send_F1_SETUP_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                &F1AP_SETUP_RESP(received_msg));
         break;
 
      case F1AP_DL_RRC_MESSAGE: // from rrc
         LOG_I(F1AP, "CU Task Received F1AP_DL_RRC_MESSAGE\n");
-        CU_send_DL_RRC_MESSAGE_TRANSFER(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        CU_send_DL_RRC_MESSAGE_TRANSFER(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                &F1AP_DL_RRC_MESSAGE(received_msg));
         break;
 
      case F1AP_UE_CONTEXT_RELEASE_CMD: // from rrc
         LOG_I(F1AP, "CU Task Received F1AP_UE_CONTEXT_RELEASE_CMD\n");
-        CU_send_UE_CONTEXT_RELEASE_COMMAND(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        CU_send_UE_CONTEXT_RELEASE_COMMAND(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                            &F1AP_UE_CONTEXT_RELEASE_CMD(received_msg));
         break;
 
diff --git a/openair2/F1AP/f1ap_du_interface_management.c b/openair2/F1AP/f1ap_du_interface_management.c
index 341c050f559d2e9c71cc3d0302078c661ca1f60f..86b5b1cb77748c836525e84a5911b3e6b11837a4 100644
--- a/openair2/F1AP/f1ap_du_interface_management.c
+++ b/openair2/F1AP/f1ap_du_interface_management.c
@@ -444,7 +444,7 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
    int num_cells_to_activate = 0;
    F1AP_Cells_to_be_Activated_List_Item_t *cell;
 
-   MessageDef *msg_p = itti_alloc_new_message (TASK_DU_F1, F1AP_SETUP_RESP);
+   MessageDef *msg_p = itti_alloc_new_message (TASK_DU_F1, 0, F1AP_SETUP_RESP);
 
    LOG_D(F1AP, "F1AP: F1Setup-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
diff --git a/openair2/F1AP/f1ap_du_rrc_message_transfer.c b/openair2/F1AP/f1ap_du_rrc_message_transfer.c
index 695358881822d8bc4fcfec411d296e248ace62a9..ee096337ddb508ca0ed6ec4f24a444976f4a35ac 100644
--- a/openair2/F1AP/f1ap_du_rrc_message_transfer.c
+++ b/openair2/F1AP/f1ap_du_rrc_message_transfer.c
@@ -143,7 +143,7 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t       instance,
   // BK: need check
   // create an ITTI message and copy SDU
 
-  //  message_p = itti_alloc_new_message (TASK_CU_F1, RRC_MAC_CCCH_DATA_IND);
+  //  message_p = itti_alloc_new_message (TASK_CU_F1, 0, RRC_MAC_CCCH_DATA_IND);
   //  memset (RRC_MAC_CCCH_DATA_IND (message_p).sdu, 0, CCCH_SDU_SIZE);
   rrc_dl_sdu_len = ie->value.choice.RRCContainer.size;
   //  memcpy(RRC_MAC_CCCH_DATA_IND (message_p).sdu, ie->value.choice.RRCContainer.buf,
@@ -402,7 +402,7 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t       instance,
                   MessageDef *message_p = NULL;
 
                   /* Send DRX configuration to MAC task to configure timers of local UE context */
-                  message_p = itti_alloc_new_message(TASK_DU_F1, RRC_MAC_DRX_CONFIG_REQ);
+                  message_p = itti_alloc_new_message(TASK_DU_F1, 0, RRC_MAC_DRX_CONFIG_REQ);
                   RRC_MAC_DRX_CONFIG_REQ(message_p).rnti = ctxt.rnti;
                   RRC_MAC_DRX_CONFIG_REQ(message_p).drx_Configuration = mac_MainConfig->drx_Config;
                   itti_send_msg_to_task(TASK_MAC_ENB, ctxt.module_id, message_p);
@@ -599,7 +599,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
   uint32_t len;
 
 
-  LOG_I(F1AP, "[DU %d] %s: size %d UE RNTI %x in SRB %d\n",
+  LOG_I(F1AP, "[DU %ld] %s: size %d UE RNTI %x in SRB %d\n",
         instance, __func__, msg->rrc_container_length, rnti, msg->srb_id);
 
   //LOG_I(F1AP, "%s() RRCContainer size %d: ", __func__, msg->rrc_container_length);
diff --git a/openair2/F1AP/f1ap_du_task.c b/openair2/F1AP/f1ap_du_task.c
index 566391ac7ad1555e56ccc11aea6bb69d6e8ac48e..b66141250b5f117d22b4e58986f7106733eb37a3 100644
--- a/openair2/F1AP/f1ap_du_task.c
+++ b/openair2/F1AP/f1ap_du_task.c
@@ -50,7 +50,7 @@ void du_task_send_sctp_association_req(instance_t instance, f1ap_setup_req_t *f1
   MessageDef                 *message_p                   = NULL;
   sctp_new_association_req_t *sctp_new_association_req_p  = NULL;
 
-  message_p = itti_alloc_new_message(TASK_DU_F1, SCTP_NEW_ASSOCIATION_REQ);
+  message_p = itti_alloc_new_message(TASK_DU_F1, 0, SCTP_NEW_ASSOCIATION_REQ);
 
   sctp_new_association_req_p = &message_p->ittiMsg.sctp_new_association_req;
   sctp_new_association_req_p->ulp_cnx_id = instance;
@@ -86,7 +86,7 @@ void du_task_handle_sctp_association_resp(instance_t instance, sctp_new_associat
   DevAssert(sctp_new_association_resp != NULL);
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    LOG_W(F1AP, "Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    LOG_W(F1AP, "Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -109,7 +109,7 @@ void du_task_handle_sctp_association_resp(instance_t instance, sctp_new_associat
     .remote_port         = RC.mac[instance]->eth_params_n.remote_portd
   };
   AssertFatal(proto_agent_start(instance, &params) == 0,
-              "could not start PROTO_AGENT for F1U on instance %d!\n", instance);
+              "could not start PROTO_AGENT for F1U on instance %ld!\n", instance);
 
   DU_send_F1_SETUP_REQUEST(instance);
 }
@@ -156,7 +156,7 @@ void *F1AP_DU_task(void *arg) {
         // 2. store the message in f1ap context, that is also stored in RC
         // 2. send a sctp_association req
         LOG_I(F1AP, "DU Task Received F1AP_SETUP_REQ\n");
-        du_task_send_sctp_association_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        du_task_send_sctp_association_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &F1AP_SETUP_REQ(received_msg));
         break;
 
@@ -164,26 +164,26 @@ void *F1AP_DU_task(void *arg) {
         // 1. store the respon
         // 2. send the f1setup_req
         LOG_I(F1AP, "DU Task Received SCTP_NEW_ASSOCIATION_RESP\n");
-        du_task_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        du_task_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                       &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_DATA_IND: 
         // ex: any F1 incoming message for DU ends here
         LOG_I(F1AP, "DU Task Received SCTP_DATA_IND\n");
-        du_task_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        du_task_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                     &received_msg->ittiMsg.sctp_data_ind);
         break;
 
      case F1AP_UL_RRC_MESSAGE: // to rrc
         LOG_I(F1AP, "DU Task Received F1AP_UL_RRC_MESSAGE\n");
-        DU_send_UL_RRC_MESSAGE_TRANSFER(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        DU_send_UL_RRC_MESSAGE_TRANSFER(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                         &F1AP_UL_RRC_MESSAGE(received_msg));
         break;
 
       case F1AP_UE_CONTEXT_RELEASE_REQ: // from MAC
         LOG_I(F1AP, "DU Task Received F1AP_UE_CONTEXT_RELEASE_REQ\n");
-        DU_send_UE_CONTEXT_RELEASE_REQUEST(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        DU_send_UE_CONTEXT_RELEASE_REQUEST(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                            &F1AP_UE_CONTEXT_RELEASE_REQ(received_msg));
         break;
 
diff --git a/openair2/F1AP/f1ap_du_ue_context_management.c b/openair2/F1AP/f1ap_du_ue_context_management.c
index bae59a509e24bf1edb33497df39dac5ad309025c..841c77eef5f906896ffb44af3cb51b33fef5c9ca 100644
--- a/openair2/F1AP/f1ap_du_ue_context_management.c
+++ b/openair2/F1AP/f1ap_du_ue_context_management.c
@@ -59,7 +59,7 @@ int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t       instance,
   F1AP_UEContextSetupRequestIEs_t *ie;
   int i;
   DevAssert(pdu);
-  msg_p = itti_alloc_new_message(TASK_DU_F1, F1AP_UE_CONTEXT_SETUP_REQ);
+  msg_p = itti_alloc_new_message(TASK_DU_F1, 0, F1AP_UE_CONTEXT_SETUP_REQ);
   f1ap_ue_context_setup_req_t *f1ap_ue_context_setup_req;
   f1ap_ue_context_setup_req = &F1AP_UE_CONTEXT_SETUP_REQ(msg_p);
   container = &pdu->choice.initiatingMessage->value.choice.UEContextSetupRequest;
diff --git a/openair2/F1AP/f1ap_handlers.c b/openair2/F1AP/f1ap_handlers.c
index 12aba18a9d857a0cf2c76641c84b0e38462850ca..45f76d3dabf08c2b71ef9f0024cc2d6014c1659f 100644
--- a/openair2/F1AP/f1ap_handlers.c
+++ b/openair2/F1AP/f1ap_handlers.c
@@ -119,7 +119,7 @@ int f1ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
   }
 
   /* Calling the right handler */
-  LOG_I(F1AP, "Calling handler with instance %d\n",instance);
+  LOG_I(F1AP, "Calling handler with instance %ld\n",instance);
   ret = (*f1ap_messages_callback[pdu.choice.initiatingMessage->procedureCode][pdu.present - 1])
         (instance, assoc_id, stream, &pdu);
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_F1AP_F1AP_PDU, &pdu);
diff --git a/openair2/F1AP/f1ap_itti_messaging.c b/openair2/F1AP/f1ap_itti_messaging.c
index fa8951536a913259553209491e3b137f6c50eb71..443357a45e329dd87886eefe61af71883fc26cec 100644
--- a/openair2/F1AP/f1ap_itti_messaging.c
+++ b/openair2/F1AP/f1ap_itti_messaging.c
@@ -28,7 +28,7 @@ void cu_f1ap_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_CU_F1, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_CU_F1, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -46,7 +46,7 @@ void du_f1ap_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_DU_F1, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_DU_F1, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -64,7 +64,7 @@ void f1ap_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_S1AP, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
diff --git a/openair2/GNB_APP/gnb_app.c b/openair2/GNB_APP/gnb_app.c
index 01d7a3b833a5c54f842b6d7b25f65e40abae80b8..77e456463266660ef8bf4202a37eb3aebba700a8 100644
--- a/openair2/GNB_APP/gnb_app.c
+++ b/openair2/GNB_APP/gnb_app.c
@@ -56,7 +56,7 @@ static void configure_nr_rrc(uint32_t gnb_id)
   MessageDef *msg_p = NULL;
   //  int CC_id;
 
-  msg_p = itti_alloc_new_message (TASK_GNB_APP, NRRRC_CONFIGURATION_REQ);
+  msg_p = itti_alloc_new_message (TASK_GNB_APP, 0, NRRRC_CONFIGURATION_REQ);
 
   if (RC.nrrrc[gnb_id]) {
     RCconfig_NRRRC(msg_p,gnb_id, RC.nrrrc[gnb_id]);
@@ -84,7 +84,7 @@ static uint32_t gNB_app_register(uint32_t gnb_id_start, uint32_t gnb_id_end)//,
         ngap_register_gnb_req_t *ngap_register_gNB; //Type Temporarily reuse
         
         // note:  there is an implicit relationship between the data structure and the message name 
-        msg_p = itti_alloc_new_message (TASK_GNB_APP, NGAP_REGISTER_GNB_REQ); //Message Temporarily reuse
+        msg_p = itti_alloc_new_message (TASK_GNB_APP, 0, NGAP_REGISTER_GNB_REQ); //Message Temporarily reuse
 
         RCconfig_NR_NG(msg_p, gnb_id);
 		
@@ -115,7 +115,7 @@ static uint32_t gNB_app_register_x2(uint32_t gnb_id_start, uint32_t gnb_id_end)
 
   for (gnb_id = gnb_id_start; (gnb_id < gnb_id_end) ; gnb_id++) {
     {
-      msg_p = itti_alloc_new_message (TASK_GNB_APP, X2AP_REGISTER_ENB_REQ);
+      msg_p = itti_alloc_new_message (TASK_GNB_APP, 0, X2AP_REGISTER_ENB_REQ);
       LOG_I(X2AP, "GNB_ID: %d \n", gnb_id);
       RCconfig_NR_X2(msg_p, gnb_id);
       itti_send_msg_to_task (TASK_X2AP, ENB_MODULE_ID_TO_INSTANCE(gnb_id), msg_p);
@@ -182,7 +182,7 @@ void *gNB_app_task(void *args_p)
   __attribute__((unused)) uint32_t register_gnb_pending = gNB_app_register (gnb_id_start, gnb_id_end);//, gnb_properties_p);
   } else {
   /* Start L2L1 task */
-    msg_p = itti_alloc_new_message(TASK_GNB_APP, INITIALIZE_MESSAGE);
+    msg_p = itti_alloc_new_message(TASK_GNB_APP, 0, INITIALIZE_MESSAGE);
     itti_send_msg_to_task(TASK_L2L1, INSTANCE_DEFAULT, msg_p);
   }
 
@@ -191,7 +191,7 @@ void *gNB_app_task(void *args_p)
     itti_receive_msg (TASK_GNB_APP, &msg_p);
 
     msg_name = ITTI_MSG_NAME (msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
 
     switch (ITTI_MSG_ID(msg_p)) {
     case TERMINATE_MESSAGE:
@@ -206,7 +206,7 @@ void *gNB_app_task(void *args_p)
 
 
     case NGAP_REGISTER_GNB_CNF:
-      LOG_I(GNB_APP, "[gNB %d] Received %s: associated AMF %d\n", instance, msg_name,
+      LOG_I(GNB_APP, "[gNB %ld] Received %s: associated AMF %d\n", instance, msg_name,
             NGAP_REGISTER_GNB_CNF(msg_p).nb_amf);
 /*
       DevAssert(register_gnb_pending > 0);
@@ -223,7 +223,7 @@ void *gNB_app_task(void *args_p)
           // If all gNB are registered, start L2L1 task 
           MessageDef *msg_init_p;
 
-          msg_init_p = itti_alloc_new_message (TASK_GNB_APP, INITIALIZE_MESSAGE);
+          msg_init_p = itti_alloc_new_message (TASK_GNB_APP, 0, INITIALIZE_MESSAGE);
           itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
 
         } else {
@@ -248,7 +248,7 @@ void *gNB_app_task(void *args_p)
       break;
 
     case NGAP_DEREGISTERED_GNB_IND:
-      LOG_W(GNB_APP, "[gNB %d] Received %s: associated AMF %d\n", instance, msg_name,
+      LOG_W(GNB_APP, "[gNB %ld] Received %s: associated AMF %d\n", instance, msg_name,
             NGAP_DEREGISTERED_GNB_IND(msg_p).nb_amf);
 
       /* TODO handle recovering of registration */
diff --git a/openair2/GNB_APP/gnb_config.c b/openair2/GNB_APP/gnb_config.c
index 9e7048247b09417029f0943af36ce70c8771175e..7862597b90b1cda7f8d27e459e28020fd36b3e51 100644
--- a/openair2/GNB_APP/gnb_config.c
+++ b/openair2/GNB_APP/gnb_config.c
@@ -715,7 +715,7 @@ int RCconfig_nr_gtpu(void ) {
 
     if (address) {
       MessageDef *message;
-      AssertFatal((message = itti_alloc_new_message(TASK_GNB_APP, GTPV1U_ENB_S1_REQ))!=NULL,"");
+      AssertFatal((message = itti_alloc_new_message(TASK_GNB_APP, 0, GTPV1U_ENB_S1_REQ))!=NULL,"");
      // IPV4_STR_ADDR_TO_INT_NWBO ( address, RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" );
      // LOG_I(GTPU,"Configuring GTPu address : %s -> %x\n",address,RC.gtpv1u_data_g->enb_ip_address_for_S1u_S12_S4_up);
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 9a00fa1184ae86ef3711a74c9c50ed1a231191a8..b4b9a3175a527ce2fdfb1f0a0ddfead9c1adb055 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -473,7 +473,7 @@ check_ul_failure(module_id_t module_idP, int CC_id, int UE_id,
     if (UE_info->UE_sched_ctrl[UE_id].ul_failure_timer > 4000) {
       // note: probably ul_failure_timer should be less than UE radio link failure time(see T310/N310/N311)
       if (NODE_IS_DU(RC.rrc[module_idP]->node_type)) {
-        MessageDef *m = itti_alloc_new_message(TASK_MAC_ENB, F1AP_UE_CONTEXT_RELEASE_REQ);
+        MessageDef *m = itti_alloc_new_message(TASK_MAC_ENB, 0, F1AP_UE_CONTEXT_RELEASE_REQ);
         F1AP_UE_CONTEXT_RELEASE_REQ(m).rnti = rnti;
         F1AP_UE_CONTEXT_RELEASE_REQ(m).cause = F1AP_CAUSE_RADIO_NETWORK;
         F1AP_UE_CONTEXT_RELEASE_REQ(m).cause_value = 1; // 1 = F1AP_CauseRadioNetwork_rl_failure
diff --git a/openair2/LAYER2/MAC/main.c b/openair2/LAYER2/MAC/main.c
index af6d1a7ac355b8fe4182c48bfde08ce53445566d..59554425ccac2709ee25386df2a6a69ebd300176 100644
--- a/openair2/LAYER2/MAC/main.c
+++ b/openair2/LAYER2/MAC/main.c
@@ -219,7 +219,7 @@ void *mac_enb_task(void *arg)
       case RRC_MAC_DRX_CONFIG_REQ:
         LOG_I(MAC, "MAC Task Received RRC_MAC_DRX_CONFIG_REQ\n");
         /* Set timers and thresholds values in local MAC context of UE */
-        eNB_Config_Local_DRX(ITTI_MESSAGE_GET_INSTANCE(received_msg), &received_msg->ittiMsg.rrc_mac_drx_config_req);
+        eNB_Config_Local_DRX(ITTI_MSG_DESTINATION_INSTANCE(received_msg), &received_msg->ittiMsg.rrc_mac_drx_config_req);
         break;
 
       case TERMINATE_MESSAGE:
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 8c4ee72380ae677ce3cb95bce4f8181c0d4ea040..0dedacb11ffc2aa7d16daa2051905c750ed2e0a4 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -3064,8 +3064,8 @@ ue_scheduler(const module_id_t module_idP,
         switch (ITTI_MSG_ID(msg_p)) {
           case RRC_MAC_CCCH_DATA_REQ:
             LOG_I(MAC,
-                  "Received %s from %s: instance %d, frameP %d, eNB_index %d\n",
-                  ITTI_MSG_NAME(msg_p), ITTI_MSG_ORIGIN_NAME(msg_p), ITTI_MSG_INSTANCE(msg_p),
+                  "Received %s from %s: instance %ld, frameP %d, eNB_index %d\n",
+                  ITTI_MSG_NAME(msg_p), ITTI_MSG_ORIGIN_NAME(msg_p), ITTI_MSG_DESTINATION_INSTANCE(msg_p),
                   RRC_MAC_CCCH_DATA_REQ(msg_p).frame,
                   RRC_MAC_CCCH_DATA_REQ(msg_p).enb_index);
             // TODO process CCCH data req.
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index 9b6de7c168b880d7d7390d75f160f86d22e22691..8196d2b1fca0806eba8387348ee5b1d1bf66d072 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -394,7 +394,7 @@ boolean_t pdcp_data_req(
         // DL transfer
         MessageDef                            *message_p;
         // Note: the acyual task must be TASK_PDCP_ENB, but this task is not created
-        message_p = itti_alloc_new_message (TASK_PDCP_ENB, F1AP_DL_RRC_MESSAGE);
+        message_p = itti_alloc_new_message (TASK_PDCP_ENB, 0, F1AP_DL_RRC_MESSAGE);
         F1AP_DL_RRC_MESSAGE (message_p).rrc_container =  &pdcp_pdu_p->data[0] ;
         F1AP_DL_RRC_MESSAGE (message_p).rrc_container_length = pdcp_pdu_size;
         F1AP_DL_RRC_MESSAGE (message_p).gNB_CU_ue_id  = 0;
@@ -930,7 +930,7 @@ pdcp_data_ind(
                                   sdu_buffer_sizeP - payload_offset + GTPU_HEADER_OVERHEAD_MAX);
       AssertFatal(gtpu_buffer_p != NULL, "OUT OF MEMORY");
       memcpy(&gtpu_buffer_p[GTPU_HEADER_OVERHEAD_MAX], &sdu_buffer_pP->data[payload_offset], sdu_buffer_sizeP - payload_offset);
-      message_p = itti_alloc_new_message(TASK_PDCP_ENB, GTPV1U_ENB_TUNNEL_DATA_REQ);
+      message_p = itti_alloc_new_message(TASK_PDCP_ENB, 0, GTPV1U_ENB_TUNNEL_DATA_REQ);
       AssertFatal(message_p != NULL, "OUT OF MEMORY");
       GTPV1U_ENB_TUNNEL_DATA_REQ(message_p).buffer       = gtpu_buffer_p;
       GTPV1U_ENB_TUNNEL_DATA_REQ(message_p).length       = sdu_buffer_sizeP - payload_offset;
@@ -1139,11 +1139,11 @@ pdcp_run (
             RRC_DCCH_DATA_REQ (msg_p).frame,
             0,
             RRC_DCCH_DATA_REQ (msg_p).eNB_index);
-          LOG_D(PDCP, PROTOCOL_CTXT_FMT"Received %s from %s: instance %d, rb_id %ld, muiP %d, confirmP %d, mode %d\n",
+          LOG_D(PDCP, PROTOCOL_CTXT_FMT"Received %s from %s: instance %ld, rb_id %ld, muiP %d, confirmP %d, mode %d\n",
                 PROTOCOL_CTXT_ARGS(&ctxt),
                 ITTI_MSG_NAME (msg_p),
                 ITTI_MSG_ORIGIN_NAME(msg_p),
-                ITTI_MSG_INSTANCE (msg_p),
+                ITTI_MSG_DESTINATION_INSTANCE (msg_p),
                 RRC_DCCH_DATA_REQ (msg_p).rb_id,
                 RRC_DCCH_DATA_REQ (msg_p).muip,
                 RRC_DCCH_DATA_REQ (msg_p).confirmp,
@@ -1265,7 +1265,7 @@ pdcp_mbms_run (
 //                PROTOCOL_CTXT_ARGS(&ctxt),
 //                ITTI_MSG_NAME (msg_p),
 //                ITTI_MSG_ORIGIN_NAME(msg_p),
-//                ITTI_MSG_INSTANCE (msg_p),
+//                ITTI_MSG_DESTINATION_INSTANCE (msg_p),
 //                RRC_DCCH_DATA_REQ (msg_p).rb_id,
 //                RRC_DCCH_DATA_REQ (msg_p).muip,
 //                RRC_DCCH_DATA_REQ (msg_p).confirmp,
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
index 04b9e188e6a5b6028edb4bbd073dea34bd5e4064..687d7b1bfefaf905f75e31dfd8f8c8f4ff4f0ad4 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
@@ -237,9 +237,9 @@ int pdcp_fifo_read_input_sdus_fromtun (const protocol_ctxt_t *const  ctxt_pP) {
           ctxt.module_id, ctxt.rnti, ctxt.enb_flag);
 
     if (h_rc == HASH_TABLE_OK) {
-      LOG_D(PDCP, "[FRAME %5u][UE][NETLINK][IP->PDCP] INST %d: Received socket with length %d on Rab %ld \n",
+      LOG_D(PDCP, "[FRAME %5u][UE][NETLINK][IP->PDCP] INST %ld: Received socket with length %d on Rab %ld \n",
             ctxt.frame, ctxt.instance, len, rab_id);
-      LOG_D(PDCP, "[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes --->][PDCP][MOD %u][UE %04x][RB %ld]\n",
+      LOG_D(PDCP, "[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes --->][PDCP][MOD %u][UE %04x][RB %ld]\n",
             ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
             ctxt.rnti, rab_id);
 
@@ -258,7 +258,7 @@ int pdcp_fifo_read_input_sdus_fromtun (const protocol_ctxt_t *const  ctxt_pP) {
                    );
     } else {
       LOG_D(PDCP,
-            "[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %04x][RB %ld] TUN NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
+            "[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %04x][RB %ld] TUN NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
             ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
             ctxt.rnti, rab_id, key);
     }
@@ -305,9 +305,9 @@ int pdcp_fifo_read_input_mbms_sdus_fromtun (const protocol_ctxt_t *const  ctxt_p
           ctxt.module_id, ctxt.rnti, ctxt.enb_flag);
 
     if (h_rc == HASH_TABLE_OK) {
-      LOG_D(PDCP, "[FRAME %5u][UE][NETLINK][IP->PDCP] INST %d: Received socket with length %d on Rab %ld \n",
+      LOG_D(PDCP, "[FRAME %5u][UE][NETLINK][IP->PDCP] INST %ld: Received socket with length %d on Rab %ld \n",
             ctxt.frame, ctxt.instance, len, rab_id);
-      LOG_D(PDCP, "[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes --->][PDCP][MOD %u][UE %04x][RB %ld]\n",
+      LOG_D(PDCP, "[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes --->][PDCP][MOD %u][UE %04x][RB %ld]\n",
             ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
             ctxt.rnti, rab_id);
       MSC_LOG_RX_MESSAGE((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
@@ -344,7 +344,7 @@ int pdcp_fifo_read_input_mbms_sdus_fromtun (const protocol_ctxt_t *const  ctxt_p
         MSC_AS_TIME_ARGS(ctxt_pP),
         ctxt.instance, rab_id, rab_id, len);
       LOG_D(PDCP,
-            "[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %04x][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
+            "[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %04x][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
             ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
             ctxt.rnti, rab_id, key);
        //if (!UE_NAS_USE_TUN) {
diff --git a/openair2/LAYER2/PROTO_AGENT/proto_agent_common.c b/openair2/LAYER2/PROTO_AGENT/proto_agent_common.c
index 6e343343cded082c291072e565a0ef00f1998c7f..bf6579955ba7985ef2b8daf88cec310b5fd47c95 100644
--- a/openair2/LAYER2/PROTO_AGENT/proto_agent_common.c
+++ b/openair2/LAYER2/PROTO_AGENT/proto_agent_common.c
@@ -535,7 +535,7 @@ int proto_agent_pdcp_data_ind_process(mod_id_t mod_id, const void *params, Proto
   //   if (xid == 1)
   //     pdcp_data_ind_wifi((const protocol_ctxt_t*) ctxt_pP, (const srb_flag_t) srb_flagP, (const MBMS_flag_t) flag_MBMS, (const rb_id_t) rb_idP, pdcp_pdu_size, pdcp_pdu_p);
   //   else if (xid == 0)   // FIXME: USE a preprocessed definition
-  LOG_D(PROTO_AGENT, "[inst %d] Received PDCP PDU with size %d for UE RNTI %x RB %ld, Calling pdcp_data_ind\n", ctxt_pP.instance, pdcp_pdu_size,ctxt_pP.rnti,rb_idP);
+  LOG_D(PROTO_AGENT, "[inst %ld] Received PDCP PDU with size %d for UE RNTI %x RB %ld, Calling pdcp_data_ind\n", ctxt_pP.instance, pdcp_pdu_size,ctxt_pP.rnti,rb_idP);
   result = pdcp_data_ind(&ctxt_pP,
                          srb_flagP,
                          flag_MBMS,
diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
index 9b33b2715d862079cd05df9d6297b6a0b8acd5b2..0e6fd614a03b032836f664708db4716a0e48fa20 100644
--- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
@@ -432,7 +432,7 @@ static void deliver_sdu_drb(void *_ue, nr_pdcp_entity_t *entity,
                                   size + GTPU_HEADER_OVERHEAD_MAX);
       AssertFatal(gtpu_buffer_p != NULL, "OUT OF MEMORY");
       memcpy(&gtpu_buffer_p[GTPU_HEADER_OVERHEAD_MAX], buf, size);
-      message_p = itti_alloc_new_message(TASK_PDCP_ENB, GTPV1U_ENB_TUNNEL_DATA_REQ);
+      message_p = itti_alloc_new_message(TASK_PDCP_ENB, 0, GTPV1U_ENB_TUNNEL_DATA_REQ);
       AssertFatal(message_p != NULL, "OUT OF MEMORY");
       GTPV1U_ENB_TUNNEL_DATA_REQ(message_p).buffer       = gtpu_buffer_p;
       GTPV1U_ENB_TUNNEL_DATA_REQ(message_p).length       = size;
diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
index 2f0d46afacba5e539bfe984b48a75f9e0c0f08c3..d3503742ad03819b2b46e8ab03a79723719cc8b4 100644
--- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
@@ -877,7 +877,7 @@ rlc_op_status_t nr_rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt
   if (/*ctxt_pP->enb_flag != 1 ||*/ ctxt_pP->module_id != 0 /*||
       ctxt_pP->instance != 0 || ctxt_pP->eNB_index != 0 ||
       ctxt_pP->configured != 1 || ctxt_pP->brOption != 0 */) {
-    LOG_E(RLC, "%s: ctxt_pP not handled (%d %d %d %d %d %d)\n", __FUNCTION__,
+    LOG_E(RLC, "%s: ctxt_pP not handled (%d %d %ld %d %d %d)\n", __FUNCTION__,
           ctxt_pP->enb_flag , ctxt_pP->module_id, ctxt_pP->instance,
           ctxt_pP->eNB_index, ctxt_pP->configured, ctxt_pP->brOption);
     exit(1);
diff --git a/openair2/LAYER2/rlc_v2/rlc_oai_api.c b/openair2/LAYER2/rlc_v2/rlc_oai_api.c
index b3aaff742f74ae3e0191818d7108edd0e6a7bbfe..919d577a18f3a091e91096c42e78a8583baa6193 100644
--- a/openair2/LAYER2/rlc_v2/rlc_oai_api.c
+++ b/openair2/LAYER2/rlc_v2/rlc_oai_api.c
@@ -427,7 +427,7 @@ rb_found:
                 "Can't be CU, bad node type %d\n", type);
 
     if (NODE_IS_DU(type) && is_srb == 1) {
-      MessageDef *msg = itti_alloc_new_message(TASK_RLC_ENB, F1AP_UL_RRC_MESSAGE);
+      MessageDef *msg = itti_alloc_new_message(TASK_RLC_ENB, 0, F1AP_UL_RRC_MESSAGE);
       F1AP_UL_RRC_MESSAGE(msg).rnti = ue->rnti;
       F1AP_UL_RRC_MESSAGE(msg).srb_id = rb_id;
       F1AP_UL_RRC_MESSAGE(msg).rrc_container = (unsigned char *)buf;
@@ -490,7 +490,7 @@ rb_found:
   if (!is_enb)
     return;
 
-  msg = itti_alloc_new_message(TASK_RLC_ENB, RLC_SDU_INDICATION);
+  msg = itti_alloc_new_message(TASK_RLC_ENB, 0, RLC_SDU_INDICATION);
   RLC_SDU_INDICATION(msg).rnti          = ue->rnti;
   RLC_SDU_INDICATION(msg).is_successful = 1;
   RLC_SDU_INDICATION(msg).srb_id        = rb_id;
@@ -543,7 +543,7 @@ rb_found:
   if (!is_enb)
     return;
 
-  msg = itti_alloc_new_message(TASK_RLC_ENB, RLC_SDU_INDICATION);
+  msg = itti_alloc_new_message(TASK_RLC_ENB, 0, RLC_SDU_INDICATION);
   RLC_SDU_INDICATION(msg).rnti          = ue->rnti;
   RLC_SDU_INDICATION(msg).is_successful = 0;
   RLC_SDU_INDICATION(msg).srb_id        = rb_id;
@@ -834,7 +834,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
   if (0 /*||
       ctxt_pP->instance != 0 || ctxt_pP->eNB_index != 0 ||
       ctxt_pP->configured != 1 || ctxt_pP->brOption != 0 */) {
-    LOG_E(RLC, "%s: ctxt_pP not handled (%d %d %d %d %d %d)\n", __FUNCTION__,
+    LOG_E(RLC, "%s: ctxt_pP not handled (%d %d %ld %d %d %d)\n", __FUNCTION__,
           ctxt_pP->enb_flag , ctxt_pP->module_id, ctxt_pP->instance,
           ctxt_pP->eNB_index, ctxt_pP->configured, ctxt_pP->brOption);
     exit(1);
diff --git a/openair2/M2AP/m2ap_MCE.c b/openair2/M2AP/m2ap_MCE.c
index 096f3cabee8be15e11cb027d32047cff6f2b8481..f163aa453a47fdcd622d565950d422db6c879cbf 100644
--- a/openair2/M2AP/m2ap_MCE.c
+++ b/openair2/M2AP/m2ap_MCE.c
@@ -105,7 +105,7 @@ void m2ap_MCE_handle_sctp_association_resp(instance_t instance, sctp_new_associa
    DevAssert(sctp_new_association_resp != NULL);
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    LOG_W(M2AP, "Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    LOG_W(M2AP, "Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -233,7 +233,7 @@ int m2ap_MCE_init_sctp (m2ap_MCE_instance_t *instance_p,
   sctp_init_t                            *sctp_init  = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(local_ip_addr != NULL);
-  message = itti_alloc_new_message (TASK_M2AP_MCE, SCTP_INIT_MSG_MULTI_REQ);
+  message = itti_alloc_new_message (TASK_M2AP_MCE, 0, SCTP_INIT_MSG_MULTI_REQ);
   sctp_init = &message->ittiMsg.sctp_init_multi;
   sctp_init->port = mce_port_for_M2C;
   sctp_init->ppid = M2AP_SCTP_PPID;
@@ -267,7 +267,7 @@ static void m2ap_MCE_register_MCE(m2ap_MCE_instance_t *instance_p,
   m2ap_MCE_data_t                  *m2ap_mce_data             = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(target_MCE_ip_address != NULL);
-  message = itti_alloc_new_message(TASK_M2AP_MCE, SCTP_NEW_ASSOCIATION_REQ_MULTI);
+  message = itti_alloc_new_message(TASK_M2AP_MCE, 0, SCTP_NEW_ASSOCIATION_REQ_MULTI);
   sctp_new_association_req = &message->ittiMsg.sctp_new_association_req_multi;
   sctp_new_association_req->port = mce_port_for_M2C;
   sctp_new_association_req->ppid = M2AP_SCTP_PPID;
@@ -312,7 +312,7 @@ void m2ap_MCE_handle_register_MCE(instance_t instance,
     DevCheck(new_instance->tac == m2ap_register_MCE->tac, new_instance->tac, m2ap_register_MCE->tac, 0);
     DevCheck(new_instance->mcc == m2ap_register_MCE->mcc, new_instance->mcc, m2ap_register_MCE->mcc, 0);
     DevCheck(new_instance->mnc == m2ap_register_MCE->mnc, new_instance->mnc, m2ap_register_MCE->mnc, 0);
-    M2AP_WARN("MCE[%d] already registered\n", instance);
+    M2AP_WARN("MCE[%ld] already registered\n", instance);
   } else {
     new_instance = calloc(1, sizeof(m2ap_MCE_instance_t));
     DevAssert(new_instance != NULL);
@@ -356,7 +356,7 @@ void m2ap_MCE_handle_register_MCE(instance_t instance,
     new_instance->mce_port_for_M2C  = m2ap_register_MCE->mce_port_for_M2C;
     /* Add the new instance to the list of MCE (meaningfull in virtual mode) */
     m2ap_MCE_insert_new_instance(new_instance);
-    M2AP_INFO("Registered new MCE[%d] and %s MCE id %u\n",
+    M2AP_INFO("Registered new MCE[%ld] and %s MCE id %u\n",
               instance,
               m2ap_register_MCE->cell_type == CELL_MACRO_ENB ? "macro" : "home",
               m2ap_register_MCE->MCE_id);
@@ -367,7 +367,7 @@ void m2ap_MCE_handle_register_MCE(instance_t instance,
       return;
     }
 
-    M2AP_INFO("MCE[%d] MCE id %u acting as a listner (server)\n",
+    M2AP_INFO("MCE[%ld] MCE id %u acting as a listner (server)\n",
               instance, m2ap_register_MCE->MCE_id);
   }
 }
@@ -394,7 +394,7 @@ void m2ap_MCE_handle_sctp_init_msg_multi_cnf(
   /* Trying to connect to the provided list of MCE ip address */
 
   for (index = 0; index < instance->nb_m2; index++) {
-    M2AP_INFO("MCE[%d] MCE id %u acting as an initiator (client)\n",
+    M2AP_INFO("MCE[%ld] MCE id %u acting as an initiator (client)\n",
               instance_id, instance->MCE_id);
     m2ap_MCE_register_MCE(instance,
                           &instance->target_mce_m2_ip_address[index],
@@ -507,7 +507,7 @@ void MCE_task_send_sctp_init_req(instance_t enb_id, m2ap_mce_sctp_req_t * m2ap_m
   LOG_I(M2AP, "M2AP_SCTP_REQ(create socket)\n");
   MessageDef  *message_p = NULL;
 
-  message_p = itti_alloc_new_message (TASK_M2AP_MCE, SCTP_INIT_MSG);
+  message_p = itti_alloc_new_message (TASK_M2AP_MCE, 0, SCTP_INIT_MSG);
 
  // if( m2ap_mce_sctp_req == NULL ){
  //         message_p->ittiMsg.sctp_init.port = M2AP_PORT_NUMBER;
@@ -558,7 +558,7 @@ void *m2ap_MCE_task(void *arg) {
     switch (ITTI_MSG_ID(received_msg)) {
       case MESSAGE_TEST:
 	LOG_W(M2AP,"MCE Received MESSAGE_TEST Message\n");
-	//MessageDef * message_p = itti_alloc_new_message(TASK_M2AP_MCE, MESSAGE_TEST);
+	//MessageDef * message_p = itti_alloc_new_message(TASK_M2AP_MCE, 0, MESSAGE_TEST);
         //itti_send_msg_to_task(TASK_M3AP, 1/*ctxt_pP->module_id*/, message_p);
 	break;
       case TERMINATE_MESSAGE:
@@ -567,29 +567,29 @@ void *m2ap_MCE_task(void *arg) {
         break;
 
       case M2AP_MCE_SCTP_REQ:
-	MCE_task_send_sctp_init_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	MCE_task_send_sctp_init_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 				     &M2AP_MCE_SCTP_REQ(received_msg));
 	break;
 
       case M2AP_SUBFRAME_PROCESS:
-        m2ap_check_timers(ITTI_MESSAGE_GET_INSTANCE(received_msg));
+        m2ap_check_timers(ITTI_MSG_DESTINATION_INSTANCE(received_msg));
         break;
 
       case M2AP_REGISTER_MCE_REQ:
 	LOG_I(M2AP,"MCE Received M2AP_REGISTER_MCE_REQ Message\n");
-        m2ap_MCE_handle_register_MCE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_MCE_handle_register_MCE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_REGISTER_MCE_REQ(received_msg));
         break;
 
       case M2AP_SETUP_RESP:
 	LOG_I(M2AP,"MCE Received M2AP_SETUP_RESP Message\n");
-	MCE_send_M2_SETUP_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	MCE_send_M2_SETUP_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 				    &M2AP_SETUP_RESP(received_msg));
 	break;
 
       case M2AP_SETUP_FAILURE:
 	LOG_I(M2AP,"MCE Received M2AP_SETUP_FAILURE Message\n");
-	MCE_send_M2_SETUP_FAILURE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	MCE_send_M2_SETUP_FAILURE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 				    &M2AP_SETUP_FAILURE(received_msg));
 	break;
 
@@ -644,41 +644,41 @@ void *m2ap_MCE_task(void *arg) {
 
 
 //      case M2AP_HANDOVER_REQ:
-//        m2ap_MCE_handle_handover_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m2ap_MCE_handle_handover_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                     &M2AP_HANDOVER_REQ(received_msg));
 //        break;
 //
 //      case M2AP_HANDOVER_REQ_ACK:
-//        m2ap_MCE_handle_handover_req_ack(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m2ap_MCE_handle_handover_req_ack(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                         &M2AP_HANDOVER_REQ_ACK(received_msg));
 //        break;
 //
 //      case M2AP_UE_CONTEXT_RELEASE:
-//        m2ap_MCE_ue_context_release(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m2ap_MCE_ue_context_release(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                                &M2AP_UE_CONTEXT_RELEASE(received_msg));
 //        break;
 //
       case SCTP_INIT_MSG_MULTI_CNF:
         LOG_D(M2AP,"MCE Received SCTP_INIT_MSG_MULTI_CNF Message\n");
-        m2ap_MCE_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_MCE_handle_sctp_init_msg_multi_cnf(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                 &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
         break;
 
       case SCTP_NEW_ASSOCIATION_RESP:
         LOG_D(M2AP,"MCE Received SCTP_NEW_ASSOCIATION_RESP Message\n");
-        m2ap_MCE_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_MCE_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_NEW_ASSOCIATION_IND:
         LOG_D(M2AP,"MCE Received SCTP_NEW_ASSOCIATION Message\n");
-        m2ap_MCE_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_MCE_handle_sctp_association_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                              &received_msg->ittiMsg.sctp_new_association_ind);
         break;
 
       case SCTP_DATA_IND:
         LOG_D(M2AP,"MCE Received SCTP_DATA_IND Message\n");
-        m2ap_MCE_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_MCE_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                       &received_msg->ittiMsg.sctp_data_ind);
         break;
 
diff --git a/openair2/M2AP/m2ap_MCE_handler.c b/openair2/M2AP/m2ap_MCE_handler.c
index 85e342f9964c08d71648f0d8479ec7ee598a8dc3..5a0e303218bfc744a3b51e31ea8b948bb8ecf532 100644
--- a/openair2/M2AP/m2ap_MCE_handler.c
+++ b/openair2/M2AP/m2ap_MCE_handler.c
@@ -113,7 +113,7 @@ int m2ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stre
   }
   
   /* Calling the right handler */
-  LOG_I(M2AP, "Calling handler with instance %d\n",instance);
+  LOG_I(M2AP, "Calling handler with instance %ld\n",instance);
   ret = (*m2ap_MCE_messages_callback[pdu.choice.initiatingMessage.procedureCode][pdu.present - 1])
         (instance, assoc_id, stream, &pdu);
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_M2AP_M2AP_PDU, &pdu);
diff --git a/openair2/M2AP/m2ap_MCE_interface_management.c b/openair2/M2AP/m2ap_MCE_interface_management.c
index e162c9a5de907d2e82559d499d229287e16d6802..3b12f41cbefc35f7ef25271be186bd3edfa4d4f4 100644
--- a/openair2/M2AP/m2ap_MCE_interface_management.c
+++ b/openair2/M2AP/m2ap_MCE_interface_management.c
@@ -179,7 +179,7 @@ int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
   int ENB_MBMS_M2AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE,M2AP_MBMS_SESSION_START_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE, 0,M2AP_MBMS_SESSION_START_RESP); //TODO
 
   LOG_D(M2AP, "M2AP: SessionStart-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -317,7 +317,7 @@ int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
   int ENB_MBMS_M2AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE,M2AP_MBMS_SESSION_STOP_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE, 0,M2AP_MBMS_SESSION_STOP_RESP); //TODO
 
   LOG_D(M2AP, "M2AP: SessionStop-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -616,7 +616,7 @@ int MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance,
   //int ENB_MBMS_M2AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE,M2AP_MBMS_SCHEDULING_INFORMATION_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE, 0,M2AP_MBMS_SCHEDULING_INFORMATION_RESP); //TODO
 
 //  LOG_D(M2AP, "M2AP: SessionStop-Resp: protocolIEs.list.count %d\n",
 //         in->protocolIEs.list.count);
@@ -720,7 +720,7 @@ int MCE_handle_M2_SETUP_REQUEST(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p = itti_alloc_new_message(TASK_MCE_APP, M2AP_SETUP_REQ); 
+  message_p = itti_alloc_new_message(TASK_MCE_APP, 0, M2AP_SETUP_REQ); 
   
   /* assoc_id */
   M2AP_SETUP_REQ(message_p).assoc_id = assoc_id;
@@ -1193,7 +1193,7 @@ int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
    //M2AP_MCEConfigurationUpdateFailure_Ies_t *ie;
 
 
-  MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_MCE, M2AP_MCE_CONFIGURATION_UPDATE_FAILURE);
+  MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_MCE, 0, M2AP_MCE_CONFIGURATION_UPDATE_FAILURE);
 
    LOG_D(M2AP, "M2AP: MCEConfigurationUpdate-Failure: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -1258,7 +1258,7 @@ int MCE_handle_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_MCE, M2AP_MCE_CONFIGURATION_UPDATE_ACK);
+  message_p  = itti_alloc_new_message (TASK_M2AP_MCE, 0, M2AP_MCE_CONFIGURATION_UPDATE_ACK);
 
 
   itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -1295,7 +1295,7 @@ int MCE_handle_ENB_CONFIGURATION_UPDATE(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_MCE, M2AP_MCE_CONFIGURATION_UPDATE_ACK);
+  message_p  = itti_alloc_new_message (TASK_M2AP_MCE, 0, M2AP_MCE_CONFIGURATION_UPDATE_ACK);
 
 
   itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -1399,7 +1399,7 @@ int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
   //int ENB_MBMS_M2AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE,M2AP_MBMS_SERVICE_COUNTING_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M2AP_MCE, 0,M2AP_MBMS_SERVICE_COUNTING_RESP); //TODO
 
   LOG_D(M2AP, "M2AP: MbmsServiceCounting-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
diff --git a/openair2/M2AP/m2ap_eNB.c b/openair2/M2AP/m2ap_eNB.c
index 39c769a43d67ae25e602fc980b84483fbff46951..c72eda7d8c30e86aa8967b2c1a6a32b91bb69cb5 100644
--- a/openair2/M2AP/m2ap_eNB.c
+++ b/openair2/M2AP/m2ap_eNB.c
@@ -136,7 +136,7 @@ void m2ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
   //dump_trees_m2();
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    M2AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    M2AP_WARN("Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -233,7 +233,7 @@ int m2ap_eNB_init_sctp (m2ap_eNB_instance_t *instance_p,
   sctp_init_t                            *sctp_init  = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(local_ip_addr != NULL);
-  message = itti_alloc_new_message (TASK_M2AP_ENB, SCTP_INIT_MSG_MULTI_REQ);
+  message = itti_alloc_new_message (TASK_M2AP_ENB, 0, SCTP_INIT_MSG_MULTI_REQ);
   sctp_init = &message->ittiMsg.sctp_init_multi;
   sctp_init->port = enb_port_for_M2C;
   sctp_init->ppid = M2AP_SCTP_PPID;
@@ -267,7 +267,7 @@ static void m2ap_eNB_register_eNB(m2ap_eNB_instance_t *instance_p,
   m2ap_eNB_data_t                  *m2ap_enb_data             = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(target_eNB_ip_address != NULL);
-  message = itti_alloc_new_message(TASK_M2AP_ENB, SCTP_NEW_ASSOCIATION_REQ_MULTI);
+  message = itti_alloc_new_message(TASK_M2AP_ENB, 0, SCTP_NEW_ASSOCIATION_REQ_MULTI);
   sctp_new_association_req = &message->ittiMsg.sctp_new_association_req_multi;
   sctp_new_association_req->port = enb_port_for_M2C;
   sctp_new_association_req->ppid = M2AP_SCTP_PPID;
@@ -319,7 +319,7 @@ void m2ap_eNB_handle_register_eNB(instance_t instance,
     DevCheck(new_instance->tac == m2ap_register_eNB->tac, new_instance->tac, m2ap_register_eNB->tac, 0);
     DevCheck(new_instance->mcc == m2ap_register_eNB->mcc, new_instance->mcc, m2ap_register_eNB->mcc, 0);
     DevCheck(new_instance->mnc == m2ap_register_eNB->mnc, new_instance->mnc, m2ap_register_eNB->mnc, 0);
-    M2AP_WARN("eNB[%d] already registered\n", instance);
+    M2AP_WARN("eNB[%ld] already registered\n", instance);
 
      
   } else {
@@ -376,7 +376,7 @@ void m2ap_eNB_handle_register_eNB(instance_t instance,
 
     /* Add the new instance to the list of eNB (meaningfull in virtual mode) */
     m2ap_eNB_insert_new_instance(new_instance);
-    M2AP_INFO("Registered new eNB[%d] and %s eNB id %u\n",
+    M2AP_INFO("Registered new eNB[%ld] and %s eNB id %u\n",
               instance,
               m2ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
               m2ap_register_eNB->eNB_id);
@@ -387,7 +387,7 @@ void m2ap_eNB_handle_register_eNB(instance_t instance,
       return;
     }
 
-    M2AP_INFO("eNB[%d] eNB id %u acting as a listner (server)\n",
+    M2AP_INFO("eNB[%ld] eNB id %u acting as a listner (server)\n",
               instance, m2ap_register_eNB->eNB_id);
   }
 }
@@ -414,7 +414,7 @@ void m2ap_eNB_handle_sctp_init_msg_multi_cnf(
   /* Trying to connect to the provided list of eNB ip address */
 
   for (index = 0; index < instance->nb_m2; index++) {
-    M2AP_INFO("eNB[%d] eNB id %u acting as an initiator (client)\n",
+    M2AP_INFO("eNB[%ld] eNB id %u acting as an initiator (client)\n",
               instance_id, instance->eNB_id);
     m2ap_eNB_register_eNB(instance,
                           &instance->target_mce_m2_ip_address[index],
@@ -527,7 +527,7 @@ void m2ap_eNB_handle_sctp_init_msg_multi_cnf(
 //  LOG_I(M2AP, "M2AP_SCTP_REQ(create socket)\n");
 //  MessageDef  *message_p = NULL;
 //
-//  message_p = itti_alloc_new_message (M2AP, SCTP_INIT_MSG);
+//  message_p = itti_alloc_new_message (M2AP, 0, SCTP_INIT_MSG);
 //  message_p->ittiMsg.sctp_init.port = M2AP_PORT_NUMBER;
 //  message_p->ittiMsg.sctp_init.ppid = M2AP_SCTP_PPID;
 //  message_p->ittiMsg.sctp_init.ipv4 = 1;
@@ -561,7 +561,7 @@ void *m2ap_eNB_task(void *arg) {
     switch (ITTI_MSG_ID(received_msg)) {
       case MESSAGE_TEST:
 	LOG_D(M2AP,"eNB Received MESSAGE_TEST Message %s\n",itti_get_task_name(ITTI_MSG_ORIGIN_ID(received_msg)));
-	//MessageDef * message_p = itti_alloc_new_message(TASK_M2AP_ENB, MESSAGE_TEST);
+	//MessageDef * message_p = itti_alloc_new_message(TASK_M2AP_ENB, 0, MESSAGE_TEST);
         //itti_send_msg_to_task(TASK_M3AP, 1/*ctxt_pP->module_id*/, message_p);
 	break;
       case TERMINATE_MESSAGE:
@@ -570,104 +570,104 @@ void *m2ap_eNB_task(void *arg) {
         break;
 
       case M2AP_SUBFRAME_PROCESS:
-        m2ap_check_timers(ITTI_MESSAGE_GET_INSTANCE(received_msg));
+        m2ap_check_timers(ITTI_MSG_DESTINATION_INSTANCE(received_msg));
         break;
 
       case M2AP_REGISTER_ENB_REQ:
 	LOG_I(M2AP,"eNB Received M2AP_REGISTER_ENB_REQ Message\n");
-        m2ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_REGISTER_ENB_REQ(received_msg));
         break;
 
 
       case M2AP_MBMS_SCHEDULING_INFORMATION_RESP:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SCHEDULING_INFORMATION_RESP Message\n");
-        eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SCHEDULING_INFORMATION_RESP(received_msg));
 	break;
       case M2AP_MBMS_SESSION_START_RESP:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SESSION_START_RESP Message\n");
-        eNB_send_MBMS_SESSION_START_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SESSION_START_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SESSION_START_RESP(received_msg));
 	break;
       case M2AP_MBMS_SESSION_START_FAILURE:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SESSION_START_FAILURE Message\n");
-        eNB_send_MBMS_SESSION_START_FAILURE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SESSION_START_FAILURE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SESSION_START_FAILURE(received_msg));
 	break;
       case M2AP_MBMS_SESSION_STOP_RESP:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SESSION_STOP_RESP Message\n");
-        eNB_send_MBMS_SESSION_STOP_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SESSION_STOP_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SESSION_STOP_RESP(received_msg));
 	break;
       case M2AP_ENB_CONFIGURATION_UPDATE:
 	LOG_I(M2AP,"eNB M2AP_ENB_CONFIGURATION_UPDATE Message\n");
-        eNB_send_eNB_CONFIGURATION_UPDATE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_eNB_CONFIGURATION_UPDATE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_ENB_CONFIGURATION_UPDATE(received_msg));
 	break;
       case M2AP_MCE_CONFIGURATION_UPDATE_ACK:
 	LOG_I(M2AP,"eNB M2AP_MCE_CONFIGURATION_UPDATE_ACK Message\n");
-        //eNB_send_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        //eNB_send_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
          //                            &M2AP_MCE_CONFIGURATION_UPDATE_ACK(received_msg));
 	break;
       case M2AP_MCE_CONFIGURATION_UPDATE_FAILURE:
 	LOG_I(M2AP,"eNB M2AP_MCE_CONFIGURATION_UPDATE_FAILURE Message\n");
-        //(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        //(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      //&M2AP_MCE_CONFIGURATION_UPDATE_FAILURE(received_msg));
 	break;
       case M2AP_MBMS_SESSION_UPDATE_RESP:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SESSION_UPDATE_RESP Message\n");
-        eNB_send_MBMS_SESSION_UPDATE_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SESSION_UPDATE_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SESSION_UPDATE_RESP(received_msg));
 	break;
       case M2AP_MBMS_SESSION_UPDATE_FAILURE:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SESSION_UPDATE_FAILURE Message\n");
-        eNB_send_MBMS_SESSION_UPDATE_FAILURE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SESSION_UPDATE_FAILURE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SESSION_UPDATE_FAILURE(received_msg));
 	break;
       case M2AP_MBMS_SERVICE_COUNTING_REPORT:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SERVICE_COUNTING_REPORT Message\n");
-        eNB_send_MBMS_SERVICE_COUNTING_REPORT(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SERVICE_COUNTING_REPORT(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SERVICE_COUNTING_REPORT(received_msg));
 	break;
       case M2AP_MBMS_OVERLOAD_NOTIFICATION:
 	LOG_I(M2AP,"eNB M2AP_MBMS_OVERLOAD_NOTIFICATION Message\n");
-        eNB_send_MBMS_OVERLOAD_NOTIFICATION(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_OVERLOAD_NOTIFICATION(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_OVERLOAD_NOTIFICATION(received_msg));
 	break;
       case M2AP_MBMS_SERVICE_COUNTING_RESP:
 	LOG_I(M2AP,"eNB M2AP_MBMS_SERVICE_COUNTING_RESP Message\n");
-        eNB_send_MBMS_SERVICE_COUNTING_RESP(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SERVICE_COUNTING_RESP(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SERVICE_COUNTING_RESP(received_msg));
 	break;
       case M2AP_MBMS_SERVICE_COUNTING_FAILURE:
 	LOG_I(M2AP,"eNB  Message\n");
-        eNB_send_MBMS_SERVICE_COUNTING_FAILURE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        eNB_send_MBMS_SERVICE_COUNTING_FAILURE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M2AP_MBMS_SERVICE_COUNTING_FAILURE(received_msg));
 	break;
 
 
       case SCTP_INIT_MSG_MULTI_CNF:
 	LOG_I(M2AP,"eNB Received SCTP_INIT_MSG_MULTI_CNF Message\n");
-        m2ap_eNB_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_eNB_handle_sctp_init_msg_multi_cnf(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                 &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
         break;
 
       case SCTP_NEW_ASSOCIATION_RESP:
 	LOG_I(M2AP,"eNB Received SCTP_NEW_ASSOCIATION_RESP Message\n");
-        m2ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_NEW_ASSOCIATION_IND:
 	LOG_I(M2AP,"eNB Received SCTP_NEW_ASSOCIATION Message\n");
-        m2ap_eNB_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_eNB_handle_sctp_association_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                              &received_msg->ittiMsg.sctp_new_association_ind);
         break;
 
       case SCTP_DATA_IND:
 	LOG_I(M2AP,"eNB Received SCTP_DATA_IND Message\n");
-        m2ap_eNB_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m2ap_eNB_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                       &received_msg->ittiMsg.sctp_data_ind);
         break;
 
diff --git a/openair2/M2AP/m2ap_eNB_handler.c b/openair2/M2AP/m2ap_eNB_handler.c
index fe0059f0a5a424d2d0ad00ff20371c61e2e52c64..9abc3374086569a2c39f570ae4703c77fc494eff 100644
--- a/openair2/M2AP/m2ap_eNB_handler.c
+++ b/openair2/M2AP/m2ap_eNB_handler.c
@@ -113,7 +113,7 @@ int m2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stre
   }
   
   /* Calling the right handler */
-  LOG_I(M2AP, "Calling handler with instance %d\n",instance);
+  LOG_I(M2AP, "Calling handler with instance %ld\n",instance);
   ret = (*m2ap_eNB_messages_callback[pdu.choice.initiatingMessage.procedureCode][pdu.present - 1])
         (instance, assoc_id, stream, &pdu);
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_M2AP_M2AP_PDU, &pdu);
diff --git a/openair2/M2AP/m2ap_eNB_interface_management.c b/openair2/M2AP/m2ap_eNB_interface_management.c
index 9649d919c3bf57d380cd28bac0d64d43786d6819..486e382e6928dc4b15e29867ef2d9b86435aa103 100644
--- a/openair2/M2AP/m2ap_eNB_interface_management.c
+++ b/openair2/M2AP/m2ap_eNB_interface_management.c
@@ -85,8 +85,8 @@ int eNB_handle_MBMS_SCHEDULING_INFORMATION(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MBMS_SCHEDULING_INFORMATION);
-  //message_p2  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MBMS_SCHEDULING_INFORMATION);
+  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MBMS_SCHEDULING_INFORMATION);
+  //message_p2  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MBMS_SCHEDULING_INFORMATION);
 
 
 
@@ -292,7 +292,7 @@ int eNB_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MBMS_SESSION_START_REQ);
+  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MBMS_SESSION_START_REQ);
 
 
   itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -463,7 +463,7 @@ int eNB_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MBMS_SESSION_STOP_REQ);
+  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MBMS_SESSION_STOP_REQ);
 
 
   itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -749,8 +749,8 @@ int eNB_handle_M2_SETUP_RESPONSE(instance_t instance,
    //M2AP_Cells_to_be_Activated_List_Item_t *cell;
    int i,j;
 
-   MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_SETUP_RESP);
-   //MessageDef *msg_p2 = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_SETUP_RESP);
+   MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_SETUP_RESP);
+   //MessageDef *msg_p2 = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_SETUP_RESP);
 
    LOG_D(M2AP, "M2AP: M2Setup-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -856,7 +856,7 @@ int eNB_handle_M2_SETUP_FAILURE(instance_t instance,
    M2AP_M2SetupFailure_Ies_t *ie;
 
 
-  MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_SETUP_FAILURE);
+  MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_SETUP_FAILURE);
 
    LOG_D(M2AP, "M2AP: M2Setup-Failure: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -1062,7 +1062,7 @@ int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
    //M2AP_ENBConfigurationUpdateFailure_Ies_t *ie;
 
 
-  MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_ENB_CONFIGURATION_UPDATE_FAILURE);
+  MessageDef *msg_p = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_ENB_CONFIGURATION_UPDATE_FAILURE);
 
    LOG_D(M2AP, "M2AP: ENBConfigurationUpdate-Failure: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -1127,7 +1127,7 @@ int eNB_handle_eNB_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_ENB_CONFIGURATION_UPDATE_ACK);
+  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_ENB_CONFIGURATION_UPDATE_ACK);
 
 
   itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -1162,7 +1162,7 @@ int eNB_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MCE_CONFIGURATION_UPDATE);
+  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MCE_CONFIGURATION_UPDATE);
 
 
   itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -1233,7 +1233,7 @@ int eNB_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
               assoc_id, stream);
   }
 
-  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MBMS_SESSION_UPDATE_REQ);
+  message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MBMS_SESSION_UPDATE_REQ);
 
 
   itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
@@ -1321,7 +1321,7 @@ int eNB_handle_MBMS_SERVICE_COUNTING_REQ(instance_t instance,
 
 
 
-   //message_p  = itti_alloc_new_message (TASK_M2AP_ENB, M2AP_MBMS_SERVICE_COUNTING_REQ);
+   //message_p  = itti_alloc_new_message (TASK_M2AP_ENB, 0, M2AP_MBMS_SERVICE_COUNTING_REQ);
 
 
    return 0;
diff --git a/openair2/M2AP/m2ap_eNB_management_procedures.c b/openair2/M2AP/m2ap_eNB_management_procedures.c
index b3ada92fa83c761febb9693cc116812d11a31ece..59d91afb74f0daaa243c97d564a084d6de75a740 100644
--- a/openair2/M2AP/m2ap_eNB_management_procedures.c
+++ b/openair2/M2AP/m2ap_eNB_management_procedures.c
@@ -116,7 +116,7 @@ void dump_trees_m2(void)
 m2ap_eNB_instance_t *zz;
 STAILQ_FOREACH(zz, &m2ap_eNB_internal_data.m2ap_eNB_instances_head,
                m2ap_eNB_entries) {
-printf("here comes the tree (instance %d):\n---------------------------------------------\n", zz->instance);
+printf("here comes the tree (instance %ld):\n---------------------------------------------\n", zz->instance);
 dump_tree_m2(zz->m2ap_enb_head.rbh_root);
 printf("---------------------------------------------\n");
 }
diff --git a/openair2/M2AP/m2ap_itti_messaging.c b/openair2/M2AP/m2ap_itti_messaging.c
index b9cfd329015b6792afa0b9218a7297fb90e1c888..e0dcc2717549ca536e229c6707e2fa1331267517 100644
--- a/openair2/M2AP/m2ap_itti_messaging.c
+++ b/openair2/M2AP/m2ap_itti_messaging.c
@@ -36,7 +36,7 @@ void m2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_M2AP_ENB, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_M2AP_ENB, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -56,7 +56,7 @@ void m2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_M2AP_ENB, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_M2AP_ENB, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
@@ -70,7 +70,7 @@ void m2ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_M2AP_MCE, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_M2AP_MCE, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -88,7 +88,7 @@ void m2ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_M2AP_MCE, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_M2AP_MCE, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
diff --git a/openair2/MCE_APP/mce_app.c b/openair2/MCE_APP/mce_app.c
index 817c863f7b31052ccd5bf2da90e9910746f23032..3572de215c446a12b3573cda32f635c345b110df 100644
--- a/openair2/MCE_APP/mce_app.c
+++ b/openair2/MCE_APP/mce_app.c
@@ -78,7 +78,7 @@ static uint32_t MCE_app_register(ngran_node_t node_type,uint32_t mce_id_start, u
     {
       // M3AP registration
         /* note:  there is an implicit relationship between the data structure and the message name */
-        msg_p = itti_alloc_new_message (TASK_MCE_APP, M3AP_REGISTER_MCE_REQ);
+        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M3AP_REGISTER_MCE_REQ);
         //RCconfig_S1(msg_p, mce_id);
 
         //if (mce_id == 0) 
@@ -92,7 +92,7 @@ static uint32_t MCE_app_register(ngran_node_t node_type,uint32_t mce_id_start, u
       //if (NODE_IS_DU(node_type)) { // F1AP registration
       //  // configure F1AP here for F1C
       //  LOG_I(ENB_APP,"ngran_eNB_DU: Allocating ITTI message for F1AP_SETUP_REQ\n");
-      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, F1AP_SETUP_REQ);
+      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, F1AP_SETUP_REQ);
       //  RCconfig_DU_F1(msg_p, enb_id);
 
       //  LOG_I(ENB_APP,"[eNB %d] eNB_app_register via F1AP for instance %d\n", enb_id, ENB_MODULE_ID_TO_INSTANCE(enb_id));
@@ -101,7 +101,7 @@ static uint32_t MCE_app_register(ngran_node_t node_type,uint32_t mce_id_start, u
       //}
       //else { // S1AP registration
       //  /* note:  there is an implicit relationship between the data structure and the message name */
-      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, S1AP_REGISTER_ENB_REQ);
+      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, S1AP_REGISTER_ENB_REQ);
       //  RCconfig_S1(msg_p, enb_id);
 
       //  if (enb_id == 0) RCconfig_gtpu();
@@ -128,7 +128,7 @@ static uint32_t MCE_app_register(ngran_node_t node_type,uint32_t mce_id_start, u
 //
 //  for (mce_id = mce_id_start; (mce_id < mce_id_end) ; mce_id++) {
 //    {
-//      msg_p = itti_alloc_new_message (TASK_ENB_APP, X2AP_REGISTER_ENB_REQ);
+//      msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, X2AP_REGISTER_ENB_REQ);
 //      RCconfig_X2(msg_p, mce_id);
 //      itti_send_msg_to_task (TASK_X2AP, ENB_MODULE_ID_TO_INSTANCE(mce_id), msg_p);
 //      register_mce_x2_pending++;
@@ -148,7 +148,7 @@ static uint32_t MCE_app_register(ngran_node_t node_type,uint32_t mce_id_start, u
 //  for (mce_id = mce_id_start; (mce_id < mce_id_end) ; mce_id++) {
 //    {
 //  //	LOG_W(MCE_APP,"Register commes inside ...\n");
-//      msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_REGISTER_MCE_REQ);
+//      msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_REGISTER_MCE_REQ);
 //      //RCconfig_M2_MCE(msg_p, mce_id);
 //      itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(mce_id), msg_p);
 //  //	LOG_W(MCE_APP,"Register sent ...\n");
@@ -169,7 +169,7 @@ static uint32_t MCE_app_register_m3(uint32_t mce_id_start, uint32_t mce_id_end)
   for (mce_id = mce_id_start; (mce_id < mce_id_end) ; mce_id++) {
     {
   //	LOG_W(MCE_APP,"Register commes inside ...\n");
-      msg_p = itti_alloc_new_message (TASK_MCE_APP, M3AP_REGISTER_MCE_REQ);
+      msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M3AP_REGISTER_MCE_REQ);
       RCconfig_M3(msg_p, mce_id);
       itti_send_msg_to_task (TASK_M3AP_MCE, ENB_MODULE_ID_TO_INSTANCE(mce_id), msg_p);
   	LOG_D(MCE_APP,"Register sent ...\n");
@@ -184,7 +184,7 @@ static uint32_t MCE_app_register_m3(uint32_t mce_id_start, uint32_t mce_id_end)
 //static uint32_t MCE_app_handle_m3ap_mbms_session_start_req(instance_t instance){
 //  	//uint32_t         mce_id=0;
 //  //	MessageDef      *msg_p;
-//  //      msg_p = itti_alloc_new_message (TASK_MCE_APP, M3AP_MBMS_SESSION_START_RESP);
+//  //      msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M3AP_MBMS_SESSION_START_RESP);
 //  //      itti_send_msg_to_task (TASK_M3AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	
@@ -194,7 +194,7 @@ static uint32_t MCE_app_register_m3(uint32_t mce_id_start, uint32_t mce_id_end)
 static uint32_t MCE_app_handle_m3ap_mbms_session_stop_req(instance_t instance){
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MCE_APP, M3AP_MBMS_SESSION_STOP_RESP);
+        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M3AP_MBMS_SESSION_STOP_RESP);
         itti_send_msg_to_task (TASK_M3AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	
 	return 0;
@@ -203,7 +203,7 @@ static uint32_t MCE_app_handle_m3ap_mbms_session_stop_req(instance_t instance){
 static uint32_t MCE_app_handle_m3ap_mbms_session_update_req(instance_t instance){
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MCE_APP, M3AP_MBMS_SESSION_UPDATE_RESP);
+        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M3AP_MBMS_SESSION_UPDATE_RESP);
         itti_send_msg_to_task (TASK_M3AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	
 	return 0;
@@ -216,7 +216,7 @@ static uint32_t MCE_app_handle_m2ap_setup_req(instance_t instance){
 	
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_SETUP_RESP);
+        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_SETUP_RESP);
 	if(m2ap_setup_resp_local)
 		memcpy(&M2AP_SETUP_RESP(msg_p),m2ap_setup_resp_local,sizeof(m2ap_setup_resp_t));
 	else
@@ -230,7 +230,7 @@ static uint32_t MCE_app_handle_m2ap_setup_req(instance_t instance){
 
 static uint32_t MCE_app_handle_m2ap_mbms_session_start_resp(instance_t instance){
 	MessageDef      *msg_p;
-  	msg_p = itti_alloc_new_message (TASK_MCE_APP, M3AP_MBMS_SESSION_START_RESP); 
+  	msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M3AP_MBMS_SESSION_START_RESP); 
 	itti_send_msg_to_task (TASK_M3AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	return 0;
 }
@@ -243,7 +243,7 @@ static uint32_t MCE_app_send_m2ap_mbms_scheduling_information(instance_t instanc
 	
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_MBMS_SCHEDULING_INFORMATION);
+        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_MBMS_SCHEDULING_INFORMATION);
 	if(m2ap_mbms_scheduling_information_local)
 		memcpy(&M2AP_MBMS_SCHEDULING_INFORMATION(msg_p),m2ap_mbms_scheduling_information_local,sizeof(m2ap_mbms_scheduling_information_t));
 	else
@@ -257,7 +257,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 	
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_MBMS_SESSION_START_REQ);
+        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_MBMS_SESSION_START_REQ);
         itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	
 	return 0;
@@ -266,7 +266,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_MBMS_SESSION_STOP_REQ);
+//        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_MBMS_SESSION_STOP_REQ);
 //        itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -275,7 +275,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_MCE_CONFIGURATION_UPDATE);
+//        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_MCE_CONFIGURATION_UPDATE);
 //        itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -284,7 +284,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_ENB_CONFIGURATION_UPDATE_ACK);
+//        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_ENB_CONFIGURATION_UPDATE_ACK);
 //        itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -293,7 +293,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MCE_APP, M2AP_ENB_CONFIGURATION_UPDATE_FAILURE);
+//        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, M2AP_ENB_CONFIGURATION_UPDATE_FAILURE);
 //        itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -303,7 +303,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MCE_APP, MESSAGE_TEST);
+//        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, MESSAGE_TEST);
 //        itti_send_msg_to_task (TASK_MME_APP, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -313,7 +313,7 @@ static uint32_t MCE_app_send_m2ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MCE_APP, MESSAGE_TEST);
+//        msg_p = itti_alloc_new_message (TASK_MCE_APP, 0, MESSAGE_TEST);
 //        itti_send_msg_to_task (TASK_M3AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -379,7 +379,7 @@ void *MCE_app_task(void *args_p) {
   do {
     // Wait for a message
     itti_receive_msg (TASK_MCE_APP, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
 
     switch (ITTI_MSG_ID(msg_p)) {
     case TERMINATE_MESSAGE:
@@ -397,7 +397,7 @@ void *MCE_app_task(void *args_p) {
 
     case M3AP_REGISTER_MCE_CNF:
       //AssertFatal(!NODE_IS_DU(RC.rrc[0]->node_type), "Should not have received S1AP_REGISTER_ENB_CNF\n");
-          LOG_I(MCE_APP, "[MCE %d] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
+          LOG_I(MCE_APP, "[MCE %ld] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
                 M3AP_REGISTER_MCE_CNF(msg_p).nb_mme);
           DevAssert(register_mce_pending > 0);
           register_mce_pending--;
@@ -412,7 +412,7 @@ void *MCE_app_task(void *args_p) {
             if (registered_mce == mce_nb) {
               /* If all MCE are registered, start L2L1 task */
              // MessageDef *msg_init_p;
-             // msg_init_p = itti_alloc_new_message (TASK_ENB_APP, INITIALIZE_MESSAGE);
+             // msg_init_p = itti_alloc_new_message (TASK_ENB_APP, 0, INITIALIZE_MESSAGE);
              // itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
             } else {
               LOG_W(MCE_APP, " %d MCE not associated with a MME, retrying registration in %d seconds ...\n",
@@ -434,7 +434,7 @@ void *MCE_app_task(void *args_p) {
 
    case M3AP_MBMS_SESSION_START_REQ:
         LOG_I(MCE_APP, "Received M3AP_MBMS_SESSION_START_REQ message %s\n", ITTI_MSG_NAME (msg_p));
-	//MCE_app_handle_m3ap_mbms_session_start_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+	//MCE_app_handle_m3ap_mbms_session_start_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
 	if(m2ap_setup_req_local)
 		if (timer_setup (2, 0, TASK_MCE_APP, INSTANCE_DEFAULT, TIMER_ONE_SHOT,
                                NULL, &mce_scheduling_info_timer_id) < 0) {
@@ -445,12 +445,12 @@ void *MCE_app_task(void *args_p) {
 
    case M3AP_MBMS_SESSION_STOP_REQ:
         LOG_I(MCE_APP, "Received M3AP_MBMS_SESSION_STOP_REQ message %s\n", ITTI_MSG_NAME (msg_p));
-	MCE_app_handle_m3ap_mbms_session_stop_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+	MCE_app_handle_m3ap_mbms_session_stop_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
 	break;
 
    case M3AP_MBMS_SESSION_UPDATE_REQ:
         LOG_I(MCE_APP, "Received M3AP_MBMS_SESSION_UPDATE_REQ message %s\n", ITTI_MSG_NAME (msg_p));
-	MCE_app_handle_m3ap_mbms_session_update_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+	MCE_app_handle_m3ap_mbms_session_update_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
 	break;
 
 
@@ -479,7 +479,7 @@ void *MCE_app_task(void *args_p) {
    //       /* If all MCE cells are registered, start L2L1 task */
    //       MessageDef *msg_init_p;
 
-   //       //msg_init_p = itti_alloc_new_message (TASK_MCE_APP, INITIALIZE_MESSAGE);
+   //       //msg_init_p = itti_alloc_new_message (TASK_MCE_APP, 0, INITIALIZE_MESSAGE);
    //       //itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
 
    //     } else {
@@ -503,7 +503,7 @@ void *MCE_app_task(void *args_p) {
 
     case M3AP_DEREGISTERED_MCE_IND:
       if (EPC_MODE_ENABLED) {
-  	LOG_W(MCE_APP, "[MCE %d] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
+  	LOG_W(MCE_APP, "[MCE %ld] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
   	      M3AP_DEREGISTERED_MCE_IND(msg_p).nb_mme);
   	/* TODO handle recovering of registration */
       }
@@ -621,7 +621,7 @@ void *MCE_app_task(void *args_p) {
 		m2ap_setup_req_local = (m2ap_setup_req_t*)calloc(1,sizeof(m2ap_setup_req_t));
 	if(m2ap_setup_req_local)
 		memcpy(m2ap_setup_req_local,&M2AP_SETUP_REQ(msg_p),sizeof(m2ap_setup_req_t));
-	MCE_app_handle_m2ap_setup_req(ITTI_MESSAGE_GET_INSTANCE(msg_p));
+	MCE_app_handle_m2ap_setup_req(ITTI_MSG_DESTINATION_INSTANCE(msg_p));
 	//MCE_app_send_m2ap_mbms_scheduling_information(0);
 	//if (timer_setup (2, 0, TASK_MCE_APP, INSTANCE_DEFAULT, TIMER_ONE_SHOT,
         //                       NULL, &mce_scheduling_info_timer_id) < 0) {
diff --git a/openair2/MCE_APP/mce_config.c b/openair2/MCE_APP/mce_config.c
index 975f524ebd1816ec56a092e64116416aad458daf..439f2d2061c9a85b0daa7c8d52c3a97ca2f09fd0 100644
--- a/openair2/MCE_APP/mce_config.c
+++ b/openair2/MCE_APP/mce_config.c
@@ -108,7 +108,7 @@ int RCconfig_MCE(void ) {
 
   if (address) {
     MessageDef *message; 
-    AssertFatal((message = itti_alloc_new_message(TASK_MCE_APP, M2AP_MCE_SCTP_REQ))!=NULL,"");
+    AssertFatal((message = itti_alloc_new_message(TASK_MCE_APP, 0, M2AP_MCE_SCTP_REQ))!=NULL,"");
     //IPV4_STR_ADDR_TO_INT_NWBO ( address, M2AP_MCE_SCTP_REQ(message).mce_m2_ip_address, "BAD IP ADDRESS FORMAT FOR MCE M2_C !\n" );
     M2AP_MCE_SCTP_REQ (message).mce_m2_ip_address.ipv6 = 0;
     M2AP_MCE_SCTP_REQ (message).mce_m2_ip_address.ipv4 = 1;
diff --git a/openair2/RRC/LTE/L2_interface_common.c b/openair2/RRC/LTE/L2_interface_common.c
index fa332b5be1e77bd84ddcb3e89e388d186334380d..f70cc68550445263d677328bc2ac13279f786058 100644
--- a/openair2/RRC/LTE/L2_interface_common.c
+++ b/openair2/RRC/LTE/L2_interface_common.c
@@ -80,7 +80,7 @@ rrc_data_req(
                      ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE,
                      sdu_sizeP);
   memcpy (message_buffer, buffer_pP, sdu_sizeP);
-  message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, RRC_DCCH_DATA_REQ);
+  message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, 0, RRC_DCCH_DATA_REQ);
   RRC_DCCH_DATA_REQ (message_p).frame     = ctxt_pP->frame;
   RRC_DCCH_DATA_REQ (message_p).enb_flag  = ctxt_pP->enb_flag;
   RRC_DCCH_DATA_REQ (message_p).rb_id     = rb_idP;
@@ -139,7 +139,7 @@ rrc_data_ind(
     uint8_t *message_buffer;
     message_buffer = itti_malloc (ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, sdu_sizeP);
     memcpy (message_buffer, buffer_pP, sdu_sizeP);
-    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, RRC_DCCH_DATA_IND);
+    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, 0, RRC_DCCH_DATA_IND);
     RRC_DCCH_DATA_IND (message_p).frame      = ctxt_pP->frame;
     RRC_DCCH_DATA_IND (message_p).dcch_index = DCCH_index;
     RRC_DCCH_DATA_IND (message_p).sdu_size   = sdu_sizeP;
diff --git a/openair2/RRC/LTE/L2_interface_ue.c b/openair2/RRC/LTE/L2_interface_ue.c
index 8c55dbaeb50030fa4e1acdf1ec5038584317a381..5c1800cdd4dcfb3107db35726bf9527bafa368cb 100644
--- a/openair2/RRC/LTE/L2_interface_ue.c
+++ b/openair2/RRC/LTE/L2_interface_ue.c
@@ -94,7 +94,7 @@ mac_rrc_data_req_ue(
         ccch_size = sdu_size;
       }
 
-      message_p = itti_alloc_new_message (TASK_RRC_UE, RRC_MAC_CCCH_DATA_REQ);
+      message_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_MAC_CCCH_DATA_REQ);
       RRC_MAC_CCCH_DATA_REQ (message_p).frame = frameP;
       RRC_MAC_CCCH_DATA_REQ (message_p).sdu_size = ccch_size;
       memset (RRC_MAC_CCCH_DATA_REQ (message_p).sdu, 0, CCCH_SDU_SIZE);
@@ -155,7 +155,7 @@ mac_rrc_data_ind_ue(
         sdu_size = sdu_lenP;
       }
 
-      message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_BCCH_MBMS_DATA_IND);
+      message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_BCCH_MBMS_DATA_IND);
       memset (RRC_MAC_BCCH_MBMS_DATA_IND (message_p).sdu, 0, BCCH_SDU_MBMS_SIZE);
       RRC_MAC_BCCH_MBMS_DATA_IND (message_p).frame     = frameP;
       RRC_MAC_BCCH_MBMS_DATA_IND (message_p).sub_frame = sub_frameP;
@@ -181,7 +181,7 @@ mac_rrc_data_ind_ue(
         sdu_size = sdu_lenP;
       }
 
-      message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_BCCH_DATA_IND);
+      message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_BCCH_DATA_IND);
       memset (RRC_MAC_BCCH_DATA_IND (message_p).sdu, 0, BCCH_SDU_SIZE);
       RRC_MAC_BCCH_DATA_IND (message_p).frame     = frameP;
       RRC_MAC_BCCH_DATA_IND (message_p).sub_frame = sub_frameP;
@@ -213,7 +213,7 @@ mac_rrc_data_ind_ue(
           sdu_size =  sdu_lenP;
         }
 
-        message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_CCCH_DATA_IND);
+        message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_CCCH_DATA_IND);
         memset (RRC_MAC_CCCH_DATA_IND (message_p).sdu, 0, CCCH_SDU_SIZE);
         memcpy (RRC_MAC_CCCH_DATA_IND (message_p).sdu, sduP, sdu_size);
         RRC_MAC_CCCH_DATA_IND (message_p).frame     = frameP;
@@ -239,7 +239,7 @@ mac_rrc_data_ind_ue(
         sdu_size = msg_sdu_size;
       }
 
-      message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_MCCH_DATA_IND);
+      message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_MCCH_DATA_IND);
       RRC_MAC_MCCH_DATA_IND (message_p).frame           = frameP;
       RRC_MAC_MCCH_DATA_IND (message_p).sub_frame       = sub_frameP;
       RRC_MAC_MCCH_DATA_IND (message_p).sdu_size        = sdu_lenP;
@@ -293,7 +293,7 @@ rrc_data_req_ue(
                        ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE,
                        sdu_sizeP);
     memcpy (message_buffer, buffer_pP, sdu_sizeP);
-    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, RRC_DCCH_DATA_REQ);
+    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, 0, RRC_DCCH_DATA_REQ);
     RRC_DCCH_DATA_REQ (message_p).frame     = ctxt_pP->frame;
     RRC_DCCH_DATA_REQ (message_p).enb_flag  = ctxt_pP->enb_flag;
     RRC_DCCH_DATA_REQ (message_p).rb_id     = rb_idP;
@@ -332,7 +332,7 @@ rrc_data_ind_ue(
     uint8_t *message_buffer;
     message_buffer = itti_malloc (ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, sdu_sizeP);
     memcpy (message_buffer, buffer_pP, sdu_sizeP);
-    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, RRC_DCCH_DATA_IND);
+    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, 0, RRC_DCCH_DATA_IND);
     RRC_DCCH_DATA_IND (message_p).frame      = ctxt_pP->frame;
     RRC_DCCH_DATA_IND (message_p).dcch_index = DCCH_index;
     RRC_DCCH_DATA_IND (message_p).sdu_size   = sdu_sizeP;
@@ -350,7 +350,7 @@ void rrc_in_sync_ind(module_id_t Mod_idP, frame_t frameP, uint16_t eNB_index) {
   {
     MessageDef *message_p;
     //LOG_I(RRC,"sending a message to task_mac_ue\n");
-    message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_IN_SYNC_IND);
+    message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_IN_SYNC_IND);
     RRC_MAC_IN_SYNC_IND (message_p).frame = frameP;
     RRC_MAC_IN_SYNC_IND (message_p).enb_index = eNB_index;
     itti_send_msg_to_task (TASK_RRC_UE, UE_MODULE_ID_TO_INSTANCE(Mod_idP), message_p);
@@ -370,7 +370,7 @@ void rrc_out_of_sync_ind(module_id_t Mod_idP, frame_t frameP, uint16_t eNB_index
 
   {
     MessageDef *message_p;
-    message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_OUT_OF_SYNC_IND);
+    message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_OUT_OF_SYNC_IND);
     RRC_MAC_OUT_OF_SYNC_IND (message_p).frame = frameP;
     RRC_MAC_OUT_OF_SYNC_IND (message_p).enb_index = eNB_index;
     itti_send_msg_to_task (TASK_RRC_UE, UE_MODULE_ID_TO_INSTANCE(Mod_idP), message_p);
@@ -396,7 +396,7 @@ int mac_ue_ccch_success_ind(module_id_t Mod_idP, uint8_t eNB_index) {
   //-------------------------------------------------------------------------------------------//
   {
     MessageDef *message_p;
-    message_p = itti_alloc_new_message (TASK_MAC_UE, RRC_MAC_CCCH_DATA_CNF);
+    message_p = itti_alloc_new_message (TASK_MAC_UE, 0, RRC_MAC_CCCH_DATA_CNF);
     RRC_MAC_CCCH_DATA_CNF (message_p).enb_index = eNB_index;
     itti_send_msg_to_task (TASK_RRC_UE, UE_MODULE_ID_TO_INSTANCE(Mod_idP), message_p);
   }
diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c
index c5aa2bc0f8415f748cf6eeb4a5abb3fa4117a17c..c57cec6ba5eaba879b2c3874d2d3b4a088834e8e 100644
--- a/openair2/RRC/LTE/rrc_UE.c
+++ b/openair2/RRC/LTE/rrc_UE.c
@@ -1796,7 +1796,7 @@ rrc_ue_process_rrcConnectionReconfiguration(
         for (list_count = 0; list_count < rrcConnectionReconfiguration_r8->dedicatedInfoNASList->list.count; list_count++) {
           pdu_length = rrcConnectionReconfiguration_r8->dedicatedInfoNASList->list.array[list_count]->size;
           pdu_buffer = rrcConnectionReconfiguration_r8->dedicatedInfoNASList->list.array[list_count]->buf;
-          msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_ESTABLI_CNF);
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CONN_ESTABLI_CNF);
           NAS_CONN_ESTABLI_CNF(msg_p).errCode = AS_SUCCESS;
           NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.length = pdu_length;
           NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.data = pdu_buffer;
@@ -1811,7 +1811,7 @@ rrc_ue_process_rrcConnectionReconfiguration(
         MessageDef                                 *message_ral_p = NULL;
         rrc_ral_connection_reestablishment_ind_t    connection_reestablishment_ind;
         int                                         i;
-        message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_REESTABLISHMENT_IND);
+        message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_REESTABLISHMENT_IND);
         memset(&connection_reestablishment_ind, 0, sizeof(rrc_ral_connection_reestablishment_ind_t));
         // TO DO ral_si_ind.plmn_id        = 0;
         connection_reestablishment_ind.ue_id            = ctxt_pP->rnti;
@@ -2007,7 +2007,7 @@ rrc_ue_decode_dcch(
             MessageDef *msg_p;
             pdu_length = dedicatedInfoType->choice.dedicatedInfoNAS.size;
             pdu_buffer = dedicatedInfoType->choice.dedicatedInfoNAS.buf;
-            msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_DOWNLINK_DATA_IND);
+            msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_DOWNLINK_DATA_IND);
             NAS_DOWNLINK_DATA_IND(msg_p).UEid = ctxt_pP->module_id; // TODO set the UEid to something else ?
             NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.length = pdu_length;
             NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.data = pdu_buffer;
@@ -2073,7 +2073,7 @@ rrc_ue_decode_dcch(
               MessageDef                                 *message_ral_p = NULL;
               rrc_ral_connection_reconfiguration_ho_ind_t connection_reconfiguration_ho_ind;
               int                                         i;
-              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND);
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND);
               memset(&connection_reconfiguration_ho_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
               connection_reconfiguration_ho_ind.ue_id = ctxt_pP->module_id;
 
@@ -2127,7 +2127,7 @@ rrc_ue_decode_dcch(
               MessageDef                                 *message_ral_p = NULL;
               rrc_ral_connection_reconfiguration_ind_t    connection_reconfiguration_ind;
               int                                         i;
-              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_RECONFIGURATION_IND);
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RECONFIGURATION_IND);
               memset(&connection_reconfiguration_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ind_t));
               connection_reconfiguration_ind.ue_id = ctxt_pP->module_id;
 
@@ -2189,7 +2189,7 @@ rrc_ue_decode_dcch(
           break;
 
         case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionRelease:
-          msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_RELEASE_IND);
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CONN_RELEASE_IND);
 
           if ((dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.present
                == LTE_RRCConnectionRelease__criticalExtensions_PR_c1)
@@ -2201,7 +2201,7 @@ rrc_ue_decode_dcch(
 
           itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
 #if ENABLE_RAL
-          msg_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_CONNECTION_RELEASE_IND);
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RELEASE_IND);
           RRC_RAL_CONNECTION_RELEASE_IND(msg_p).ue_id = ctxt_pP->module_id;
           itti_send_msg_to_task(TASK_RAL_UE, ctxt_pP->instance, msg_p);
 #endif
@@ -2837,7 +2837,7 @@ int decode_SIB1_MBMS( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_in
             )
           ) {
             MessageDef  *msg_p;
-            msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CELL_SELECTION_CNF);
+            msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CELL_SELECTION_CNF);
             NAS_CELL_SELECTION_CNF (msg_p).errCode = AS_SUCCESS;
             NAS_CELL_SELECTION_CNF (msg_p).cellID = BIT_STRING_to_uint32(&sib1->cellAccessRelatedInfo.cellIdentity);
             NAS_CELL_SELECTION_CNF (msg_p).tac = BIT_STRING_to_uint16(&sib1->cellAccessRelatedInfo.trackingAreaCode);
@@ -2853,7 +2853,7 @@ int decode_SIB1_MBMS( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_in
 
       if (cell_valid == 0) {
         MessageDef  *msg_p;
-        msg_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_NEXT_CELL_REQ);
+        msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_NEXT_CELL_REQ);
         itti_send_msg_to_task(TASK_PHY_UE, ctxt_pP->instance, msg_p);
         LOG_E(RRC, "Synched with a cell, but PLMN doesn't match our SIM, the message PHY_FIND_NEXT_CELL_REQ is sent but lost in current UE implementation! \n");
       }
@@ -3036,7 +3036,7 @@ int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,
         ) {
           /* PLMN match, send a confirmation to NAS */
           MessageDef  *msg_p;
-          msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CELL_SELECTION_CNF);
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CELL_SELECTION_CNF);
           NAS_CELL_SELECTION_CNF (msg_p).errCode = AS_SUCCESS;
           NAS_CELL_SELECTION_CNF (msg_p).cellID = BIT_STRING_to_uint32(&sib1->cellAccessRelatedInfo.cellIdentity);
           NAS_CELL_SELECTION_CNF (msg_p).tac = BIT_STRING_to_uint16(&sib1->cellAccessRelatedInfo.trackingAreaCode);
@@ -3054,7 +3054,7 @@ int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,
     if (cell_valid == 0) {
       /* Cell can not be used, ask PHY to try the next one */
       MessageDef  *msg_p;
-      msg_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_NEXT_CELL_REQ);
+      msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_NEXT_CELL_REQ);
       itti_send_msg_to_task(TASK_PHY_UE, ctxt_pP->instance, msg_p);
       LOG_E(RRC,
             "Synched with a cell, but PLMN doesn't match our SIM "
@@ -3672,7 +3672,7 @@ int decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
             {
               MessageDef                            *message_ral_p = NULL;
               rrc_ral_system_information_ind_t       ral_si_ind;
-              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_SYSTEM_INFORMATION_IND);
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_SYSTEM_INFORMATION_IND);
               memset(&ral_si_ind, 0, sizeof(rrc_ral_system_information_ind_t));
               ral_si_ind.plmn_id.MCCdigit2 = '0';
               ral_si_ind.plmn_id.MCCdigit1 = '2';
@@ -4456,7 +4456,7 @@ void *rrc_ue_task( void *args_p ) {
   while(1) {
     // Wait for a message
     itti_receive_msg (TASK_RRC_UE, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
     ue_mod_id = UE_INSTANCE_TO_MODULE_ID(instance);
 
     switch (ITTI_MSG_ID(msg_p)) {
@@ -4645,7 +4645,7 @@ void *rrc_ue_task( void *args_p ) {
           case RRC_STATE_IDLE: {
             /* Ask to layer 1 to find a cell matching the criterion */
             MessageDef *message_p;
-            message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ);
+            message_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_CELL_REQ);
             PHY_FIND_CELL_REQ (message_p).earfcn_start = 1;
             PHY_FIND_CELL_REQ (message_p).earfcn_end = 1;
             itti_send_msg_to_task(TASK_PHY_UE, UE_MODULE_ID_TO_INSTANCE(ue_mod_id), message_p);
@@ -4748,7 +4748,7 @@ void *rrc_ue_task( void *args_p ) {
             if (rrc_get_sub_state(ue_mod_id) != RRC_SUB_STATE_IDLE_SEARCHING) {
               /* Ask to layer 1 to find a cell matching the criterion */
               MessageDef *message_p;
-              message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ);
+              message_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_CELL_REQ);
               rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
               PHY_FIND_CELL_REQ (message_p).transaction_id = RRC_RAL_SCAN_REQ (msg_p).transaction_id;
               PHY_FIND_CELL_REQ (message_p).earfcn_start   = 1;
@@ -4780,7 +4780,7 @@ void *rrc_ue_task( void *args_p ) {
               case RRC_SUB_STATE_IDLE_SEARCHING: {
                 MessageDef *message_p;
                 int         i;
-                message_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_SCAN_CONF);
+                message_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_SCAN_CONF);
                 RRC_RAL_SCAN_CONF (message_p).transaction_id = PHY_FIND_CELL_IND(msg_p).transaction_id;
                 RRC_RAL_SCAN_CONF (message_p).num_scan_resp  = PHY_FIND_CELL_IND(msg_p).cell_nb;
 
@@ -4823,7 +4823,7 @@ void *rrc_ue_task( void *args_p ) {
       case PHY_MEAS_REPORT_IND: {
         LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
         MessageDef *message_p;
-        message_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_MEASUREMENT_REPORT_IND);
+        message_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_MEASUREMENT_REPORT_IND);
         memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold,
                &PHY_MEAS_REPORT_IND(msg_p).threshold,
                sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold));
diff --git a/openair2/RRC/LTE/rrc_UE_ral.c b/openair2/RRC/LTE/rrc_UE_ral.c
index d7ace8c242c4e88c6a59588786fc9a4339d6c908..1ebba43d8b276ba04cb78a4def9288434406e5e9 100644
--- a/openair2/RRC/LTE/rrc_UE_ral.c
+++ b/openair2/RRC/LTE/rrc_UE_ral.c
@@ -126,7 +126,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                 message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_PHY_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_PHY_UE, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               default:
@@ -147,7 +147,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                 message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_MAC_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_MAC_UE, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               default:
@@ -166,7 +166,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                 message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_PHY_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_PHY_UE, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               case RAL_LINK_PARAM_LTE_AVAILABLE_BW:
@@ -176,7 +176,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                 message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_MAC_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_MAC_UE, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               case RAL_LINK_PARAM_LTE_MOBILE_NODE_CAPABILITIES:
diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index 18b7173a087f926517629e1ebc26f9928d90041e..fc99ba946eb214132d8361423403157081cf79df 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -332,7 +332,7 @@ init_SI(
     if (carrier->MBMS_flag > 0) {
       for (i = 0; i < carrier->sib2->mbsfn_SubframeConfigList->list.count; i++) {
         // SIB 2
-        //   LOG_D(RRC, "[eNB %d] mbsfn_SubframeConfigList.list.count = %ld\n", enb_mod_idP, RC.rrc[enb_mod_idP].sib2->mbsfn_SubframeConfigList->list.count);
+        //   LOG_D(RRC, "[eNB %ld] mbsfn_SubframeConfigList.list.count = %ld\n", enb_mod_idP, RC.rrc[enb_mod_idP].sib2->mbsfn_SubframeConfigList->list.count);
         LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN subframe allocation %d/%d(partial)\n",
               PROTOCOL_RRC_CTXT_ARGS(ctxt_pP),
               i,
@@ -1132,7 +1132,7 @@ void release_UE_in_freeList(module_id_t mod_id) {
         rrc_rlc_remove_ue(&ctxt);
         pdcp_remove_UE(&ctxt);
       } else {
-        MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, F1AP_UE_CONTEXT_RELEASE_CMD);
+        MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, 0, F1AP_UE_CONTEXT_RELEASE_CMD);
         F1AP_UE_CONTEXT_RELEASE_CMD(m).rnti = rnti;
         F1AP_UE_CONTEXT_RELEASE_CMD(m).cause = F1AP_CAUSE_RADIO_NETWORK;
         F1AP_UE_CONTEXT_RELEASE_CMD(m).cause_value = 10; // 10 = F1AP_CauseRadioNetwork_normal_release
@@ -2173,7 +2173,7 @@ void rrc_generate_SgNBReleaseRequest(
 //-----------------------------------------------------------------------------
 {
   MessageDef      *msg;
-  msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_ENDC_SGNB_RELEASE_REQ);
+  msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_ENDC_SGNB_RELEASE_REQ);
   memset(&(X2AP_ENDC_SGNB_RELEASE_REQ(msg)), 0, sizeof(x2ap_ENDC_sgnb_release_req_t));
   // X2AP_ENDC_SGNB_RELEASE_REQ(msg).MeNB_ue_x2_id = ;
   // X2AP_ENDC_SGNB_RELEASE_REQ(msg).SgNB_ue_x2_id = ;
@@ -2268,7 +2268,7 @@ rrc_eNB_generate_RRCConnectionRelease(
   pthread_mutex_unlock(&rrc_release_freelist);
 
   if (NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
-    MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, F1AP_UE_CONTEXT_RELEASE_CMD);
+    MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, 0, F1AP_UE_CONTEXT_RELEASE_CMD);
     F1AP_UE_CONTEXT_RELEASE_CMD(m).rnti = ctxt_pP->rnti;
     F1AP_UE_CONTEXT_RELEASE_CMD(m).cause = F1AP_CAUSE_RADIO_NETWORK;
     F1AP_UE_CONTEXT_RELEASE_CMD(m).cause_value = 10; // 10 = F1AP_CauseRadioNetwork_normal_release
@@ -3110,7 +3110,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
       LOG_W(RRC, "drx_Configuration parameter is NULL, cannot configure local UE parameters or CDRX is deactivated\n");
     } else {
       /* Send DRX configuration to MAC task to configure timers of local UE context */
-      message_p = itti_alloc_new_message(TASK_RRC_ENB, RRC_MAC_DRX_CONFIG_REQ);
+      message_p = itti_alloc_new_message(TASK_RRC_ENB, 0, RRC_MAC_DRX_CONFIG_REQ);
       RRC_MAC_DRX_CONFIG_REQ(message_p).rnti = rnti;
       RRC_MAC_DRX_CONFIG_REQ(message_p).drx_Configuration = mac_MainConfig->drx_Config;
       itti_send_msg_to_task(TASK_MAC_ENB, module_id, message_p);
@@ -3883,7 +3883,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
       LOG_W(RRC, "drx_Configuration parameter is NULL, cannot configure local UE parameters or CDRX is deactivated\n");
     } else {
       /* Send DRX configuration to MAC task to configure timers of local UE context */
-      message_p = itti_alloc_new_message(TASK_RRC_ENB, RRC_MAC_DRX_CONFIG_REQ);
+      message_p = itti_alloc_new_message(TASK_RRC_ENB, 0, RRC_MAC_DRX_CONFIG_REQ);
       RRC_MAC_DRX_CONFIG_REQ(message_p).rnti = rnti;
       RRC_MAC_DRX_CONFIG_REQ(message_p).drx_Configuration = mac_MainConfig->drx_Config;
       itti_send_msg_to_task(TASK_MAC_ENB, module_id, message_p);
@@ -4670,7 +4670,7 @@ rrc_eNB_process_MeasurementReport(
         if(encode_CG_ConfigInfo(enc_buf,sizeof(enc_buf),ue_context_pP,&enc_size) == RRC_OK)
           LOG_I(RRC,"CG-ConfigInfo encoded successfully\n");
 
-        msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_ENDC_SGNB_ADDITION_REQ);
+        msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_ENDC_SGNB_ADDITION_REQ);
         memset(&(X2AP_ENDC_SGNB_ADDITION_REQ(msg)), 0, sizeof(x2ap_ENDC_sgnb_addition_req_t));
         X2AP_ENDC_SGNB_ADDITION_REQ(msg).rnti = ctxt_pP->rnti;
         memcpy(X2AP_ENDC_SGNB_ADDITION_REQ(msg).rrc_buffer,enc_buf,enc_size);
@@ -4766,7 +4766,7 @@ rrc_eNB_process_MeasurementReport(
     ue_context_pP->ue_context.Status = RRC_HO_EXECUTION;
     ue_context_pP->ue_context.handover_info->state = HO_REQUEST;
     /* HO Preparation message */
-    msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_HANDOVER_REQ);
+    msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_HANDOVER_REQ);
     rrc_eNB_generate_HandoverPreparationInformation(
       ue_context_pP,
       X2AP_HANDOVER_REQ(msg).rrc_buffer,
@@ -5015,11 +5015,11 @@ void rrc_eNB_handover_ue_context_release(
   //MessageDef *msg_release_p = NULL;
   MessageDef *msg_delete_tunnels_p = NULL;
   uint32_t eNB_ue_s1ap_id = ue_context_p->ue_context.eNB_ue_s1ap_id;
-  //msg_release_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE);
+  //msg_release_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE);
   //itti_send_msg_to_task(TASK_S1AP, ctxt_pP->module_id, msg_release_p);
   s1ap_ue_context_release(ctxt_pP->instance, ue_context_p->ue_context.eNB_ue_s1ap_id);
   //MSC_LOG_TX_MESSAGE(MSC_RRC_ENB, MSC_GTPU_ENB, NULL,0, "0 GTPV1U_ENB_DELETE_TUNNEL_REQ rnti %x ", eNB_ue_s1ap_id);
-  msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_ENB, GTPV1U_ENB_DELETE_TUNNEL_REQ);
+  msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_ENB, 0, GTPV1U_ENB_DELETE_TUNNEL_REQ);
   memset(&GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p), 0, sizeof(GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p)));
   GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).rnti = ue_context_p->ue_context.rnti;
   GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).from_gnb = 0;
@@ -5096,7 +5096,7 @@ flexran_rrc_eNB_trigger_handover (int mod_id,
     ue_context_pP->ue_context.Status = RRC_HO_EXECUTION;
     ue_context_pP->ue_context.handover_info->state = HO_REQUEST;
     /* HO Preparation message */
-    msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_HANDOVER_REQ);
+    msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_HANDOVER_REQ);
     rrc_eNB_generate_HandoverPreparationInformation(
       ue_context_pP,
       X2AP_HANDOVER_REQ(msg).rrc_buffer,
@@ -5183,7 +5183,7 @@ check_handovers(
         MessageDef *msg;
         // Configure target
         ue_context_p->ue_context.handover_info->state = HO_FORWARDING;
-        msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_HANDOVER_REQ_ACK);
+        msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_HANDOVER_REQ_ACK);
         rrc_eNB_generate_HO_RRCConnectionReconfiguration(ctxt_pP, ue_context_p, X2AP_HANDOVER_REQ_ACK(msg).rrc_buffer,
             &X2AP_HANDOVER_REQ_ACK(msg).rrc_buffer_size);
         rrc_eNB_configure_rbs_handover(ue_context_p,ctxt_pP);
@@ -5227,11 +5227,11 @@ check_handovers(
                 GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).frame,
                 0,
                 GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).eNB_index);
-              LOG_D(RRC, PROTOCOL_CTXT_FMT"[check_handovers]Received %s from %s: instance %d, rb_id %ld, muiP %d, confirmP %d, mode %d\n",
+              LOG_D(RRC, PROTOCOL_CTXT_FMT"[check_handovers]Received %s from %s: instance %ld, rb_id %ld, muiP %d, confirmP %d, mode %d\n",
                     PROTOCOL_CTXT_ARGS(&ctxt),
                     ITTI_MSG_NAME (msg_p),
                     ITTI_MSG_ORIGIN_NAME(msg_p),
-                    ITTI_MSG_INSTANCE (msg_p),
+                    ITTI_MSG_DESTINATION_INSTANCE (msg_p),
                     GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).rb_id,
                     GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).muip,
                     GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).confirmp,
@@ -5295,11 +5295,11 @@ check_handovers(
                 GTPV1U_ENB_END_MARKER_IND (msg_p).frame,
                 0,
                 GTPV1U_ENB_END_MARKER_IND (msg_p).eNB_index);
-              LOG_I(RRC, PROTOCOL_CTXT_FMT"[check_handovers]Received %s from %s: instance %d, rb_id %ld, muiP %d, confirmP %d, mode %d\n",
+              LOG_I(RRC, PROTOCOL_CTXT_FMT"[check_handovers]Received %s from %s: instance %ld, rb_id %ld, muiP %d, confirmP %d, mode %d\n",
                     PROTOCOL_CTXT_ARGS(&ctxt),
                     ITTI_MSG_NAME (msg_p),
                     ITTI_MSG_ORIGIN_NAME(msg_p),
-                    ITTI_MSG_INSTANCE (msg_p),
+                    ITTI_MSG_DESTINATION_INSTANCE (msg_p),
                     GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).rb_id,
                     GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).muip,
                     GTPV1U_ENB_DATA_FORWARDING_IND (msg_p).confirmp,
@@ -6860,7 +6860,7 @@ rrc_eNB_generate_RRCConnectionSetup(
     case ngran_gNB_CU    :
       // create an ITTI message
       /* TODO: F1 IDs ar missing in RRC */
-      message_p = itti_alloc_new_message (TASK_RRC_ENB, F1AP_DL_RRC_MESSAGE);
+      message_p = itti_alloc_new_message (TASK_RRC_ENB, 0, F1AP_DL_RRC_MESSAGE);
       F1AP_DL_RRC_MESSAGE (message_p).rrc_container =  (uint8_t *)ue_p->Srb0.Tx_buffer.Payload;
       F1AP_DL_RRC_MESSAGE (message_p).rrc_container_length = ue_p->Srb0.Tx_buffer.payload_size;
       F1AP_DL_RRC_MESSAGE (message_p).gNB_CU_ue_id     = 0;
@@ -6972,7 +6972,7 @@ void rrc_eNB_process_reconfiguration_complete_endc(const protocol_ctxt_t *const
 {
   MessageDef *msg_p;
 
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, X2AP_ENDC_SGNB_RECONF_COMPLETE);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, X2AP_ENDC_SGNB_RECONF_COMPLETE);
 
   /* MeNB_ue_x2_id is unknown, set to 0.
    * This is not correct but X2 id in the eNB is only 12 bits,
@@ -7085,7 +7085,7 @@ char openair_rrc_eNB_configuration(
     LOG_W(RRC, "[inst %d] RRC->MCC/MSG->MCC %d/%d \n", ctxt.module_id, RC.rrc[ctxt.module_id]->mcc, rrc_configuration_req->mcc);
     */
   if (NODE_IS_CU(RC.rrc[ctxt.module_id]->node_type))
-    // msg_p = itti_alloc_new_message (TASK_ENB_APP, F1AP_SCTP_REQ);
+    // msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, F1AP_SCTP_REQ);
     // RCconfig_CU_F1(msg_p, enb_id);
     setup_ngran_CU(RC.rrc[ctxt.module_id]);
 
@@ -7466,7 +7466,7 @@ rrc_eNB_decode_ccch(
                 if (!NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
                   rrc_mac_remove_ue(ctxt_pP->module_id, ue_context_p->ue_context.rnti);
                 } else {
-                  MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, F1AP_UE_CONTEXT_RELEASE_CMD);
+                  MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, 0, F1AP_UE_CONTEXT_RELEASE_CMD);
                   F1AP_UE_CONTEXT_RELEASE_CMD(m).rnti = ctxt_pP->rnti;
                   F1AP_UE_CONTEXT_RELEASE_CMD(m).cause = F1AP_CAUSE_RADIO_NETWORK;
                   F1AP_UE_CONTEXT_RELEASE_CMD(m).cause_value = 10; // 10 = F1AP_CauseRadioNetwork_normal_release
@@ -7570,7 +7570,7 @@ rrc_eNB_decode_ccch(
             if (NODE_IS_MONOLITHIC(RC.rrc[ctxt_pP->module_id]->node_type))
               rrc_mac_remove_ue(ctxt_pP->module_id,ctxt_pP->rnti);
             else if (NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
-              MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, F1AP_UE_CONTEXT_RELEASE_CMD);
+              MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, 0, F1AP_UE_CONTEXT_RELEASE_CMD);
               F1AP_UE_CONTEXT_RELEASE_CMD(m).rnti = ctxt_pP->rnti;
               F1AP_UE_CONTEXT_RELEASE_CMD(m).cause = F1AP_CAUSE_RADIO_NETWORK;
               F1AP_UE_CONTEXT_RELEASE_CMD(m).cause_value = 10; // 10 = F1AP_CauseRadioNetwork_normal_release
@@ -7954,7 +7954,7 @@ rrc_eNB_decode_dcch(
               xid = ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.rrc_TransactionIdentifier;
               ue_context_p->ue_context.e_rab_release_command_flag = 0;
               //gtp tunnel delete
-              msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_ENB, GTPV1U_ENB_DELETE_TUNNEL_REQ);
+              msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_ENB, 0, GTPV1U_ENB_DELETE_TUNNEL_REQ);
               memset(&GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p), 0, sizeof(GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p)));
               GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).rnti = ue_context_p->ue_context.rnti;
               GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).from_gnb = 0;
@@ -8636,7 +8636,7 @@ void handle_f1_setup_req(f1ap_setup_req_t *f1_setup_req) {
         // prepare F1_SETUP_RESPONSE
 
         if (msg_p == NULL) {
-          msg_p = itti_alloc_new_message (TASK_CU_F1,F1AP_SETUP_RESP);
+          msg_p = itti_alloc_new_message (TASK_CU_F1, 0,F1AP_SETUP_RESP);
         }
 
         F1AP_SETUP_RESP (msg_p).gNB_CU_name                                = rrc->node_name;
@@ -8672,7 +8672,7 @@ void handle_f1_setup_req(f1ap_setup_req_t *f1_setup_req) {
 
     if (found_cell==0) {
       AssertFatal(1==0,"No cell found\n");
-      /*msg_p = itti_alloc_new_message (TASK_CU_F1,F1AP_SETUP_FAILURE);
+      /*msg_p = itti_alloc_new_message (TASK_CU_F1, 0,F1AP_SETUP_FAILURE);
       F1AP_SETUP_RESP (msg_p).cause                             = rrc->node_name;
       F1AP_SETUP_RESP (msg_p).time_to_wait                      = rrc->node_id;
       F1AP_SETUP_RESP (msg_p).criticality_diagnostics           = rrc->node_name;*/
@@ -8861,7 +8861,7 @@ void rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) {
 
   if (RC.rrc[ENB_INSTANCE_TO_MODULE_ID(ctxt_pP->instance)]->configuration.enable_x2) {
     /* send a tick to x2ap */
-    msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_SUBFRAME_PROCESS);
+    msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_SUBFRAME_PROCESS);
     itti_send_msg_to_task(TASK_X2AP, ctxt_pP->module_id, msg);
     check_handovers(ctxt_pP); // counter, get the value and aggregate
   }
@@ -9053,7 +9053,7 @@ void rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) {
     if (ue_to_be_removed[cur_ue]->ue_context.Status == RRC_NR_NSA ||
         ue_to_be_removed[cur_ue]->ue_context.Status == RRC_NR_NSA_RECONFIGURED) {
       MessageDef *message_p;
-      message_p = itti_alloc_new_message(TASK_RRC_ENB, X2AP_ENDC_SGNB_RELEASE_REQUEST);
+      message_p = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_ENDC_SGNB_RELEASE_REQUEST);
       X2AP_ENDC_SGNB_RELEASE_REQUEST(message_p).rnti = ue_to_be_removed[cur_ue]->ue_context.gnb_rnti;
       X2AP_ENDC_SGNB_RELEASE_REQUEST(message_p).assoc_id = ue_to_be_removed[cur_ue]->ue_context.gnb_x2_assoc_id;
       X2AP_ENDC_SGNB_RELEASE_REQUEST(message_p).cause = X2AP_CAUSE_RADIO_CONNECTION_WITH_UE_LOST;
@@ -9300,7 +9300,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
   // Wait for a message
   itti_receive_msg(TASK_RRC_ENB, &msg_p);
   msg_name_p = ITTI_MSG_NAME(msg_p);
-  instance = ITTI_MSG_INSTANCE(msg_p);
+  instance = ITTI_MSG_DESTINATION_INSTANCE(msg_p);
 
   /* RRC_SUBFRAME_PROCESS is sent every subframe, do not log it */
   if (ITTI_MSG_ID(msg_p) != RRC_SUBFRAME_PROCESS)
@@ -9313,7 +9313,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
       break;
 
     case MESSAGE_TEST:
-      LOG_I(RRC, "[eNB %d] Received %s\n", instance, msg_name_p);
+      LOG_I(RRC, "[eNB %ld] Received %s\n", instance, msg_name_p);
       break;
 
     /* Messages from MAC */
@@ -9324,7 +9324,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
                                     RRC_MAC_CCCH_DATA_IND(msg_p).rnti,
                                     msg_p->ittiMsgHeader.lte_time.frame,
                                     msg_p->ittiMsgHeader.lte_time.slot);
-      LOG_I(RRC,"Decoding CCCH : inst %d, CC_id %d, ctxt %p, sib_info_p->Rx_buffer.payload_size %d\n",
+      LOG_I(RRC,"Decoding CCCH : inst %ld, CC_id %d, ctxt %p, sib_info_p->Rx_buffer.payload_size %d\n",
             instance,
             RRC_MAC_CCCH_DATA_IND(msg_p).CC_id,
             &ctxt,
@@ -9382,13 +9382,13 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
       break;
 
     case S1AP_PAGING_IND:
-      LOG_D(RRC, "[eNB %d] Received Paging message from S1AP: %s\n", instance, msg_name_p);
+      LOG_D(RRC, "[eNB %ld] Received Paging message from S1AP: %s\n", instance, msg_name_p);
       rrc_eNB_process_PAGING_IND(msg_p, msg_name_p, instance);
       break;
 
     case S1AP_E_RAB_SETUP_REQ:
       rrc_eNB_process_S1AP_E_RAB_SETUP_REQ(msg_p, msg_name_p, instance);
-      LOG_D(RRC, "[eNB %d] Received the message %s\n", instance, msg_name_p);
+      LOG_D(RRC, "[eNB %ld] Received the message %s\n", instance, msg_name_p);
       break;
 
     case S1AP_E_RAB_MODIFY_REQ:
@@ -9422,7 +9422,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
     }
 
     case S1AP_PATH_SWITCH_REQ_ACK:
-      LOG_I(RRC, "[eNB %d] received path switch ack %s\n", instance, msg_name_p);
+      LOG_I(RRC, "[eNB %ld] received path switch ack %s\n", instance, msg_name_p);
       rrc_eNB_process_S1AP_PATH_SWITCH_REQ_ACK(msg_p, msg_name_p, instance);
       break;
 
@@ -9435,7 +9435,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
       break;
 
     case X2AP_HANDOVER_REQ:
-      LOG_I(RRC, "[eNB %d] target eNB Receives X2 HO Req %s\n", instance, msg_name_p);
+      LOG_I(RRC, "[eNB %ld] target eNB Receives X2 HO Req %s\n", instance, msg_name_p);
       rrc_eNB_process_handoverPreparationInformation(instance, &X2AP_HANDOVER_REQ(msg_p));
       break;
 
@@ -9453,7 +9453,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
         exit(1);
       }
 
-      LOG_I(RRC, "[eNB %d] source eNB receives the X2 HO ACK %s\n", instance, msg_name_p);
+      LOG_I(RRC, "[eNB %ld] source eNB receives the X2 HO ACK %s\n", instance, msg_name_p);
       DevAssert(ue_context_p != NULL);
 
       if (ue_context_p->ue_context.handover_info->state != HO_REQUEST) abort();
@@ -9504,7 +9504,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
     case X2AP_UE_CONTEXT_RELEASE: {
       struct rrc_eNB_ue_context_s        *ue_context_p = NULL;
       ue_context_p = rrc_eNB_get_ue_context(RC.rrc[instance], X2AP_UE_CONTEXT_RELEASE(msg_p).rnti);
-      LOG_I(RRC, "[eNB %d] source eNB receives the X2 UE CONTEXT RELEASE %s\n", instance, msg_name_p);
+      LOG_I(RRC, "[eNB %ld] source eNB receives the X2 UE CONTEXT RELEASE %s\n", instance, msg_name_p);
       DevAssert(ue_context_p != NULL);
 
       if (ue_context_p->ue_context.handover_info->state != HO_COMPLETE) abort();
@@ -9535,7 +9535,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
 
       if (ue_context_p != NULL &&
           ue_context_p->ue_context.handover_info != NULL) {
-        LOG_I(RRC, "[eNB %d] eNB receives X2 HANDOVER CANCEL for rnti %x, cause %s [%s]\n",
+        LOG_I(RRC, "[eNB %ld] eNB receives X2 HANDOVER CANCEL for rnti %x, cause %s [%s]\n",
               instance,
               X2AP_HANDOVER_CANCEL(msg_p).rnti,
               cause,
@@ -9560,7 +9560,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
         else
           failure_cause = "UE not in handover";
 
-        LOG_W(RRC, "[eNB %d] cannot process (%s) X2 HANDOVER CANCEL for rnti %x, cause %s, ignoring\n",
+        LOG_W(RRC, "[eNB %ld] cannot process (%s) X2 HANDOVER CANCEL for rnti %x, cause %s, ignoring\n",
               instance, failure_cause, X2AP_HANDOVER_CANCEL(msg_p).rnti, cause);
       }
 
@@ -9588,7 +9588,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
 
     /* Messages from eNB app */
     case RRC_CONFIGURATION_REQ:
-      LOG_I(RRC, "[eNB %d] Received %s : %p\n", instance, msg_name_p, &RRC_CONFIGURATION_REQ(msg_p));
+      LOG_I(RRC, "[eNB %ld] Received %s : %p\n", instance, msg_name_p, &RRC_CONFIGURATION_REQ(msg_p));
       openair_rrc_eNB_configuration(ENB_INSTANCE_TO_MODULE_ID(instance), &RRC_CONFIGURATION_REQ(msg_p));
       break;
 
@@ -9596,7 +9596,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
     case F1AP_SETUP_REQ:
       AssertFatal(NODE_IS_CU(RC.rrc[instance]->node_type),
                   "should not receive F1AP_SETUP_REQUEST, need call by CU!\n");
-      LOG_I(RRC,"[eNB %d] Received %s : %p\n", instance, msg_name_p, &F1AP_SETUP_REQ(msg_p));
+      LOG_I(RRC,"[eNB %ld] Received %s : %p\n", instance, msg_name_p, &F1AP_SETUP_REQ(msg_p));
       handle_f1_setup_req(&F1AP_SETUP_REQ(msg_p));
       break;
 
@@ -9649,7 +9649,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
       break;
 
     default:
-      LOG_E(RRC, "[eNB %d] Received unexpected message %s\n", instance, msg_name_p);
+      LOG_E(RRC, "[eNB %ld] Received unexpected message %s\n", instance, msg_name_p);
       break;
   }
 
@@ -10023,7 +10023,7 @@ rrc_rx_tx(
 //-----------------------------------------------------------------------------
 {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_RRC_ENB, RRC_SUBFRAME_PROCESS);
+  message_p = itti_alloc_new_message(TASK_RRC_ENB, 0, RRC_SUBFRAME_PROCESS);
   RRC_SUBFRAME_PROCESS(message_p).ctxt  = *ctxt_pP;
   RRC_SUBFRAME_PROCESS(message_p).CC_id = CC_id;
   itti_send_msg_to_task(TASK_RRC_ENB, ctxt_pP->module_id, message_p);
diff --git a/openair2/RRC/LTE/rrc_eNB_GTPV1U.c b/openair2/RRC/LTE/rrc_eNB_GTPV1U.c
index 5c25d2dbcff8b1cf4db07dce612e7b9730aff70b..e974a28f680b84bcbe9c80c9d19165bc2fd9c151 100644
--- a/openair2/RRC/LTE/rrc_eNB_GTPV1U.c
+++ b/openair2/RRC/LTE/rrc_eNB_GTPV1U.c
@@ -126,7 +126,7 @@ gtpv_data_req(
 
       memcpy (message_buffer, buffer_pP, sdu_sizeP);
 
-      message_p = itti_alloc_new_message (TASK_GTPV1_U, GTPV1U_ENB_DATA_FORWARDING_IND);
+      message_p = itti_alloc_new_message (TASK_GTPV1_U, 0, GTPV1U_ENB_DATA_FORWARDING_IND);
       GTPV1U_ENB_DATA_FORWARDING_IND (message_p).frame 	= ctxt_pP->frame;
       GTPV1U_ENB_DATA_FORWARDING_IND (message_p).enb_flag	= ctxt_pP->enb_flag;
       GTPV1U_ENB_DATA_FORWARDING_IND (message_p).rb_id 	= rb_idP;
@@ -149,7 +149,7 @@ gtpv_data_req(
 
       memcpy (message_buffer, buffer_pP, sdu_sizeP);
 
-      message_p = itti_alloc_new_message (TASK_GTPV1_U, GTPV1U_ENB_END_MARKER_IND);
+      message_p = itti_alloc_new_message (TASK_GTPV1_U, 0, GTPV1U_ENB_END_MARKER_IND);
       GTPV1U_ENB_END_MARKER_IND (message_p).frame 	= ctxt_pP->frame;
       GTPV1U_ENB_END_MARKER_IND (message_p).enb_flag	= ctxt_pP->enb_flag;
       GTPV1U_ENB_END_MARKER_IND (message_p).rb_id 	= rb_idP;
@@ -186,7 +186,7 @@ void rrc_eNB_send_GTPV1U_ENB_DELETE_TUNNEL_REQ(
                      "0 GTPV1U_ENB_DELETE_TUNNEL_REQ rnti %x ",
                      ue_context_pP->ue_context.eNB_ue_s1ap_id);
 
-  MessageDef *msg = itti_alloc_new_message(TASK_RRC_ENB, GTPV1U_ENB_DELETE_TUNNEL_REQ);
+  MessageDef *msg = itti_alloc_new_message(TASK_RRC_ENB, 0, GTPV1U_ENB_DELETE_TUNNEL_REQ);
   memset(&GTPV1U_ENB_DELETE_TUNNEL_REQ(msg), 0, sizeof(GTPV1U_ENB_DELETE_TUNNEL_REQ(msg)));
   GTPV1U_ENB_DELETE_TUNNEL_REQ(msg).rnti = ue_context_pP->ue_context.rnti;
   GTPV1U_ENB_DELETE_TUNNEL_REQ(msg).from_gnb = 0;
diff --git a/openair2/RRC/LTE/rrc_eNB_M2AP.c b/openair2/RRC/LTE/rrc_eNB_M2AP.c
index 98a72895a073a60f18424ccf29efb4b7454be57e..a9c65eae1a12f0bd7dcade4b139413e3853b332a 100644
--- a/openair2/RRC/LTE/rrc_eNB_M2AP.c
+++ b/openair2/RRC/LTE/rrc_eNB_M2AP.c
@@ -1520,7 +1520,7 @@ rrc_eNB_process_M2AP_MBMS_SCHEDULING_INFORMATION(
 	 rrc_M2AP_openair_rrc_top_init_MBMS(RC.rrc[ctxt_pP->module_id]->carrier[CC_id].MBMS_flag);
  }*/
  MessageDef      *msg_p;
- msg_p = itti_alloc_new_message (TASK_RRC_ENB, M2AP_MBMS_SCHEDULING_INFORMATION_RESP);
+ msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, M2AP_MBMS_SCHEDULING_INFORMATION_RESP);
  itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 
  pthread_mutex_unlock(&RC.rrc[ctxt_pP->module_id]->cell_info_mutex);
@@ -1560,7 +1560,7 @@ rrc_eNB_process_M2AP_MBMS_SESSION_START_REQ(
  pthread_mutex_unlock(&RC.rrc[ctxt_pP->module_id]->cell_info_mutex);
 
  MessageDef      *msg_p;
- msg_p = itti_alloc_new_message (TASK_RRC_ENB, M2AP_MBMS_SESSION_START_RESP);
+ msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, M2AP_MBMS_SESSION_START_RESP);
  itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 
  return 0;
@@ -1628,7 +1628,7 @@ void rrc_eNB_send_M2AP_MBMS_SCHEDULING_INFORMATION_RESP(
 )
 {
   MessageDef      *msg_p;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, M2AP_MBMS_SCHEDULING_INFORMATION_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, M2AP_MBMS_SCHEDULING_INFORMATION_RESP);
   itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(ctxt_pP->instance), msg_p);
 }
 
@@ -1638,7 +1638,7 @@ void rrc_eNB_send_M2AP_MBMS_SESSION_START_RESP(
 )
 {
   MessageDef      *msg_p;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, M2AP_MBMS_SESSION_START_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, M2AP_MBMS_SESSION_START_RESP);
   itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(ctxt_pP->instance), msg_p);
 }
 
@@ -1648,7 +1648,7 @@ void rrc_eNB_send_M2AP_MBMS_SESSION_STOP_RESP(
 )
 {
   MessageDef      *msg_p;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, M2AP_MBMS_SESSION_STOP_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, M2AP_MBMS_SESSION_STOP_RESP);
   itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(ctxt_pP->instance), msg_p);
 }
 
@@ -1658,6 +1658,6 @@ void rrc_eNB_send_M2AP_MBMS_SESSION_UPDATE_RESP(
 )
 {
   MessageDef      *msg_p;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, M2AP_MBMS_SESSION_UPDATE_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, M2AP_MBMS_SESSION_UPDATE_RESP);
   itti_send_msg_to_task (TASK_M2AP_ENB, ENB_MODULE_ID_TO_INSTANCE(ctxt_pP->instance), msg_p);
 }
diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c
index 4be9a50b3252ef99508d98e27f359f463afc20b7..320004a361409ebc0dcd2cb0ac68badd3dadd4ba 100644
--- a/openair2/RRC/LTE/rrc_eNB_S1AP.c
+++ b/openair2/RRC/LTE/rrc_eNB_S1AP.c
@@ -241,7 +241,7 @@ rrc_eNB_S1AP_get_ue_ids(
         if (s1ap_eNB_instance_p != NULL) {
           ue_desc_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p, eNB_ue_s1ap_id); // get s1ap_eNB_ue_context
         } else {
-          LOG_E(S1AP, "[eNB instance %d] Couldn't find the eNB S1AP context\n",
+          LOG_E(S1AP, "[eNB instance %ld] Couldn't find the eNB S1AP context\n",
                 instance);
           return NULL;
         }
@@ -588,7 +588,7 @@ rrc_eNB_send_S1AP_INITIAL_CONTEXT_SETUP_RESP(
   int e_rab;
   int e_rabs_done = 0;
   int e_rabs_failed = 0;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_INITIAL_CONTEXT_SETUP_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_INITIAL_CONTEXT_SETUP_RESP);
   S1AP_INITIAL_CONTEXT_SETUP_RESP (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
 
   for (e_rab = 0; e_rab < ue_context_pP->ue_context.nb_of_e_rabs; e_rab++) {
@@ -648,7 +648,7 @@ rrc_eNB_send_S1AP_UPLINK_NAS(
       MessageDef *msg_p;
       pdu_length = dedicatedInfoType->choice.dedicatedInfoNAS.size;
       pdu_buffer = dedicatedInfoType->choice.dedicatedInfoNAS.buf;
-      msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_UPLINK_NAS);
+      msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_UPLINK_NAS);
       S1AP_UPLINK_NAS (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
       S1AP_UPLINK_NAS (msg_p).nas_pdu.length = pdu_length;
       S1AP_UPLINK_NAS (msg_p).nas_pdu.buffer = pdu_buffer;
@@ -700,7 +700,7 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
   if (ret.encoded == -1) abort();
 
   MessageDef *msg_p;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_UE_CAPABILITIES_IND);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_UE_CAPABILITIES_IND);
   S1AP_UE_CAPABILITIES_IND (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
   S1AP_UE_CAPABILITIES_IND (msg_p).ue_radio_cap.length = (ret.encoded+7)/8;
   S1AP_UE_CAPABILITIES_IND (msg_p).ue_radio_cap.buffer = buf2;
@@ -724,7 +724,7 @@ rrc_eNB_send_S1AP_NAS_FIRST_REQ(
     MessageDef         *message_p         = NULL;
     rrc_ue_s1ap_ids_t  *rrc_ue_s1ap_ids_p = NULL;
     hashtable_rc_t      h_rc;
-    message_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_NAS_FIRST_REQ);
+    message_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_NAS_FIRST_REQ);
     memset(&message_p->ittiMsg.s1ap_nas_first_req, 0, sizeof(s1ap_nas_first_req_t));
     ue_context_pP->ue_context.ue_initial_id = get_next_ue_initial_id(ctxt_pP->module_id);
     S1AP_NAS_FIRST_REQ(message_p).ue_initial_id = ue_context_pP->ue_context.ue_initial_id;
@@ -853,7 +853,7 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
   ue_initial_id = S1AP_DOWNLINK_NAS (msg_p).ue_initial_id;
   eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
   ue_context_p = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
-  LOG_I(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d\n",
+  LOG_I(RRC, "[eNB %ld] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d\n",
         instance,
         msg_name,
         ue_initial_id,
@@ -871,8 +871,8 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
       eNB_ue_s1ap_id);
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
     MessageDef *msg_fail_p;
-    LOG_W(RRC, "[eNB %d] In S1AP_DOWNLINK_NAS: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
-    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_NAS_NON_DELIVERY_IND);
+    LOG_W(RRC, "[eNB %ld] In S1AP_DOWNLINK_NAS: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
+    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_NAS_NON_DELIVERY_IND);
     S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.length = S1AP_DOWNLINK_NAS (msg_p).nas_pdu.length;
     S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.buffer = S1AP_DOWNLINK_NAS (msg_p).nas_pdu.buffer;
@@ -944,14 +944,14 @@ int rrc_eNB_process_S1AP_INITIAL_CONTEXT_SETUP_REQ(MessageDef *msg_p, const char
   ue_initial_id  = S1AP_INITIAL_CONTEXT_SETUP_REQ (msg_p).ue_initial_id;
   eNB_ue_s1ap_id = S1AP_INITIAL_CONTEXT_SETUP_REQ (msg_p).eNB_ue_s1ap_id;
   ue_context_p   = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
-  LOG_I(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
+  LOG_I(RRC, "[eNB %ld] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
         instance, msg_name, ue_initial_id, eNB_ue_s1ap_id, S1AP_INITIAL_CONTEXT_SETUP_REQ (msg_p).nb_of_e_rabs);
 
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
     MessageDef *msg_fail_p = NULL;
-    LOG_W(RRC, "[eNB %d] In S1AP_INITIAL_CONTEXT_SETUP_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
-    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_INITIAL_CONTEXT_SETUP_FAIL);
+    LOG_W(RRC, "[eNB %ld] In S1AP_INITIAL_CONTEXT_SETUP_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
+    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_INITIAL_CONTEXT_SETUP_FAIL);
     S1AP_INITIAL_CONTEXT_SETUP_FAIL (msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     // TODO add failure cause when defined!
     itti_send_msg_to_task (TASK_S1AP, instance, msg_fail_p);
@@ -1057,7 +1057,7 @@ int rrc_eNB_process_S1AP_INITIAL_CONTEXT_SETUP_REQ(MessageDef *msg_p, const char
             (RC.rrc[ctxt.module_id]->node_type == ngran_ng_eNB_CU) ||
             (RC.rrc[ctxt.module_id]->node_type == ngran_gNB_CU) ){
 
-          message_p = itti_alloc_new_message (TASK_RRC_ENB, F1AP_UE_CONTEXT_SETUP_REQ);
+          message_p = itti_alloc_new_message (TASK_RRC_ENB, 0, F1AP_UE_CONTEXT_SETUP_REQ);
           F1AP_UE_CONTEXT_SETUP_REQ (message_p).rrc_container =  ue_p->Srb0.Tx_buffer.Payload;
 
           F1AP_UE_CONTEXT_SETUP_REQ (message_p).rrc_container_length = ue_p->Srb0.Tx_buffer.payload_size;
@@ -1088,8 +1088,8 @@ int rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(MessageDef *msg_p, const char
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
     MessageDef *msg_fail_p;
-    LOG_W(RRC, "[eNB %d] In S1AP_UE_CTXT_MODIFICATION_REQ: unknown UE from eNB_ue_s1ap_id (%d)\n", instance, eNB_ue_s1ap_id);
-    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_UE_CTXT_MODIFICATION_FAIL);
+    LOG_W(RRC, "[eNB %ld] In S1AP_UE_CTXT_MODIFICATION_REQ: unknown UE from eNB_ue_s1ap_id (%d)\n", instance, eNB_ue_s1ap_id);
+    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_UE_CTXT_MODIFICATION_FAIL);
     S1AP_UE_CTXT_MODIFICATION_FAIL (msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     // TODO add failure cause when defined!
     itti_send_msg_to_task (TASK_S1AP, instance, msg_fail_p);
@@ -1126,7 +1126,7 @@ int rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(MessageDef *msg_p, const char
     /* Send the response */
     {
       MessageDef *msg_resp_p;
-      msg_resp_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CTXT_MODIFICATION_RESP);
+      msg_resp_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CTXT_MODIFICATION_RESP);
       S1AP_UE_CTXT_MODIFICATION_RESP(msg_resp_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
       itti_send_msg_to_task(TASK_S1AP, instance, msg_resp_p);
     }
@@ -1144,10 +1144,10 @@ int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ (MessageDef *msg_p, const char *
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
     MessageDef *msg_fail_p;
-    LOG_W(RRC, "[eNB %d] In S1AP_UE_CONTEXT_RELEASE_REQ: unknown UE from eNB_ue_s1ap_id (%d)\n",
+    LOG_W(RRC, "[eNB %ld] In S1AP_UE_CONTEXT_RELEASE_REQ: unknown UE from eNB_ue_s1ap_id (%d)\n",
           instance,
           eNB_ue_s1ap_id);
-    msg_fail_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_RESP); /* TODO change message ID. */
+    msg_fail_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_RESP); /* TODO change message ID. */
     S1AP_UE_CONTEXT_RELEASE_RESP(msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     // TODO add failure cause when defined!
     itti_send_msg_to_task(TASK_S1AP, instance, msg_fail_p);
@@ -1157,7 +1157,7 @@ int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ (MessageDef *msg_p, const char *
     /* Send the response */
     {
       MessageDef *msg_resp_p;
-      msg_resp_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_RESP);
+      msg_resp_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_RESP);
       S1AP_UE_CONTEXT_RELEASE_RESP(msg_resp_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
       itti_send_msg_to_task(TASK_S1AP, instance, msg_resp_p);
     }
@@ -1187,7 +1187,7 @@ rrc_eNB_send_S1AP_UE_CONTEXT_RELEASE_REQ(
                        "0 S1AP_UE_CONTEXT_RELEASE_REQ eNB_ue_s1ap_id 0x%06"PRIX32" ",
                        ue_context_pP->ue_context.eNB_ue_s1ap_id);
     MessageDef *msg_context_release_req_p = NULL;
-    msg_context_release_req_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_REQ);
+    msg_context_release_req_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_REQ);
     S1AP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
     S1AP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).cause          = causeP;
     S1AP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).cause_value    = cause_valueP;
@@ -1202,7 +1202,7 @@ void rrc_eNB_send_S1AP_UE_CONTEXT_RELEASE_CPLT(
   MSC_LOG_TX_MESSAGE(MSC_RRC_ENB, MSC_S1AP_ENB, NULL, 0,
                      "0 S1AP_UE_CONTEXT_RELEASE_COMPLETE eNB_ue_s1ap_id 0x%06"PRIX32" ",
                      eNB_ue_s1ap_id);
-  MessageDef *msg = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
+  MessageDef *msg = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
   S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
   itti_send_msg_to_task(TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(enb_mod_idP), msg);
 }
@@ -1229,7 +1229,7 @@ rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index */
     MessageDef *msg_complete_p = NULL;
-    LOG_W(RRC, "[eNB %d] In S1AP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from eNB_ue_s1ap_id (%d)\n",
+    LOG_W(RRC, "[eNB %ld] In S1AP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from eNB_ue_s1ap_id (%d)\n",
           instance,
           eNB_ue_s1ap_id);
     MSC_LOG_EVENT(MSC_RRC_ENB, "0 S1AP_UE_CONTEXT_RELEASE_COMPLETE eNB_ue_s1ap_id 0x%06"PRIX32" context not found",
@@ -1240,7 +1240,7 @@ rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(
                        0,
                        "0 S1AP_UE_CONTEXT_RELEASE_COMPLETE eNB_ue_s1ap_id 0x%06"PRIX32" ",
                        eNB_ue_s1ap_id);
-    msg_complete_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
+    msg_complete_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
     S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     itti_send_msg_to_task(TASK_S1AP, instance, msg_complete_p);
     rrc_ue_s1ap_ids = rrc_eNB_S1AP_get_ue_ids(RC.rrc[instance], UE_INITIAL_ID_INVALID, eNB_ue_s1ap_id);
@@ -1271,14 +1271,14 @@ int rrc_eNB_process_S1AP_E_RAB_SETUP_REQ(MessageDef *msg_p, const char *msg_name
   ue_initial_id  = S1AP_E_RAB_SETUP_REQ (msg_p).ue_initial_id;
   eNB_ue_s1ap_id = S1AP_E_RAB_SETUP_REQ (msg_p).eNB_ue_s1ap_id;
   ue_context_p   = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
-  LOG_I(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
+  LOG_I(RRC, "[eNB %ld] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
         instance, msg_name, ue_initial_id, eNB_ue_s1ap_id, S1AP_E_RAB_SETUP_REQ (msg_p).nb_e_rabs_tosetup);
 
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
     MessageDef *msg_fail_p = NULL;
-    LOG_W(RRC, "[eNB %d] In S1AP_E_RAB_SETUP_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
-    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_SETUP_REQUEST_FAIL);
+    LOG_W(RRC, "[eNB %ld] In S1AP_E_RAB_SETUP_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
+    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_SETUP_REQUEST_FAIL);
     S1AP_E_RAB_SETUP_REQ  (msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     // TODO add failure cause when defined!
     itti_send_msg_to_task (TASK_S1AP, instance, msg_fail_p);
@@ -1370,7 +1370,7 @@ int rrc_eNB_send_S1AP_E_RAB_SETUP_RESP(const protocol_ctxt_t *const ctxt_pP,
   int e_rab;
   int e_rabs_done = 0;
   int e_rabs_failed = 0;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_SETUP_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_SETUP_RESP);
   S1AP_E_RAB_SETUP_RESP (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
 
   for (e_rab = 0; e_rab <  ue_context_pP->ue_context.setup_e_rabs ; e_rab++) {
@@ -1446,15 +1446,15 @@ int rrc_eNB_process_S1AP_E_RAB_MODIFY_REQ(MessageDef *msg_p, const char *msg_nam
   ue_initial_id  = S1AP_E_RAB_MODIFY_REQ (msg_p).ue_initial_id;
   eNB_ue_s1ap_id = S1AP_E_RAB_MODIFY_REQ (msg_p).eNB_ue_s1ap_id;
   ue_context_p   = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
-  LOG_D(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
+  LOG_D(RRC, "[eNB %ld] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
         instance, msg_name, ue_initial_id, eNB_ue_s1ap_id, S1AP_E_RAB_MODIFY_REQ (msg_p).nb_e_rabs_tomodify);
 
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
-    LOG_W(RRC, "[eNB %d] In S1AP_E_RAB_MODIFY_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
+    LOG_W(RRC, "[eNB %ld] In S1AP_E_RAB_MODIFY_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
     int nb_of_e_rabs_failed = 0;
     MessageDef *msg_fail_p = NULL;
-    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_MODIFY_RESP);
+    msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_MODIFY_RESP);
     S1AP_E_RAB_MODIFY_RESP (msg_fail_p).eNB_ue_s1ap_id = S1AP_E_RAB_MODIFY_REQ (msg_p).eNB_ue_s1ap_id;
     S1AP_E_RAB_MODIFY_RESP (msg_fail_p).nb_of_e_rabs = 0;
 
@@ -1567,7 +1567,7 @@ int rrc_eNB_process_S1AP_E_RAB_MODIFY_REQ(MessageDef *msg_p, const char *msg_nam
     {
       int nb_of_e_rabs_failed = 0;
       MessageDef *msg_fail_p = NULL;
-      msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_MODIFY_RESP);
+      msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_MODIFY_RESP);
       S1AP_E_RAB_MODIFY_RESP (msg_fail_p).eNB_ue_s1ap_id = S1AP_E_RAB_MODIFY_REQ (msg_p).eNB_ue_s1ap_id;
       //      S1AP_E_RAB_MODIFY_RESP (msg_fail_p).e_rabs[S1AP_MAX_E_RAB];
       S1AP_E_RAB_MODIFY_RESP (msg_fail_p).nb_of_e_rabs = 0;
@@ -1597,7 +1597,7 @@ int rrc_eNB_send_S1AP_E_RAB_MODIFY_RESP(const protocol_ctxt_t *const ctxt_pP,
   int e_rab;
   int e_rabs_done = 0;
   int e_rabs_failed = 0;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_MODIFY_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_MODIFY_RESP);
   S1AP_E_RAB_MODIFY_RESP (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
 
   for (e_rab = 0; e_rab < ue_context_pP->ue_context.nb_of_modify_e_rabs; e_rab++) {
@@ -1748,7 +1748,7 @@ int rrc_eNB_process_S1AP_E_RAB_RELEASE_COMMAND(MessageDef *msg_p, const char *ms
       rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release(&ctxt, ue_context_p, xid, S1AP_E_RAB_RELEASE_COMMAND (msg_p).nas_pdu.length, S1AP_E_RAB_RELEASE_COMMAND (msg_p).nas_pdu.buffer);
     } else {
       //gtp tunnel delete
-      msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_ENB, GTPV1U_ENB_DELETE_TUNNEL_REQ);
+      msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_ENB, 0, GTPV1U_ENB_DELETE_TUNNEL_REQ);
       memset(&GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p), 0, sizeof(GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p)));
       GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).rnti = ue_context_p->ue_context.rnti;
       GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).from_gnb = 0;
@@ -1779,7 +1779,7 @@ int rrc_eNB_process_S1AP_E_RAB_RELEASE_COMMAND(MessageDef *msg_p, const char *ms
 int rrc_eNB_send_S1AP_E_RAB_RELEASE_RESPONSE(const protocol_ctxt_t *const ctxt_pP, rrc_eNB_ue_context_t *const ue_context_pP, uint8_t xid) {
   int e_rabs_released = 0;
   MessageDef   *msg_p;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_RELEASE_RESPONSE);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_RELEASE_RESPONSE);
   S1AP_E_RAB_RELEASE_RESPONSE (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
 
   for (int i = 0;  i < NB_RB_MAX; i++) {
@@ -1822,7 +1822,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
   uint32_t T;  /* DRX cycle */
 
   for (uint16_t tai_size = 0; tai_size < S1AP_PAGING_IND(msg_p).tai_size; tai_size++) {
-    LOG_D(RRC,"[eNB %d] In S1AP_PAGING_IND: MCC %d, MNC %d, TAC %d\n", instance, S1AP_PAGING_IND(msg_p).plmn_identity[tai_size].mcc,
+    LOG_D(RRC,"[eNB %ld] In S1AP_PAGING_IND: MCC %d, MNC %d, TAC %d\n", instance, S1AP_PAGING_IND(msg_p).plmn_identity[tai_size].mcc,
           S1AP_PAGING_IND(msg_p).plmn_identity[tai_size].mnc, S1AP_PAGING_IND(msg_p).tac[tai_size]);
 
     for (uint8_t j = 0; j < RC.rrc[instance]->configuration.num_plmn; j++) {
@@ -1884,7 +1884,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
 
               default:
                 /* pcch_nB error */
-                LOG_E(RRC, "[eNB %d] In S1AP_PAGING_IND:  pcch_nB error (pcch_nB %d) \n",
+                LOG_E(RRC, "[eNB %ld] In S1AP_PAGING_IND:  pcch_nB error (pcch_nB %d) \n",
                       instance, pcch_nB);
                 return (-1);
             }
@@ -1920,12 +1920,12 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
 
               if (UE_PF_PO[CC_id][i].enable_flag == TRUE) {
                 //paging exist UE log
-                LOG_D(RRC,"[eNB %d] CC_id %d In S1AP_PAGING_IND: Update exist UE %d, T %d, PF %d, PO %d\n", instance, CC_id, UE_PF_PO[CC_id][i].ue_index_value, T, UE_PF_PO[CC_id][i].PF_min, UE_PF_PO[CC_id][i].PO);
+                LOG_D(RRC,"[eNB %ld] CC_id %d In S1AP_PAGING_IND: Update exist UE %d, T %d, PF %d, PO %d\n", instance, CC_id, UE_PF_PO[CC_id][i].ue_index_value, T, UE_PF_PO[CC_id][i].PF_min, UE_PF_PO[CC_id][i].PO);
               } else {
                 /* set enable_flag */
                 UE_PF_PO[CC_id][i].enable_flag = TRUE;
                 //paging new UE log
-                LOG_D(RRC,"[eNB %d] CC_id %d In S1AP_PAGING_IND: Insert a new UE %d, T %d, PF %d, PO %d\n", instance, CC_id, UE_PF_PO[CC_id][i].ue_index_value, T, UE_PF_PO[CC_id][i].PF_min, UE_PF_PO[CC_id][i].PO);
+                LOG_D(RRC,"[eNB %ld] CC_id %d In S1AP_PAGING_IND: Insert a new UE %d, T %d, PF %d, PO %d\n", instance, CC_id, UE_PF_PO[CC_id][i].ue_index_value, T, UE_PF_PO[CC_id][i].PF_min, UE_PF_PO[CC_id][i].PO);
               }
 
               break;
@@ -1938,7 +1938,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
           uint8_t *message_buffer;
           /* Transfer data to PDCP */
           MessageDef *message_p;
-          message_p = itti_alloc_new_message (TASK_RRC_ENB, RRC_PCCH_DATA_REQ);
+          message_p = itti_alloc_new_message (TASK_RRC_ENB, 0, RRC_PCCH_DATA_REQ);
           /* Create message for PDCP (DLInformationTransfer_t) */
           length = do_Paging (instance,
                               buffer,
@@ -1959,7 +1959,7 @@ int rrc_eNB_process_PAGING_IND(MessageDef *msg_p, const char *msg_name, instance
           RRC_PCCH_DATA_REQ (message_p).rnti      = P_RNTI;
           RRC_PCCH_DATA_REQ (message_p).ue_index  = i;
           RRC_PCCH_DATA_REQ (message_p).CC_id  = CC_id;
-          LOG_D(RRC, "[eNB %d] CC_id %d In S1AP_PAGING_IND: send encdoed buffer to PDCP buffer_size %d\n", instance, CC_id, length);
+          LOG_D(RRC, "[eNB %ld] CC_id %d In S1AP_PAGING_IND: send encdoed buffer to PDCP buffer_size %d\n", instance, CC_id, length);
           itti_send_msg_to_task (TASK_PDCP_ENB, instance, message_p);
         }
       }
@@ -1981,7 +1981,7 @@ int rrc_eNB_send_PATH_SWITCH_REQ(const protocol_ctxt_t *const ctxt_pP,
   gtpv1u_enb_create_tunnel_resp_t create_tunnel_resp;
   uint8_t inde_list[ue_context_pP->ue_context.nb_of_e_rabs];
   memset(inde_list, 0, ue_context_pP->ue_context.nb_of_e_rabs*sizeof(uint8_t));
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_PATH_SWITCH_REQ);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_PATH_SWITCH_REQ);
   ue_context_pP->ue_context.ue_initial_id = get_next_ue_initial_id (ctxt_pP->module_id);
   S1AP_PATH_SWITCH_REQ (msg_p).ue_initial_id = ue_context_pP->ue_context.ue_initial_id;
   rrc_ue_s1ap_ids_p = malloc(sizeof(*rrc_ue_s1ap_ids_p));
@@ -2084,7 +2084,7 @@ int rrc_eNB_process_X2AP_TUNNEL_SETUP_REQ(instance_t instance, rrc_eNB_ue_contex
   } else {
     /* Save e RAB information for later */
     {
-      LOG_I(RRC, "[eNB %d] rrc_eNB_process_X2AP_TUNNEL_SETUP_REQ: rnti %u nb_of_e_rabs %d\n",
+      LOG_I(RRC, "[eNB %ld] rrc_eNB_process_X2AP_TUNNEL_SETUP_REQ: rnti %u nb_of_e_rabs %d\n",
             instance, ue_context_target_p->ue_context.rnti, ue_context_target_p->ue_context.nb_of_e_rabs);
       int i;
       memset(&create_tunnel_req, 0, sizeof(create_tunnel_req));
@@ -2144,14 +2144,14 @@ int rrc_eNB_process_S1AP_PATH_SWITCH_REQ_ACK (MessageDef *msg_p,
   ue_initial_id  = S1AP_PATH_SWITCH_REQ_ACK (msg_p).ue_initial_id;
   eNB_ue_s1ap_id = S1AP_PATH_SWITCH_REQ_ACK (msg_p).eNB_ue_s1ap_id;
   ue_context_p   = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
-  LOG_I(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
+  LOG_I(RRC, "[eNB %ld] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d, nb_of_e_rabs %d\n",
         instance, msg_name, ue_initial_id, eNB_ue_s1ap_id, S1AP_E_RAB_SETUP_REQ (msg_p).nb_e_rabs_tosetup);
 
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
     //MessageDef *msg_fail_p = NULL;
-    LOG_W(RRC, "[eNB %d] In S1AP_PATH_SWITCH_REQ_ACK: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
-    //msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_PATH_SWITCH_REQ_ACK_FAIL);
+    LOG_W(RRC, "[eNB %ld] In S1AP_PATH_SWITCH_REQ_ACK: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
+    //msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_PATH_SWITCH_REQ_ACK_FAIL);
     //S1AP_PATH_SWITCH_REQ_ACK  (msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
     // TODO add failure cause when defined!
     //itti_send_msg_to_task (TASK_S1AP, instance, msg_fail_p);
@@ -2242,7 +2242,7 @@ int rrc_eNB_process_S1AP_PATH_SWITCH_REQ_ACK (MessageDef *msg_p,
 int rrc_eNB_send_X2AP_UE_CONTEXT_RELEASE(const protocol_ctxt_t *const ctxt_pP,
     rrc_eNB_ue_context_t *const ue_context_pP) {
   MessageDef      *msg_p         = NULL;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, X2AP_UE_CONTEXT_RELEASE);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, X2AP_UE_CONTEXT_RELEASE);
   X2AP_UE_CONTEXT_RELEASE (msg_p).rnti = ue_context_pP->ue_context.rnti;
   X2AP_UE_CONTEXT_RELEASE (msg_p).source_assoc_id = ue_context_pP->ue_context.handover_info->assoc_id;
   itti_send_msg_to_task (TASK_X2AP, ctxt_pP->instance, msg_p);
@@ -2295,7 +2295,7 @@ int rrc_eNB_send_E_RAB_Modification_Indication(const protocol_ctxt_t *const ctxt
   uint8_t inde_list[ue_context_pP->ue_context.nb_of_e_rabs];
   memset(inde_list, 0, ue_context_pP->ue_context.nb_of_e_rabs*sizeof(uint8_t));
 
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_MODIFICATION_IND);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_MODIFICATION_IND);
 
 
   S1AP_E_RAB_MODIFICATION_IND (msg_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
diff --git a/openair2/RRC/LTE/rrc_eNB_ral.c b/openair2/RRC/LTE/rrc_eNB_ral.c
index 4820e84dc0d43e89cd8a71af61085b14f6e19253..9e1486f6d8a3e4d8e1fd8081973cd13256bbe725 100644
--- a/openair2/RRC/LTE/rrc_eNB_ral.c
+++ b/openair2/RRC/LTE/rrc_eNB_ral.c
@@ -126,7 +126,7 @@ int rrc_enb_ral_handle_configure_threshold_request(unsigned int mod_idP, Message
                 message_p = itti_alloc_new_message (TASK_RRC_ENB, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_PHY_ENB, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_PHY_ENB, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               default:
@@ -147,7 +147,7 @@ int rrc_enb_ral_handle_configure_threshold_request(unsigned int mod_idP, Message
                 message_p = itti_alloc_new_message (TASK_RRC_ENB, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_MAC_ENB, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_MAC_ENB, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               default:
@@ -166,7 +166,7 @@ int rrc_enb_ral_handle_configure_threshold_request(unsigned int mod_idP, Message
                 message_p = itti_alloc_new_message (TASK_RRC_ENB, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_PHY_ENB, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_PHY_ENB, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               case RAL_LINK_PARAM_LTE_AVAILABLE_BW:
@@ -176,7 +176,7 @@ int rrc_enb_ral_handle_configure_threshold_request(unsigned int mod_idP, Message
                 message_p = itti_alloc_new_message (TASK_RRC_ENB, PHY_MEAS_THRESHOLD_REQ);
                 PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
                 memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
-                itti_send_msg_to_task (TASK_MAC_ENB, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                itti_send_msg_to_task (TASK_MAC_ENB, ITTI_MSG_DESTINATION_INSTANCE(msg_pP), message_p);
                 break;
 
               case RAL_LINK_PARAM_LTE_MOBILE_NODE_CAPABILITIES:
diff --git a/openair2/RRC/LTE/rrm_2_rrc_msg.c b/openair2/RRC/LTE/rrm_2_rrc_msg.c
deleted file mode 100644
index 84801a16bef3c5a32f490b4c3b231688fed2418c..0000000000000000000000000000000000000000
--- a/openair2/RRC/LTE/rrm_2_rrc_msg.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * 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     emul_interface.c
-
-\brief    RRM interface emulation, it sends message to the RRM interface
-          - RRC -> RRM
-          - CMM -> RRM
-
-\author   BURLOT Pascal
-
-\date     10/07/08
-
-
-\par     Historique:
-      $Author$  $Date$  $Revision$
-      $Id$
-      $Log$
-
-*******************************************************************************
-*/
-
-#include "defs.h"
-#include "extern.h"
-
-
-
-
-//#include "mac_lchan_interface.h"
-//#include "openair_rrc_utils.h"
-//#include "openair_rrc_main.h"
-#ifdef PHY_EMUL
-  #include "SIMULATION/simulation_defs.h"
-  extern EMULATION_VARS *Emul_vars;
-  extern CH_MAC_INST *CH_mac_inst;
-  extern UE_MAC_INST *UE_mac_inst;
-#endif
-
-
-
-/******************************************************************************/
-void  fn_rrc (void) {
-  /******************************************************************************/
-  msg_head_t *Header ;
-  char *Data;
-  L2_ID Mac_id;
-
-  while(1) {
-    Header = (msg_head_t *) recv_msg(&S_rrc) ;
-
-    if(Header==NULL) {
-      break;
-    }
-
-    Data_to_read=Header->size;
-
-    if (Data_to_read > 0 ) {
-      Data = (char *) (Header +1) ;
-    }
-
-    msg("Got MSG of Type %d on Inst %d\n",Header->msg_type,Header->inst);
-
-    switch ( Header->msg_type ) {
-      case RRM_INIT_CH_REQ: {
-        rrm_init_ch_req_t *p = (rrm_init_ch_req_t *) Data;
-        msg( "[RRM]>[RRC][Inst %d]:RRM_INIT_CH_REQ\n",Header->inst);
-        rrc_init_ch_req(Header->inst,p);
-        break;
-      }
-
-      case RRCI_INIT_MR_REQ: {
-        rrci_init_mr_req_t *p = (rrci_init_mr_req_t *) Data;
-        msg( "[RRM]>[RRC][Inst %d]:RRCI_INIT_MR_REQ\n",Header->inst);
-        rrc_init_mr_req(Header->inst,p);
-        break;
-      }
-
-      case RRM_RB_ESTABLISH_REQ: {
-        send_msg((void *)&S_rrc,msg_rrc_rb_establish_resp(Header->inst,Header->Trans_id));
-        msg( "[RRM]>[RRC][Inst %d]:RRM_RB_ESTABLISH_REQ, size %d\n",Header->inst,sizeof(rrm_rb_establish_req_t));
-        rrc_config_req(Header->inst,(void *)Data,Header->msg_type,Header->Trans_id);
-        break ;
-      }
-
-      case RRM_RB_MODIFY_REQ: {
-        send_msg((void *)&S_rrc,msg_rrc_rb_modify_resp(Header->inst,Header->Trans_id));
-        msg( "[RRM]>[RRC][Inst %d]:RRM_RB_MODIFY_REQ\n",Header->inst);
-        rrc_config_req(Header->inst,Data,Header->msg_type,Header->Trans_id);
-      }
-
-      case RRM_RB_RELEASE_REQ: {
-        send_msg((void *)&S_rrc,msg_rrc_rb_release_resp(Header->inst,Header->Trans_id));
-        msg( "[RRM]>[RRC][Inst %d]:RRM_RB_RELEASE_REQ\n",Header->inst);
-        rrc_config_req(Header->inst,Data,Header->msg_type,Header->Trans_id);
-      }
-
-      case RRCI_CX_ESTABLISH_RESP: {
-        rrci_cx_establish_resp_t *p = (rrci_cx_establish_resp_t *) Data;
-        unsigned char i, CH_index = 0;
-        msg( "[RRCI]>[RRC][Inst %d]:RRCI_CX_ESTABLISH_RESP\n",Header->inst);
-
-        for(i=0; i<NB_SIG_CNX_UE; i++)
-          if(!bcmp(&UE_rrc_inst[Header->inst-NB_CH_INST].Info[i].CH_mac_id,&p->L2_id,sizeof(L2_ID))) {
-            CH_index=i;
-            break;
-          }
-
-        if(i==NB_SIG_CNX_UE) {
-          msg("[RRC] FATAL: CH_INDEX NOT FOUND\n");
-          return;
-        }
-
-        UE_rrc_inst[Header->inst-NB_CH_INST].Srb2[CH_index].Srb_info.IP_addr_type=p->L3_info_t;
-
-        if(p->L3_info_t == IPv4_ADDR) {
-          memcpy(&UE_rrc_inst[Header->inst-NB_CH_INST].Srb2[CH_index].Srb_info.IP_addr,p->L3_info,4);
-        } else {
-          memcpy(&UE_rrc_inst[Header->inst-NB_CH_INST].Srb2[CH_index].Srb_info.IP_addr,p->L3_info,16);
-        }
-      }
-      break ;
-
-      case RRM_SENSING_MEAS_REQ: {
-        //    rrm_sensing_meas_req_t *p = (rrm_sensing_meas_req_t *) sock_msg ;
-        send_msg((void *)&S_rrc,msg_rrc_sensing_meas_resp(Header->inst,Header->Trans_id));
-        msg( "[RRM]>[RRC][Inst %d]:RRM_SENSING_MEAS_REQ\n",Header->inst);
-        // rrc_meas_req(header->inst,p,RRC_MEAS_ADD);
-      }
-      break ;
-
-      case RRM_SENSING_MEAS_RESP: {
-        msg( "[RRM]>[RRC][Inst %d]:RRM_SENSING_MEAS_RESP\n",Header->inst);
-        //rrm_rrc_meas_resp(header->inst,header->Trans_id);
-      }
-      break ;
-
-      case RRM_SCAN_ORD:
-        msg( "[RRM]>[RRC][Inst %d]:RRM_SCAN_ORD\n",Header->inst);
-        //memcpy(&CH_rrc_inst[0].Rrm_init_scan_req,(rrm_init_scan_req_t *) Data,sizeof(rrm_init_scan_req_t));
-        //CH_rrc_inst[0].Last_scan_req=Rrc_xface->Frame_index;
-        ///send over air
-        break;
-
-      case RRM_INIT_SCAN_REQ:
-        msg( "[RRM]>[RRC][Inst %d]:RRM_INIT_SCAN_REQ\n",Header->inst);
-        memcpy(&CH_rrc_inst[0].Rrm_init_scan_req,(rrm_init_scan_req_t *) Data,sizeof(rrm_init_scan_req_t));
-        CH_rrc_inst[0].Last_scan_req=Rrc_xface->Frame_index;
-        ///send over air
-        break;
-
-      case RRM_END_SCAN_REQ:
-        msg( "[RRM]>[RRC][Inst %d]:RRM_END_SCAN_REQ\n",Header->inst);
-        memcpy(&Mac_id.L2_id[0],Data,sizeof(L2_ID));
-        unsigned char UE_index=Mac_id.L2_id[0]-NB_CH_MAX+1;
-        UE_rrc_inst[0].Srb2[UE_index].Srb_info.Tx_buffer.Payload[0]=100;
-        msg("SRB_ID %d\n",CH_rrc_inst[0].Srb2[UE_index].Srb_info.Srb_id);
-        Mac_rlc_xface->rrc_rlc_data_req(0,CH_rrc_inst[0].Srb2[UE_index].Srb_info.Srb_id,0,0,1,CH_rrc_inst[0].Srb2[UE_index].Srb_info.Tx_buffer.Payload);
-        //CH_rrc_inst[0].Last_scan_req=Rrc_xface->Frame_index;
-        ///send over air
-        break;
-
-      default :
-        msg("[L3_xface]WARNING: msg unknown %d\n",Header->msg_type) ;
-    }
-  }
-}
diff --git a/openair2/RRC/NR/L2_nr_interface.c b/openair2/RRC/NR/L2_nr_interface.c
index 11c13eda32fc6862275f0adb4c56b3ddae2252c2..41272edc952c5a60196b2ac91563d14f0f395f89 100644
--- a/openair2/RRC/NR/L2_nr_interface.c
+++ b/openair2/RRC/NR/L2_nr_interface.c
@@ -86,7 +86,7 @@ nr_rrc_data_req(
                      ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE,
                      sdu_sizeP);
   memcpy (message_buffer, buffer_pP, sdu_sizeP);
-  message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, RRC_DCCH_DATA_REQ);
+  message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, 0, RRC_DCCH_DATA_REQ);
   RRC_DCCH_DATA_REQ (message_p).frame     = ctxt_pP->frame;
   RRC_DCCH_DATA_REQ (message_p).enb_flag  = ctxt_pP->enb_flag;
   RRC_DCCH_DATA_REQ (message_p).rb_id     = rb_idP;
diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c
index 9bc95b216b0348d3b2aea726d96c7af8d3096d47..b758af2fb0244a275f1c7d2c7da3273bef1cb287 100644
--- a/openair2/RRC/NR/rrc_gNB.c
+++ b/openair2/RRC/NR/rrc_gNB.c
@@ -408,7 +408,7 @@ rrc_gNB_generate_RRCSetup(
   message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM,
             ue_p->Srb0.Tx_buffer.payload_size);
   memcpy (message_buffer, (uint8_t*)ue_p->Srb0.Tx_buffer.Payload, ue_p->Srb0.Tx_buffer.payload_size);
-  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, GNB_RRC_CCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, 0, GNB_RRC_CCCH_DATA_IND);
   GNB_RRC_CCCH_DATA_IND (message_p).sdu = message_buffer;
   GNB_RRC_CCCH_DATA_IND (message_p).size  = ue_p->Srb0.Tx_buffer.payload_size;
   itti_send_msg_to_task (TASK_RRC_UE_SIM, ctxt_pP->instance, message_p);
@@ -450,7 +450,7 @@ rrc_gNB_generate_RRCReject(
   message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM,
             ue_p->Srb0.Tx_buffer.payload_size);
   memcpy (message_buffer, (uint8_t*)ue_p->Srb0.Tx_buffer.Payload, ue_p->Srb0.Tx_buffer.payload_size);
-  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, GNB_RRC_CCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, 0, GNB_RRC_CCCH_DATA_IND);
   GNB_RRC_CCCH_DATA_IND (message_p).sdu = message_buffer;
   GNB_RRC_CCCH_DATA_IND (message_p).size  = ue_p->Srb0.Tx_buffer.payload_size;
   itti_send_msg_to_task (TASK_RRC_UE_SIM, ctxt_pP->instance, message_p);
@@ -528,7 +528,7 @@ rrc_gNB_generate_defaultRRCReconfiguration(
   uint8_t *message_buffer;
   message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM, size);
   memcpy (message_buffer, buffer, size);
-  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, GNB_RRC_DCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, 0, GNB_RRC_DCCH_DATA_IND);
   GNB_RRC_DCCH_DATA_IND (message_p).rbid = DCCH;
   GNB_RRC_DCCH_DATA_IND (message_p).sdu = message_buffer;
   GNB_RRC_DCCH_DATA_IND (message_p).size	= size;
@@ -1254,7 +1254,7 @@ void nr_rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) {
 
   /* send a tick to x2ap */
   if (is_x2ap_enabled()){
-    msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_SUBFRAME_PROCESS);
+    msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_SUBFRAME_PROCESS);
     itti_send_msg_to_task(TASK_X2AP, ctxt_pP->module_id, msg);
   }
 }
@@ -1276,7 +1276,7 @@ void *rrc_gnb_task(void *args_p) {
     // Wait for a message
     itti_receive_msg(TASK_RRC_GNB, &msg_p);
     msg_name_p = ITTI_MSG_NAME(msg_p);
-    instance = ITTI_MSG_INSTANCE(msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE(msg_p);
 
     /* RRC_SUBFRAME_PROCESS is sent every subframe, do not log it */
     if (ITTI_MSG_ID(msg_p) != RRC_SUBFRAME_PROCESS)
@@ -1289,7 +1289,7 @@ void *rrc_gnb_task(void *args_p) {
         break;
 
       case MESSAGE_TEST:
-        LOG_I(NR_RRC, "[gNB %d] Received %s\n", instance, msg_name_p);
+        LOG_I(NR_RRC, "[gNB %ld] Received %s\n", instance, msg_name_p);
         break;
 
       case RRC_SUBFRAME_PROCESS:
@@ -1304,7 +1304,7 @@ void *rrc_gnb_task(void *args_p) {
       //                               NR_RRC_MAC_CCCH_DATA_IND(msg_p).rnti,
       //                               msg_p->ittiMsgHeader.lte_time.frame,
       //                               msg_p->ittiMsgHeader.lte_time.slot);
-        LOG_I(NR_RRC,"Decoding CCCH : inst %d, CC_id %d, ctxt %p, sib_info_p->Rx_buffer.payload_size %d\n",
+        LOG_I(NR_RRC,"Decoding CCCH : inst %ld, CC_id %d, ctxt %p, sib_info_p->Rx_buffer.payload_size %d\n",
                 instance,
                 NR_RRC_MAC_CCCH_DATA_IND(msg_p).CC_id,
                 &ctxt,
@@ -1397,7 +1397,7 @@ void *rrc_gnb_task(void *args_p) {
       */
       /* Messages from gNB app */
       case NRRRC_CONFIGURATION_REQ:
-        LOG_I(NR_RRC, "[gNB %d] Received %s : %p\n", instance, msg_name_p,&NRRRC_CONFIGURATION_REQ(msg_p));
+        LOG_I(NR_RRC, "[gNB %ld] Received %s : %p\n", instance, msg_name_p,&NRRRC_CONFIGURATION_REQ(msg_p));
         openair_rrc_gNB_configuration(GNB_INSTANCE_TO_MODULE_ID(instance), &NRRRC_CONFIGURATION_REQ(msg_p));
         break;
 
@@ -1429,7 +1429,7 @@ void *rrc_gnb_task(void *args_p) {
         break;
 
       default:
-        LOG_E(NR_RRC, "[gNB %d] Received unexpected message %s\n", instance, msg_name_p);
+        LOG_E(NR_RRC, "[gNB %ld] Received unexpected message %s\n", instance, msg_name_p);
         break;
     }
 
@@ -1486,7 +1486,7 @@ rrc_gNB_generate_SecurityModeCommand(
   uint8_t *message_buffer;
   message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM,size);
   memcpy (message_buffer, buffer, size);
-  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, GNB_RRC_DCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, 0, GNB_RRC_DCCH_DATA_IND);
   GNB_RRC_DCCH_DATA_IND (message_p).rbid = DCCH;
   GNB_RRC_DCCH_DATA_IND (message_p).sdu = message_buffer;
   GNB_RRC_DCCH_DATA_IND (message_p).size	= size;
@@ -1543,7 +1543,7 @@ rrc_gNB_generate_UECapabilityEnquiry(
   uint8_t *message_buffer;
   message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM, size);
   memcpy (message_buffer, buffer, size);
-  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, GNB_RRC_DCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_GNB_SIM, 0, GNB_RRC_DCCH_DATA_IND);
   GNB_RRC_DCCH_DATA_IND (message_p).rbid = DCCH;
   GNB_RRC_DCCH_DATA_IND (message_p).sdu = message_buffer;
   GNB_RRC_DCCH_DATA_IND (message_p).size  = size;
@@ -1602,7 +1602,7 @@ rrc_gNB_generate_RRCConnectionRelease(
     size);
 
   if (NODE_IS_CU(RC.rrc[ctxt_pP->module_id]->node_type)) {
-    MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, F1AP_UE_CONTEXT_RELEASE_CMD);
+    MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, 0, F1AP_UE_CONTEXT_RELEASE_CMD);
     F1AP_UE_CONTEXT_RELEASE_CMD(m).rnti = ctxt_pP->rnti;
     F1AP_UE_CONTEXT_RELEASE_CMD(m).cause = F1AP_CAUSE_RADIO_NETWORK;
     F1AP_UE_CONTEXT_RELEASE_CMD(m).cause_value = 10; // 10 = F1AP_CauseRadioNetwork_normal_release
@@ -1622,7 +1622,7 @@ rrc_gNB_generate_RRCConnectionRelease(
 void nr_rrc_trigger(protocol_ctxt_t *ctxt, int CC_id, int frame, int subframe)
 {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_RRC_GNB, RRC_SUBFRAME_PROCESS);
+  message_p = itti_alloc_new_message(TASK_RRC_GNB, 0, RRC_SUBFRAME_PROCESS);
   RRC_SUBFRAME_PROCESS(message_p).ctxt  = *ctxt;
   RRC_SUBFRAME_PROCESS(message_p).CC_id = CC_id;
   itti_send_msg_to_task(TASK_RRC_GNB, ctxt->module_id, message_p);
diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.c b/openair2/RRC/NR/rrc_gNB_NGAP.c
index 1d0cfef89c49f1661f668e5bb6fcfd95915ded83..7f6a58702a3871dd45e474f41a27afa817e238a7 100644
--- a/openair2/RRC/NR/rrc_gNB_NGAP.c
+++ b/openair2/RRC/NR/rrc_gNB_NGAP.c
@@ -205,7 +205,7 @@ rrc_gNB_send_NGAP_NAS_FIRST_REQ(
   rrc_ue_ngap_ids_t  *rrc_ue_ngap_ids_p = NULL;
   // hashtable_rc_t      h_rc;
 
-  message_p = itti_alloc_new_message(TASK_RRC_GNB, NGAP_NAS_FIRST_REQ);
+  message_p = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_NAS_FIRST_REQ);
   memset(&message_p->ittiMsg.ngap_nas_first_req, 0, sizeof(ngap_nas_first_req_t));
   ue_context_pP->ue_context.ue_initial_id = get_next_ue_initial_id(ctxt_pP->module_id);
   NGAP_NAS_FIRST_REQ(message_p).ue_initial_id = ue_context_pP->ue_context.ue_initial_id;
@@ -325,14 +325,14 @@ rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ(
   gNB_ue_ngap_id = NGAP_INITIAL_CONTEXT_SETUP_REQ(msg_p).gNB_ue_ngap_id;
 
   ue_context_p   = rrc_gNB_get_ue_context_from_ngap_ids(instance, ue_initial_id, gNB_ue_ngap_id);
-  LOG_I(NR_RRC, "[gNB %d] Received %s: ue_initial_id %d, gNB_ue_ngap_id %d \n",
+  LOG_I(NR_RRC, "[gNB %ld] Received %s: ue_initial_id %d, gNB_ue_ngap_id %d \n",
       instance, msg_name, ue_initial_id, gNB_ue_ngap_id);
 
   if (ue_context_p == NULL) {
     /* Can not associate this message to an UE index, send a failure to NGAP and discard it! */
     MessageDef *msg_fail_p = NULL;
-    LOG_W(NR_RRC, "[gNB %d] In NGAP_INITIAL_CONTEXT_SETUP_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, gNB_ue_ngap_id);
-    msg_fail_p = itti_alloc_new_message (TASK_RRC_GNB, NGAP_INITIAL_CONTEXT_SETUP_FAIL);
+    LOG_W(NR_RRC, "[gNB %ld] In NGAP_INITIAL_CONTEXT_SETUP_REQ: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, gNB_ue_ngap_id);
+    msg_fail_p = itti_alloc_new_message (TASK_RRC_GNB, 0, NGAP_INITIAL_CONTEXT_SETUP_FAIL);
     NGAP_INITIAL_CONTEXT_SETUP_FAIL (msg_fail_p).gNB_ue_ngap_id = gNB_ue_ngap_id;
     // TODO add failure cause when defined!
     itti_send_msg_to_task (TASK_NGAP, instance, msg_fail_p);
@@ -393,7 +393,7 @@ rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP(
   int e_rab;
   int e_rabs_done = 0;
   int e_rabs_failed = 0;
-  msg_p = itti_alloc_new_message (TASK_RRC_ENB, NGAP_INITIAL_CONTEXT_SETUP_RESP);
+  msg_p = itti_alloc_new_message (TASK_RRC_ENB, 0, NGAP_INITIAL_CONTEXT_SETUP_RESP);
   NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p).gNB_ue_ngap_id = ue_context_pP->ue_context.gNB_ue_ngap_id;
 
   for (e_rab = 0; e_rab < ue_context_pP->ue_context.nb_of_e_rabs; e_rab++) {
diff --git a/openair2/RRC/NR/rrc_gNB_nsa.c b/openair2/RRC/NR/rrc_gNB_nsa.c
index a0d32c1339d49898b2bd349b4a9360de9218621f..aa9b9df8f2a9268e2bd5dc5b9d7c6efc46fbb7ad 100644
--- a/openair2/RRC/NR/rrc_gNB_nsa.c
+++ b/openair2/RRC/NR/rrc_gNB_nsa.c
@@ -148,7 +148,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_
   // generate nr-Config-r15 containers for LTE RRC : inside message for X2 EN-DC (CG-Config Message from 38.331)
   rrc_gNB_carrier_data_t *carrier=&rrc->carrier;
   MessageDef *msg;
-  msg = itti_alloc_new_message(TASK_RRC_ENB, X2AP_ENDC_SGNB_ADDITION_REQ_ACK);
+  msg = itti_alloc_new_message(TASK_RRC_ENB, 0, X2AP_ENDC_SGNB_ADDITION_REQ_ACK);
   gtpv1u_enb_create_tunnel_req_t  create_tunnel_req;
   gtpv1u_enb_create_tunnel_resp_t create_tunnel_resp;
   protocol_ctxt_t ctxt;
@@ -326,7 +326,7 @@ void rrc_remove_nsa_user(gNB_RRC_INST *rrc, int rnti) {
   mac_remove_nr_ue(rrc->module_id, rnti);
 
   /* delete gtp tunnel */
-  msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_GNB, GTPV1U_ENB_DELETE_TUNNEL_REQ);
+  msg_delete_tunnels_p = itti_alloc_new_message(TASK_RRC_GNB, 0, GTPV1U_ENB_DELETE_TUNNEL_REQ);
   memset(&GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p), 0, sizeof(GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p)));
   GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).rnti = rnti;
   GTPV1U_ENB_DELETE_TUNNEL_REQ(msg_delete_tunnels_p).from_gnb = 1;
diff --git a/openair2/RRC/NR_UE/L2_interface_ue.c b/openair2/RRC/NR_UE/L2_interface_ue.c
index 44d50dd0efd6b4127e8d9900e76c1fb74eba6213..664f4ad000a60f0df657c654633d763177934b28 100644
--- a/openair2/RRC/NR_UE/L2_interface_ue.c
+++ b/openair2/RRC/NR_UE/L2_interface_ue.c
@@ -88,7 +88,7 @@ rrc_data_req_ue(
                        ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE,
                        sdu_sizeP);
     memcpy (message_buffer, buffer_pP, sdu_sizeP);
-    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, RRC_DCCH_DATA_REQ);
+    message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_ENB : TASK_RRC_UE, 0, RRC_DCCH_DATA_REQ);
     RRC_DCCH_DATA_REQ (message_p).frame     = ctxt_pP->frame;
     RRC_DCCH_DATA_REQ (message_p).enb_flag  = ctxt_pP->enb_flag;
     RRC_DCCH_DATA_REQ (message_p).rb_id     = rb_idP;
diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c
old mode 100755
new mode 100644
index 4fcd0db1b5814f3ab0346d74a21428c0633d7be6..d5d885c3bb7aa85c8dff6e4f8941a8388ab492d1
--- a/openair2/RRC/NR_UE/rrc_UE.c
+++ b/openair2/RRC/NR_UE/rrc_UE.c
@@ -834,7 +834,7 @@ int nr_decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t gNB_index
  /* TODO          {
               MessageDef                            *message_ral_p = NULL;
               rrc_ral_system_information_ind_t       ral_si_ind;
-              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_SYSTEM_INFORMATION_IND);
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_SYSTEM_INFORMATION_IND);
               memset(&ral_si_ind, 0, sizeof(rrc_ral_system_information_ind_t));
               ral_si_ind.plmn_id.MCCdigit2 = '0';
               ral_si_ind.plmn_id.MCCdigit1 = '2';
@@ -1162,7 +1162,7 @@ int nr_decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t gNB_inde
         ) {
           /* PLMN match, send a confirmation to NAS */
           MessageDef  *msg_p;
-          msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CELL_SELECTION_CNF);
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CELL_SELECTION_CNF);
           NAS_CELL_SELECTION_CNF (msg_p).errCode = AS_SUCCESS;
           NAS_CELL_SELECTION_CNF (msg_p).cellID = BIT_STRING_to_uint32(&sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->cellIdentity);
           NAS_CELL_SELECTION_CNF (msg_p).tac = BIT_STRING_to_uint16(sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->trackingAreaCode);
@@ -1180,7 +1180,7 @@ int nr_decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t gNB_inde
     if (cell_valid == 0) {
       /* Cell can not be used, ask PHY to try the next one */
       MessageDef  *msg_p;
-      msg_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_NEXT_CELL_REQ);
+      msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_NEXT_CELL_REQ);
       itti_send_msg_to_task(TASK_PHY_UE, ctxt_pP->instance, msg_p);
       LOG_E(RRC,
             "Synched with a cell, but PLMN doesn't match our SIM "
@@ -1385,7 +1385,7 @@ static void rrc_ue_generate_RRCSetupComplete(
   uint8_t *message_buffer;
   message_buffer = itti_malloc (TASK_RRC_UE_SIM, TASK_RRC_GNB_SIM, size);
   memcpy (message_buffer, buffer, size);
-  message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, UE_RRC_DCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, 0, UE_RRC_DCCH_DATA_IND);
   UE_RRC_DCCH_DATA_IND (message_p).rbid = 1;
   UE_RRC_DCCH_DATA_IND (message_p).sdu = message_buffer;
   UE_RRC_DCCH_DATA_IND (message_p).size  = size;
@@ -1516,7 +1516,7 @@ int8_t nr_rrc_ue_decode_NR_DL_DCCH_Message(
           case NR_DL_DCCH_MessageType__c1_PR_NOTHING:
           case NR_DL_DCCH_MessageType__c1_PR_rrcResume:
           case NR_DL_DCCH_MessageType__c1_PR_rrcRelease:
-            msg_p = itti_alloc_new_message(TASK_RRC_NRUE, NAS_CONN_RELEASE_IND);
+            msg_p = itti_alloc_new_message(TASK_RRC_NRUE, 0, NAS_CONN_RELEASE_IND);
             if((nr_dl_dcch_msg->message.choice.c1->choice.rrcRelease->criticalExtensions.present == NR_RRCRelease__criticalExtensions_PR_rrcRelease) &&
                (nr_dl_dcch_msg->message.choice.c1->present == NR_DL_DCCH_MessageType__c1_PR_rrcRelease)){
                 nr_dl_dcch_msg->message.choice.c1->choice.rrcRelease->criticalExtensions.choice.rrcRelease->deprioritisationReq->deprioritisationTimer =
@@ -1717,7 +1717,7 @@ nr_rrc_ue_process_securityModeCommand(
                        (enc_rval.encoded + 7) / 8);
     memcpy (message_buffer, buffer, (enc_rval.encoded + 7) / 8);
 
-    message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, UE_RRC_DCCH_DATA_IND);
+    message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, 0, UE_RRC_DCCH_DATA_IND);
     GNB_RRC_DCCH_DATA_IND (message_p).rbid  = DCCH;
     GNB_RRC_DCCH_DATA_IND (message_p).sdu   = message_buffer;
     GNB_RRC_DCCH_DATA_IND (message_p).size    = (enc_rval.encoded + 7) / 8;
@@ -1778,7 +1778,7 @@ void rrc_ue_generate_RRCSetupRequest( const protocol_ctxt_t *const ctxt_pP, cons
           NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size);
     memcpy (message_buffer, (uint8_t*)NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.Payload,
           NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size);
-    message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, UE_RRC_CCCH_DATA_IND);
+    message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, 0, UE_RRC_CCCH_DATA_IND);
     GNB_RRC_CCCH_DATA_IND (message_p).sdu = message_buffer;
     GNB_RRC_CCCH_DATA_IND (message_p).size  = NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size;
     itti_send_msg_to_task (TASK_RRC_GNB_SIM, ctxt_pP->instance, message_p);
@@ -2191,7 +2191,7 @@ rrc_ue_process_rrcReconfiguration(
       for (list_count = 0; list_count < ie->nonCriticalExtension->dedicatedNAS_MessageList->list.count; list_count++) {
         pdu_length = ie->nonCriticalExtension->dedicatedNAS_MessageList->list.array[list_count]->size;
         pdu_buffer = ie->nonCriticalExtension->dedicatedNAS_MessageList->list.array[list_count]->buf;
-        msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_ESTABLI_CNF);
+        msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CONN_ESTABLI_CNF);
         NAS_CONN_ESTABLI_CNF(msg_p).errCode = AS_SUCCESS;
         NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.length = pdu_length;
         NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.data = pdu_buffer;
@@ -2224,7 +2224,7 @@ void nr_rrc_ue_generate_RRCReconfigurationComplete( const protocol_ctxt_t *const
   message_buffer = itti_malloc (TASK_RRC_UE_SIM,TASK_RRC_GNB_SIM,size);
   memcpy (message_buffer, buffer, size);
 
-  message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, UE_RRC_DCCH_DATA_IND);
+  message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, 0, UE_RRC_DCCH_DATA_IND);
   UE_RRC_DCCH_DATA_IND (message_p).rbid = DCCH;
   UE_RRC_DCCH_DATA_IND (message_p).sdu = message_buffer;
   UE_RRC_DCCH_DATA_IND (message_p).size  = size;
@@ -2300,7 +2300,7 @@ nr_rrc_ue_decode_dcch(
 
       case NR_DL_DCCH_MessageType__c1_PR_rrcResume:
       case NR_DL_DCCH_MessageType__c1_PR_rrcRelease:
-        msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_RELEASE_IND);
+        msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, NAS_CONN_RELEASE_IND);
 
         if((dl_dcch_msg->message.choice.c1->choice.rrcRelease->criticalExtensions.present == NR_RRCRelease__criticalExtensions_PR_rrcRelease) &&
            (dl_dcch_msg->message.choice.c1->present == NR_DL_DCCH_MessageType__c1_PR_rrcRelease)){
@@ -2359,7 +2359,7 @@ void *rrc_nrue_task( void *args_p ) {
   while(1) {
     // Wait for a message
     itti_receive_msg (TASK_RRC_NRUE, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
     ue_mod_id = UE_INSTANCE_TO_MODULE_ID(instance);
 
     switch (ITTI_MSG_ID(msg_p)) {
@@ -2546,7 +2546,7 @@ nr_rrc_ue_process_ueCapabilityEnquiry(
                (enc_rval.encoded + 7) / 8);
       memcpy (message_buffer, buffer, (enc_rval.encoded + 7) / 8);
 
-      message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, UE_RRC_DCCH_DATA_IND);
+      message_p = itti_alloc_new_message (TASK_RRC_UE_SIM, 0, UE_RRC_DCCH_DATA_IND);
       GNB_RRC_DCCH_DATA_IND (message_p).rbid  = DCCH;
       GNB_RRC_DCCH_DATA_IND (message_p).sdu   = message_buffer;
       GNB_RRC_DCCH_DATA_IND (message_p).size  = (enc_rval.encoded + 7) / 8;
diff --git a/openair2/SIMULATION/NR_RRC/itti_sim.c b/openair2/SIMULATION/NR_RRC/itti_sim.c
index d9352f2d0aa82595be266e414c145c1e838003c3..9f81aa1901e8d588c084b465046d5e46c7e57bb7 100644
--- a/openair2/SIMULATION/NR_RRC/itti_sim.c
+++ b/openair2/SIMULATION/NR_RRC/itti_sim.c
@@ -422,7 +422,7 @@ void *itti_sim_ue_rrc_task( void *args_p) {
   while(1) {
     // Wait for a message
     itti_receive_msg (TASK_RRC_UE_SIM, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
     ue_mod_id = UE_INSTANCE_TO_MODULE_ID(instance);
 
     switch (ITTI_MSG_ID(msg_p)) {
@@ -479,7 +479,7 @@ void *itti_sim_gnb_rrc_task( void *args_p) {
   while(1) {
     // Wait for a message
     itti_receive_msg (TASK_RRC_GNB_SIM, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
     ue_mod_id = UE_INSTANCE_TO_MODULE_ID(instance);
 
     switch (ITTI_MSG_ID(msg_p)) {
@@ -557,9 +557,9 @@ int main( int argc, char **argv )
   }
 
   cpuf=get_cpu_freq_GHz();
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
   // initialize mscgen log after ITTI
-  MSC_INIT(MSC_E_UTRAN, THREAD_MAX+TASK_MAX);
+  MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
 
 
   init_opt();
diff --git a/openair2/X2AP/x2ap_eNB.c b/openair2/X2AP/x2ap_eNB.c
index 7e4f735705548e9793926232a772b32cbd986930..58535646fd023c1d17f4402b55a9b43681d76544 100644
--- a/openair2/X2AP/x2ap_eNB.c
+++ b/openair2/X2AP/x2ap_eNB.c
@@ -133,7 +133,7 @@ void x2ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
   dump_trees();
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    X2AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    X2AP_WARN("Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -159,7 +159,7 @@ static
 void x2ap_eNB_handle_sctp_association_ind(instance_t instance, sctp_new_association_ind_t *sctp_new_association_ind) {
   x2ap_eNB_instance_t *instance_p;
   x2ap_eNB_data_t *x2ap_enb_data_p;
-  printf("x2ap_eNB_handle_sctp_association_ind at 1 (called for instance %d)\n", instance);
+  printf("x2ap_eNB_handle_sctp_association_ind at 1 (called for instance %ld)\n", instance);
   dump_trees();
   DevAssert(sctp_new_association_ind != NULL);
   instance_p = x2ap_eNB_get_instance(instance);
@@ -207,7 +207,7 @@ int x2ap_eNB_init_sctp (x2ap_eNB_instance_t *instance_p,
   sctp_init_t                            *sctp_init  = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(local_ip_addr != NULL);
-  message = itti_alloc_new_message (TASK_X2AP, SCTP_INIT_MSG_MULTI_REQ);
+  message = itti_alloc_new_message (TASK_X2AP, 0, SCTP_INIT_MSG_MULTI_REQ);
   sctp_init = &message->ittiMsg.sctp_init_multi;
   sctp_init->port = enb_port_for_X2C;
   sctp_init->ppid = X2AP_SCTP_PPID;
@@ -241,7 +241,7 @@ static void x2ap_eNB_register_eNB(x2ap_eNB_instance_t *instance_p,
   x2ap_eNB_data_t                  *x2ap_enb_data             = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(target_eNB_ip_address != NULL);
-  message = itti_alloc_new_message(TASK_X2AP, SCTP_NEW_ASSOCIATION_REQ_MULTI);
+  message = itti_alloc_new_message(TASK_X2AP, 0, SCTP_NEW_ASSOCIATION_REQ_MULTI);
   sctp_new_association_req = &message->ittiMsg.sctp_new_association_req_multi;
   sctp_new_association_req->port = enb_port_for_X2C;
   sctp_new_association_req->ppid = X2AP_SCTP_PPID;
@@ -286,7 +286,7 @@ void x2ap_eNB_handle_register_eNB(instance_t instance,
     DevCheck(new_instance->tac == x2ap_register_eNB->tac, new_instance->tac, x2ap_register_eNB->tac, 0);
     DevCheck(new_instance->mcc == x2ap_register_eNB->mcc, new_instance->mcc, x2ap_register_eNB->mcc, 0);
     DevCheck(new_instance->mnc == x2ap_register_eNB->mnc, new_instance->mnc, x2ap_register_eNB->mnc, 0);
-    X2AP_WARN("eNB[%d] already registered\n", instance);
+    X2AP_WARN("eNB[%ld] already registered\n", instance);
   } else {
     new_instance = calloc(1, sizeof(x2ap_eNB_instance_t));
     DevAssert(new_instance != NULL);
@@ -339,7 +339,7 @@ void x2ap_eNB_handle_register_eNB(instance_t instance,
     new_instance->enb_port_for_X2C  = x2ap_register_eNB->enb_port_for_X2C;
     /* Add the new instance to the list of eNB (meaningfull in virtual mode) */
     x2ap_eNB_insert_new_instance(new_instance);
-    X2AP_INFO("Registered new eNB[%d] and %s eNB id %u\n",
+    X2AP_INFO("Registered new eNB[%ld] and %s eNB id %u\n",
               instance,
               x2ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
               x2ap_register_eNB->eNB_id);
@@ -350,7 +350,7 @@ void x2ap_eNB_handle_register_eNB(instance_t instance,
       return;
     }
 
-    X2AP_INFO("eNB[%d] eNB id %u acting as a listner (server)\n",
+    X2AP_INFO("eNB[%ld] eNB id %u acting as a listner (server)\n",
               instance, x2ap_register_eNB->eNB_id);
   }
 }
@@ -377,7 +377,7 @@ void x2ap_eNB_handle_sctp_init_msg_multi_cnf(
   /* Trying to connect to the provided list of eNB ip address */
 
   for (index = 0; index < instance->nb_x2; index++) {
-    X2AP_INFO("eNB[%d] eNB id %u acting as an initiator (client)\n",
+    X2AP_INFO("eNB[%ld] eNB id %u acting as an initiator (client)\n",
               instance_id, instance->eNB_id);
     x2ap_eNB_register_eNB(instance,
                           &instance->target_enb_x2_ip_address[index],
@@ -633,67 +633,67 @@ void *x2ap_task(void *arg) {
         break;
 
       case X2AP_SUBFRAME_PROCESS:
-        x2ap_check_timers(ITTI_MESSAGE_GET_INSTANCE(received_msg));
+        x2ap_check_timers(ITTI_MSG_DESTINATION_INSTANCE(received_msg));
         break;
 
       case X2AP_REGISTER_ENB_REQ:
-        x2ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &X2AP_REGISTER_ENB_REQ(received_msg));
         break;
 
       case X2AP_HANDOVER_REQ:
-        x2ap_eNB_handle_handover_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_handover_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &X2AP_HANDOVER_REQ(received_msg));
         break;
 
       case X2AP_HANDOVER_REQ_ACK:
-        x2ap_eNB_handle_handover_req_ack(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_handover_req_ack(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                          &X2AP_HANDOVER_REQ_ACK(received_msg));
         break;
 
       case X2AP_UE_CONTEXT_RELEASE:
-        x2ap_eNB_ue_context_release(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_ue_context_release(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                 &X2AP_UE_CONTEXT_RELEASE(received_msg));
         break;
 
       case X2AP_ENDC_SGNB_ADDITION_REQ:
-        x2ap_eNB_handle_sgNB_add_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_sgNB_add_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &X2AP_ENDC_SGNB_ADDITION_REQ(received_msg));
         break;
 
       case X2AP_ENDC_SGNB_ADDITION_REQ_ACK:
-    	  x2ap_gNB_trigger_sgNB_add_req_ack(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+    	  x2ap_gNB_trigger_sgNB_add_req_ack(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
     			  &X2AP_ENDC_SGNB_ADDITION_REQ_ACK(received_msg));
     	LOG_I(X2AP, "Received elements for X2AP_ENDC_SGNB_ADDITION_REQ_ACK \n");
     	break;
 
       case X2AP_ENDC_SGNB_RECONF_COMPLETE:
-        x2ap_eNB_trigger_sgnb_reconfiguration_complete(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_trigger_sgnb_reconfiguration_complete(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                           &X2AP_ENDC_SGNB_RECONF_COMPLETE(received_msg));
         break;
 
       case X2AP_ENDC_SGNB_RELEASE_REQUEST:
-        x2ap_eNB_handle_sgNB_release_request(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_sgNB_release_request(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                           &X2AP_ENDC_SGNB_RELEASE_REQUEST(received_msg));
         break;
 
       case SCTP_INIT_MSG_MULTI_CNF:
-        x2ap_eNB_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_sctp_init_msg_multi_cnf(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                 &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
         break;
 
       case SCTP_NEW_ASSOCIATION_RESP:
-        x2ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_NEW_ASSOCIATION_IND:
-        x2ap_eNB_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_sctp_association_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                              &received_msg->ittiMsg.sctp_new_association_ind);
         break;
 
       case SCTP_DATA_IND:
-        x2ap_eNB_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        x2ap_eNB_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                       &received_msg->ittiMsg.sctp_data_ind);
         break;
 
diff --git a/openair2/X2AP/x2ap_eNB_handler.c b/openair2/X2AP/x2ap_eNB_handler.c
index bbdeaf0ac8ecdafe89c8123b3e9dc24ad328120b..f0e0fa9c231b41c592560dee73a9f9756b25c790 100644
--- a/openair2/X2AP/x2ap_eNB_handler.c
+++ b/openair2/X2AP/x2ap_eNB_handler.c
@@ -230,7 +230,7 @@ void x2ap_handle_x2_setup_message(x2ap_eNB_instance_t *instance_p, x2ap_eNB_data
       if (instance_p->x2_target_enb_associated_nb == 0) {
         MessageDef                 *message_p;
 
-        message_p = itti_alloc_new_message(TASK_X2AP, X2AP_DEREGISTERED_ENB_IND);
+        message_p = itti_alloc_new_message(TASK_X2AP, 0, X2AP_DEREGISTERED_ENB_IND);
         X2AP_DEREGISTERED_ENB_IND(message_p).nb_x2 = 0;
         itti_send_msg_to_task(TASK_ENB_APP, instance_p->instance, message_p);
       }
@@ -250,7 +250,7 @@ void x2ap_handle_x2_setup_message(x2ap_eNB_instance_t *instance_p, x2ap_eNB_data
     if (instance_p->x2_target_enb_pending_nb == 0) {
       MessageDef                 *message_p;
 
-      message_p = itti_alloc_new_message(TASK_X2AP, X2AP_REGISTER_ENB_CNF);
+      message_p = itti_alloc_new_message(TASK_X2AP, 0, X2AP_REGISTER_ENB_CNF);
       X2AP_REGISTER_ENB_CNF(message_p).nb_x2 = instance_p->x2_target_enb_associated_nb;
       itti_send_msg_to_task(TASK_ENB_APP, instance_p->instance, message_p);
     }
@@ -480,7 +480,7 @@ x2ap_eNB_handle_x2_setup_request(instance_t instance,
     return -1;
   }
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_SETUP_REQ);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_SETUP_REQ);
 
   X2AP_SETUP_REQ(msg).num_cc = ie->value.choice.ServedCells.list.count;
 
@@ -598,7 +598,7 @@ int x2ap_eNB_handle_x2_setup_response(instance_t instance,
     return -1;
   }
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_SETUP_RESP);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_SETUP_RESP);
 
   X2AP_SETUP_RESP(msg).num_cc = ie->value.choice.ServedCells.list.count;
 
@@ -724,7 +724,7 @@ int x2ap_eNB_handle_handover_preparation (instance_t instance,
   instance_p = x2ap_eNB_get_instance(instance);
   DevAssert(instance_p != NULL);
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_HANDOVER_REQ);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_HANDOVER_REQ);
 
   X2AP_FIND_PROTOCOLIE_BY_ID(X2AP_HandoverRequest_IEs_t, ie, x2HandoverRequest,
                              X2AP_ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID, true);
@@ -865,7 +865,7 @@ int x2ap_eNB_handle_handover_response (instance_t instance,
   instance_p = x2ap_eNB_get_instance(instance);
   DevAssert(instance_p != NULL);
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_HANDOVER_REQ_ACK);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_HANDOVER_REQ_ACK);
 
   X2AP_FIND_PROTOCOLIE_BY_ID(X2AP_HandoverRequestAcknowledge_IEs_t, ie, x2HandoverRequestAck,
                              X2AP_ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID, true);
@@ -1005,7 +1005,7 @@ int x2ap_eNB_handle_ue_context_release (instance_t instance,
   instance_p = x2ap_eNB_get_instance(instance);
   DevAssert(instance_p != NULL);
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_UE_CONTEXT_RELEASE);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_UE_CONTEXT_RELEASE);
 
   X2AP_FIND_PROTOCOLIE_BY_ID(X2AP_UEContextRelease_IEs_t, ie, x2UEContextRelease,
                              X2AP_ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID, true);
@@ -1150,7 +1150,7 @@ int x2ap_eNB_handle_handover_cancel (instance_t instance,
     exit(1);
   }
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_HANDOVER_CANCEL);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_HANDOVER_CANCEL);
 
   X2AP_HANDOVER_CANCEL(msg).rnti = x2ap_id_get_rnti(&instance_p->id_manager, ue_id);
   X2AP_HANDOVER_CANCEL(msg).cause = cause;
@@ -1199,7 +1199,7 @@ int x2ap_eNB_handle_senb_addition_request (instance_t instance,
   instance_p = x2ap_eNB_get_instance(instance);
   DevAssert(instance_p != NULL);
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_SENB_ADDITION_REQ);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_SENB_ADDITION_REQ);
 
   /*MeNB_UE_X2AP_ID */
   X2AP_FIND_PROTOCOLIE_BY_ID(X2AP_SeNBAdditionRequest_IEs_t, ie, x2SeNBAdditionRequest,
@@ -1410,7 +1410,7 @@ x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance,
 		  X2AP_ProtocolIE_ID_id_InitiatingNodeType_EndcX2Setup, true);
 
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_SETUP_REQ);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_SETUP_REQ);
 
   if (ie == NULL ) {
     X2AP_ERROR("%s %d: ie is a NULL pointer \n",__FILE__,__LINE__);
@@ -1703,7 +1703,7 @@ int x2ap_gNB_handle_ENDC_sGNB_addition_request (instance_t instance,
   DevAssert(instance_p != NULL);
 
   //Allocate an ITTI X2AP_SGNB_ADDITION_REQ message instead
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_SGNB_ADDITION_REQ);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_SGNB_ADDITION_REQ);
 
   /* X2AP_ProtocolIE_ID_id_MeNB_UE_X2AP_ID */
   X2AP_FIND_PROTOCOLIE_BY_ID(X2AP_SgNBAdditionRequest_IEs_t, ie, x2SgNBAdditionRequest,
@@ -1851,7 +1851,7 @@ int x2ap_eNB_handle_ENDC_sGNB_addition_response (instance_t instance,
 	  DevAssert(instance_p != NULL);
 
 	  //Allocate an ITTI X2AP_SGNB_ADDITION_REQ message instead
-	  msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_SGNB_ADDITION_REQ_ACK);
+	  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_SGNB_ADDITION_REQ_ACK);
 
 	  X2AP_ENDC_SGNB_ADDITION_REQ_ACK(msg).gnb_x2_assoc_id = assoc_id;
 
@@ -1997,7 +1997,7 @@ int x2ap_gNB_handle_ENDC_sGNB_reconfiguration_complete (instance_t instance,
   DevAssert(instance_p != NULL);
 
   //Allocate an ITTI X2AP_sGNB_reconfiguration_complete message
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_SGNB_RECONF_COMPLETE);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_SGNB_RECONF_COMPLETE);
 
   /* X2AP_ProtocolIE_ID_id_MeNB_UE_X2AP_ID */
   X2AP_FIND_PROTOCOLIE_BY_ID(X2AP_SgNBReconfigurationComplete_IEs_t, ie, x2SgNBReconfigurationComplete,
@@ -2135,7 +2135,7 @@ int x2ap_gNB_handle_ENDC_sGNB_release_request(instance_t instance,
   }
 
   if (rnti != -1) {
-    msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_SGNB_RELEASE_REQUEST);
+    msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_SGNB_RELEASE_REQUEST);
 
     X2AP_ENDC_SGNB_RELEASE_REQUEST(msg).rnti = rnti;
 
@@ -2228,7 +2228,7 @@ int x2ap_gNB_handle_ENDC_sGNB_release_required(instance_t instance,
 
   gnb_rnti = id_target;
 
-  msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_SGNB_RELEASE_REQUIRED);
+  msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_SGNB_RELEASE_REQUIRED);
   X2AP_ENDC_SGNB_RELEASE_REQUIRED(msg).gnb_rnti = gnb_rnti;
   itti_send_msg_to_task(TASK_RRC_ENB, instance_p->instance, msg);
 
diff --git a/openair2/X2AP/x2ap_eNB_itti_messaging.c b/openair2/X2AP/x2ap_eNB_itti_messaging.c
index 7573d9be898a8bd0643b9e5ffa4be85c9052ae89..26e26ba4115ce2e4ff87101a34554d907d16ece9 100644
--- a/openair2/X2AP/x2ap_eNB_itti_messaging.c
+++ b/openair2/X2AP/x2ap_eNB_itti_messaging.c
@@ -36,7 +36,7 @@ void x2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_X2AP, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_X2AP, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -54,7 +54,7 @@ void x2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_X2AP, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_X2AP, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
diff --git a/openair2/X2AP/x2ap_eNB_management_procedures.c b/openair2/X2AP/x2ap_eNB_management_procedures.c
index 469a76a2618a89029dc6f9516791e2264a460c04..a0cc0d11240291a697e2533c34d324e9a3f4fd16 100644
--- a/openair2/X2AP/x2ap_eNB_management_procedures.c
+++ b/openair2/X2AP/x2ap_eNB_management_procedures.c
@@ -116,7 +116,7 @@ void dump_trees(void)
 x2ap_eNB_instance_t *zz;
 STAILQ_FOREACH(zz, &x2ap_eNB_internal_data.x2ap_eNB_instances_head,
                x2ap_eNB_entries) {
-printf("here comes the tree (instance %d):\n---------------------------------------------\n", zz->instance);
+printf("here comes the tree (instance %ld):\n---------------------------------------------\n", zz->instance);
 dump_tree(zz->x2ap_enb_head.rbh_root);
 printf("---------------------------------------------\n");
 }
diff --git a/openair2/X2AP/x2ap_timers.c b/openair2/X2AP/x2ap_timers.c
index 29e887504f24814fea9c9419e3ace789b923f144..98674de51b022cbd782f39acf5ef2f2b036a7ae1 100644
--- a/openair2/X2AP/x2ap_timers.c
+++ b/openair2/X2AP/x2ap_timers.c
@@ -101,7 +101,7 @@ void x2ap_check_timers(instance_t instance)
                                                      X2AP_CAUSE_T_DC_PREP_TIMEOUT);
 
       /* inform RRC of timeout */
-      msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_DC_PREP_TIMEOUT);
+      msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_DC_PREP_TIMEOUT);
       X2AP_ENDC_DC_PREP_TIMEOUT(msg).rnti  = x2ap_id_get_rnti(m, i);
       itti_send_msg_to_task(TASK_RRC_ENB, instance_p->instance, msg);
 
@@ -125,7 +125,7 @@ void x2ap_check_timers(instance_t instance)
               id_source, id_target, X2AP_CAUSE_T_DC_OVERALL_TIMEOUT);
 
       /* inform RRC of timeout */
-      msg = itti_alloc_new_message(TASK_X2AP, X2AP_ENDC_DC_OVERALL_TIMEOUT);
+      msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_ENDC_DC_OVERALL_TIMEOUT);
       X2AP_ENDC_DC_OVERALL_TIMEOUT(msg).rnti  = x2ap_id_get_rnti(m, i);
       itti_send_msg_to_task(TASK_RRC_GNB, instance_p->instance, msg);
 
@@ -144,7 +144,7 @@ lte_handover_timeout:
     x2ap_eNB_generate_x2_handover_cancel(instance_p, target, i, cause);
 
     /* inform RRC of cancellation */
-    msg = itti_alloc_new_message(TASK_X2AP, X2AP_HANDOVER_CANCEL);
+    msg = itti_alloc_new_message(TASK_X2AP, 0, X2AP_HANDOVER_CANCEL);
     X2AP_HANDOVER_CANCEL(msg).rnti  = x2ap_id_get_rnti(m, i);
     X2AP_HANDOVER_CANCEL(msg).cause = cause;
     itti_send_msg_to_task(TASK_RRC_ENB, instance_p->instance, msg);
diff --git a/openair3/GTPV1-U/gtpv1u_eNB.c b/openair3/GTPV1-U/gtpv1u_eNB.c
index 1e2954ba954746bcd9a9dbd7848cbf73aed63506..4769380d187351786db5a36778efbe90b7a47912 100644
--- a/openair3/GTPV1-U/gtpv1u_eNB.c
+++ b/openair3/GTPV1-U/gtpv1u_eNB.c
@@ -135,7 +135,7 @@ static int gtpv1u_eNB_send_init_udp(const Gtpv1uS1Req *req) {
   // Create and alloc new message
   MessageDef *message_p;
   struct in_addr addr= {0};
-  message_p = itti_alloc_new_message(TASK_GTPV1_U, UDP_INIT);
+  message_p = itti_alloc_new_message(TASK_GTPV1_U, 0, UDP_INIT);
 
   if (message_p == NULL) {
     return -1;
@@ -184,7 +184,7 @@ NwGtpv1uRcT gtpv1u_eNB_send_udp_msg(
   // Create and alloc new message
   MessageDef     *message_p       = NULL;
   udp_data_req_t *udp_data_req_p  = NULL;
-  message_p = itti_alloc_new_message(TASK_GTPV1_U, UDP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_GTPV1_U, 0, UDP_DATA_REQ);
 
   if (message_p) {
 #if defined(LOG_GTPU) && LOG_GTPU > 0
@@ -285,7 +285,7 @@ NwGtpv1uRcT gtpv1u_eNB_process_stack_req(
               //ue_context_p->ue_context.handover_info->state = HO_END_MARKER;
               MessageDef *msg;
               // Configure end marker
-              msg = itti_alloc_new_message(TASK_GTPV1_U, GTPV1U_ENB_END_MARKER_REQ);
+              msg = itti_alloc_new_message(TASK_GTPV1_U, 0, GTPV1U_ENB_END_MARKER_REQ);
               GTPV1U_ENB_END_MARKER_REQ(msg).buffer = itti_malloc(TASK_GTPV1_U, TASK_GTPV1_U, GTPU_HEADER_OVERHEAD_MAX + buffer_len);
               memcpy(&GTPV1U_ENB_END_MARKER_REQ(msg).buffer[GTPU_HEADER_OVERHEAD_MAX], buffer, buffer_len);
               GTPV1U_ENB_END_MARKER_REQ(msg).length = buffer_len;
@@ -358,7 +358,7 @@ NwGtpv1uRcT gtpv1u_eNB_process_stack_req(
               if (ue_context_p->ue_context.handover_info->state == HO_COMPLETE) {
                 MessageDef *msg;
                 // Configure target
-                msg = itti_alloc_new_message(TASK_GTPV1_U, GTPV1U_ENB_DATA_FORWARDING_REQ);
+                msg = itti_alloc_new_message(TASK_GTPV1_U, 0, GTPV1U_ENB_DATA_FORWARDING_REQ);
                 GTPV1U_ENB_DATA_FORWARDING_REQ(msg).buffer = itti_malloc(TASK_GTPV1_U, TASK_GTPV1_U, GTPU_HEADER_OVERHEAD_MAX + buffer_len);
                 memcpy(&GTPV1U_ENB_DATA_FORWARDING_REQ(msg).buffer[GTPU_HEADER_OVERHEAD_MAX], buffer, buffer_len);
                 GTPV1U_ENB_DATA_FORWARDING_REQ(msg).length = buffer_len;
@@ -1122,7 +1122,7 @@ int gtpv1u_delete_s1u_tunnel(
   hashtable_rc_t           hash_rc              = HASH_TABLE_KEY_NOT_EXISTS;
   teid_t                   teid_eNB             = 0;
   int                      erab_index           = 0;
-  message_p = itti_alloc_new_message(TASK_GTPV1_U, GTPV1U_ENB_DELETE_TUNNEL_RESP);
+  message_p = itti_alloc_new_message(TASK_GTPV1_U, 0, GTPV1U_ENB_DELETE_TUNNEL_RESP);
   GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).rnti     = req_pP->rnti;
   GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).status       = 0;
   hash_rc = hashtable_get(RC.gtpv1u_data_g->ue_mapping, req_pP->rnti, (void **)&gtpv1u_ue_data_p);
@@ -1289,7 +1289,7 @@ void *gtpv1u_eNB_process_itti_msg(void *notUsed) {
   itti_receive_msg(TASK_GTPV1_U, &received_message_p);
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_GTPV1U_ENB_TASK, VCD_FUNCTION_IN);
   DevAssert(received_message_p != NULL);
-  instance = ITTI_MSG_INSTANCE(received_message_p);
+  instance = ITTI_MSG_DESTINATION_INSTANCE(received_message_p);
   //msg_name_p = ITTI_MSG_NAME(received_message_p);
 
   switch (ITTI_MSG_ID(received_message_p)) {
diff --git a/openair3/M3AP/m3ap_MCE.c b/openair3/M3AP/m3ap_MCE.c
index dec9b9689791bf5334082266bdefae0dddb4d079..9362c8fcb61ac2189b5337a07d22b099551cdd79 100644
--- a/openair3/M3AP/m3ap_MCE.c
+++ b/openair3/M3AP/m3ap_MCE.c
@@ -136,7 +136,7 @@ void m3ap_MCE_handle_sctp_association_resp(instance_t instance, sctp_new_associa
   //dump_trees_m3();
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    M3AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    M3AP_WARN("Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -229,7 +229,7 @@ int m3ap_MCE_init_sctp (m3ap_MCE_instance_t *instance_p,
   sctp_init_t                            *sctp_init  = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(local_ip_addr != NULL);
-  message = itti_alloc_new_message (TASK_M3AP_MCE, SCTP_INIT_MSG_MULTI_REQ);
+  message = itti_alloc_new_message (TASK_M3AP_MCE, 0, SCTP_INIT_MSG_MULTI_REQ);
   sctp_init = &message->ittiMsg.sctp_init_multi;
   sctp_init->port = mce_port_for_M3C;
   sctp_init->ppid = M3AP_SCTP_PPID;
@@ -263,7 +263,7 @@ static void m3ap_MCE_register_MCE(m3ap_MCE_instance_t *instance_p,
   m3ap_MCE_data_t                  *m3ap_mce_data             = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(target_MCE_ip_address != NULL);
-  message = itti_alloc_new_message(TASK_M3AP_MCE, SCTP_NEW_ASSOCIATION_REQ_MULTI);
+  message = itti_alloc_new_message(TASK_M3AP_MCE, 0, SCTP_NEW_ASSOCIATION_REQ_MULTI);
   sctp_new_association_req = &message->ittiMsg.sctp_new_association_req_multi;
   sctp_new_association_req->port = mce_port_for_M3C;
   sctp_new_association_req->ppid = M3AP_SCTP_PPID;
@@ -313,7 +313,7 @@ void m3ap_MCE_handle_register_MCE(instance_t instance,
     DevCheck(new_instance->tac == m3ap_register_MCE->tac, new_instance->tac, m3ap_register_MCE->tac, 0);
     DevCheck(new_instance->mcc == m3ap_register_MCE->mcc, new_instance->mcc, m3ap_register_MCE->mcc, 0);
     DevCheck(new_instance->mnc == m3ap_register_MCE->mnc, new_instance->mnc, m3ap_register_MCE->mnc, 0);
-    M3AP_WARN("MCE[%d] already registered\n", instance);
+    M3AP_WARN("MCE[%ld] already registered\n", instance);
   } else {
     new_instance = calloc(1, sizeof(m3ap_MCE_instance_t));
     DevAssert(new_instance != NULL);
@@ -357,7 +357,7 @@ void m3ap_MCE_handle_register_MCE(instance_t instance,
     new_instance->mce_port_for_M3C  = m3ap_register_MCE->mme_port_for_M3C;
     /* Add the new instance to the list of MCE (meaningfull in virtual mode) */
     m3ap_MCE_insert_new_instance(new_instance);
-    M3AP_INFO("Registered new MCE[%d] and %s MCE id %u\n",
+    M3AP_INFO("Registered new MCE[%ld] and %s MCE id %u\n",
               instance,
               m3ap_register_MCE->cell_type == CELL_MACRO_ENB ? "macro" : "home",
               m3ap_register_MCE->MCE_id);
@@ -370,7 +370,7 @@ void m3ap_MCE_handle_register_MCE(instance_t instance,
       return;
     }
 
-    M3AP_INFO("MCE[%d] MCE id %u acting as a listner (server)\n",
+    M3AP_INFO("MCE[%ld] MCE id %u acting as a listner (server)\n",
               instance, m3ap_register_MCE->MCE_id);
   }
 }
@@ -397,7 +397,7 @@ void m3ap_MCE_handle_sctp_init_msg_multi_cnf(
   /* Trying to connect to the provided list of MCE ip address */
 
   for (index = 0; index < instance->nb_m3; index++) {
-    M3AP_INFO("MCE[%d] MCE id %u acting as an initiator (client)\n",
+    M3AP_INFO("MCE[%ld] MCE id %u acting as an initiator (client)\n",
               instance_id, instance->MCE_id);
     m3ap_MCE_register_MCE(instance,
                           &instance->target_mme_m3_ip_address[index],
@@ -537,7 +537,7 @@ void *m3ap_MCE_task(void *arg) {
     switch (ITTI_MSG_ID(received_msg)) {
       case MESSAGE_TEST:
 //	LOG_W(M3AP,"MCE Received Test Message ... TODO\n");
-//	//MessageDef * message_p = itti_alloc_new_message(TASK_M3AP, MESSAGE_TEST);
+//	//MessageDef * message_p = itti_alloc_new_message(TASK_M3AP, 0, MESSAGE_TEST);
 //	//itti_send_msg_to_task(TASK_M2AP_ENB, 1/*ctxt_pP->module_id*/, message_p);
 // 
 //        asn_dec_rval_t dec_ret;
@@ -577,78 +577,78 @@ void *m3ap_MCE_task(void *arg) {
         break;
 
       case M3AP_SUBFRAME_PROCESS:
-        m3ap_check_timers(ITTI_MESSAGE_GET_INSTANCE(received_msg));
+        m3ap_check_timers(ITTI_MSG_DESTINATION_INSTANCE(received_msg));
         break;
 
       case M3AP_REGISTER_MCE_REQ:
 	        LOG_I(M3AP,"MCE Received M3AP_REGISTER_MCE_REQ Message\n");
 
-        m3ap_MCE_handle_register_MCE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MCE_handle_register_MCE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M3AP_REGISTER_MCE_REQ(received_msg));
         break;
 
       case M3AP_MBMS_SESSION_START_RESP:
 	        LOG_I(M3AP,"MCE M3AP_MBMS_SESSION_START_RESP Message\n");
-	MCE_send_MBMS_SESSION_START_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	MCE_send_MBMS_SESSION_START_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M3AP_MBMS_SESSION_START_RESP(received_msg));
 
 	break;
 		
       case M3AP_MBMS_SESSION_STOP_RESP:
 	        LOG_I(M3AP,"MCE M3AP_MBMS_SESSION_STOP_RESP Message\n");
-	MCE_send_MBMS_SESSION_STOP_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	MCE_send_MBMS_SESSION_STOP_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &M3AP_MBMS_SESSION_START_RESP(received_msg));
 
 	break;
 
       case M3AP_MBMS_SESSION_UPDATE_RESP:
 	        LOG_I(M3AP,"MCE M3AP_MBMS_SESSION_UPDATE_RESP Message\n");
-	//MCE_send_MBMS_SESSION_UPDATE_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	//MCE_send_MBMS_SESSION_UPDATE_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      //&M3AP_MBMS_SESSION_START_RESP(received_msg));
 
 	break;
 
 	
 //      case M3AP_HANDOVER_REQ:
-//        m3ap_eNB_handle_handover_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_eNB_handle_handover_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                     &M3AP_HANDOVER_REQ(received_msg));
 //        break;
 //
 //      case M3AP_HANDOVER_REQ_ACK:
-//        m3ap_eNB_handle_handover_req_ack(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_eNB_handle_handover_req_ack(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                         &M3AP_HANDOVER_REQ_ACK(received_msg));
 //        break;
 //
 //      case M3AP_UE_CONTEXT_RELEASE:
-//        m3ap_eNB_ue_context_release(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_eNB_ue_context_release(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                                &M3AP_UE_CONTEXT_RELEASE(received_msg));
 //        break;
 //
       case SCTP_INIT_MSG_MULTI_CNF:
 	        LOG_D(M3AP,"MCE Received SCTP_INIT_MSG_MULTI_CNF Message\n");
 
-        m3ap_MCE_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MCE_handle_sctp_init_msg_multi_cnf(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                 &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
         break;
 
       case SCTP_NEW_ASSOCIATION_RESP:
 	        LOG_D(M3AP,"MCE Received SCTP_NEW_ASSOCIATION_RESP Message\n");
 
-        m3ap_MCE_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MCE_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_NEW_ASSOCIATION_IND:
 	        LOG_D(M3AP,"MCE Received SCTP_NEW_ASSOCIATION Message\n");
 
-        m3ap_MCE_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MCE_handle_sctp_association_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                              &received_msg->ittiMsg.sctp_new_association_ind);
         break;
 
       case SCTP_DATA_IND:
 	        LOG_D(M3AP,"MCE Received SCTP_DATA_IND Message\n");
 
-        m3ap_MCE_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MCE_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                       &received_msg->ittiMsg.sctp_data_ind);
         break;
 
diff --git a/openair3/M3AP/m3ap_MCE_handler.c b/openair3/M3AP/m3ap_MCE_handler.c
index e733af28db32eea0fc9b42c0d49a5ea702a73500..21d10d1b040cbd1b171dfa668bff65e8f8f9ddb8 100644
--- a/openair3/M3AP/m3ap_MCE_handler.c
+++ b/openair3/M3AP/m3ap_MCE_handler.c
@@ -108,7 +108,7 @@ int m3ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stre
   }
   
   /* Calling the right handler */
-  LOG_I(M3AP, "Calling handler with instance %d\n",instance);
+  LOG_I(M3AP, "Calling handler with instance %ld\n",instance);
   ret = (*m3ap_MCE_messages_callback[pdu.choice.initiatingMessage.procedureCode][pdu.present - 1])
         (instance, assoc_id, stream, &pdu);
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_M3AP_M3AP_PDU, &pdu);
diff --git a/openair3/M3AP/m3ap_MCE_interface_management.c b/openair3/M3AP/m3ap_MCE_interface_management.c
index 2694846526373cfe9db8c6f81c4cebba74eca94e..fb5457925838c9f03f80d3ce5b90b798efb95de1 100644
--- a/openair3/M3AP/m3ap_MCE_interface_management.c
+++ b/openair3/M3AP/m3ap_MCE_interface_management.c
@@ -74,7 +74,7 @@ int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
 //
 //  container = &pdu->choice.initiatingMessage.value.choice.SessionStartRequest;
 
-    message_p = itti_alloc_new_message(TASK_M3AP_MCE, M3AP_MBMS_SESSION_START_REQ);
+    message_p = itti_alloc_new_message(TASK_M3AP_MCE, 0, M3AP_MBMS_SESSION_START_REQ);
 
 //
 //  /* M3 Setup Request == Non UE-related procedure -> stream 0 */
@@ -248,7 +248,7 @@ int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
 	//MCE_send_MBMS_SESSION_STOP_RESPONSE(instance,assoc_id);
   //}else
 	//MCE_send_MBMS_SESSION_STOP_FAILURE(instance,assoc_id);
-    message_p = itti_alloc_new_message(TASK_M3AP_MCE, M3AP_MBMS_SESSION_STOP_REQ);
+    message_p = itti_alloc_new_message(TASK_M3AP_MCE, 0, M3AP_MBMS_SESSION_STOP_REQ);
 
 //
 //  /* M3 Setup Request == Non UE-related procedure -> stream 0 */
@@ -361,7 +361,7 @@ int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
 	//MCE_send_MBMS_SESSION_STOP_RESPONSE(instance,assoc_id);
   //}else
 	//MCE_send_MBMS_SESSION_STOP_FAILURE(instance,assoc_id);
-    message_p = itti_alloc_new_message(TASK_M3AP_MCE, M3AP_MBMS_SESSION_UPDATE_REQ);
+    message_p = itti_alloc_new_message(TASK_M3AP_MCE, 0, M3AP_MBMS_SESSION_UPDATE_REQ);
 
 //
 //  /* M3 Setup Request == Non UE-related procedure -> stream 0 */
@@ -711,7 +711,7 @@ int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
    //int num_cells_to_activate = 0;
    //M3AP_Cells_to_be_Activated_List_Item_t *cell;
 
-   MessageDef *msg_p = itti_alloc_new_message (TASK_M3AP_MCE, M3AP_SETUP_RESP);
+   MessageDef *msg_p = itti_alloc_new_message (TASK_M3AP_MCE, 0, M3AP_SETUP_RESP);
 
   // LOG_D(M3AP, "M3AP: M3Setup-Resp: protocolIEs.list.count %d\n",
   //       in->protocolIEs.list.count);
diff --git a/openair3/M3AP/m3ap_MCE_management_procedures.c b/openair3/M3AP/m3ap_MCE_management_procedures.c
index 32901ca8692b46d6959f3893ec3645762c50220a..065d4b9616d91d00b70a282a6aee172051d02623 100644
--- a/openair3/M3AP/m3ap_MCE_management_procedures.c
+++ b/openair3/M3AP/m3ap_MCE_management_procedures.c
@@ -116,7 +116,7 @@ void dump_trees_m3(void)
 m3ap_MCE_instance_t *zz;
 STAILQ_FOREACH(zz, &m3ap_MCE_internal_data.m3ap_MCE_instances_head,
                m3ap_MCE_entries) {
-printf("here comes the tree (instance %d):\n---------------------------------------------\n", zz->instance);
+printf("here comes the tree (instance %ld):\n---------------------------------------------\n", zz->instance);
 dump_tree_m3(zz->m3ap_mce_head.rbh_root);
 printf("---------------------------------------------\n");
 }
diff --git a/openair3/M3AP/m3ap_MME.c b/openair3/M3AP/m3ap_MME.c
index fbfe6e1327888a88825cd0cea14a5bb7f5230b50..4d73caff232568afa588f13fbacee92b29743a90 100644
--- a/openair3/M3AP/m3ap_MME.c
+++ b/openair3/M3AP/m3ap_MME.c
@@ -105,7 +105,7 @@ void m3ap_MME_handle_sctp_association_resp(instance_t instance, sctp_new_associa
    DevAssert(sctp_new_association_resp != NULL);
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    LOG_W(M3AP, "Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    LOG_W(M3AP, "Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -233,7 +233,7 @@ int m3ap_MME_init_sctp (m3ap_MME_instance_t *instance_p,
   sctp_init_t                            *sctp_init  = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(local_ip_addr != NULL);
-  message = itti_alloc_new_message (TASK_M3AP_MME, SCTP_INIT_MSG_MULTI_REQ);
+  message = itti_alloc_new_message (TASK_M3AP_MME, 0, SCTP_INIT_MSG_MULTI_REQ);
   sctp_init = &message->ittiMsg.sctp_init_multi;
   sctp_init->port = mme_port_for_M3C;
   sctp_init->ppid = M3AP_SCTP_PPID;
@@ -267,7 +267,7 @@ static void m3ap_MME_register_MME(m3ap_MME_instance_t *instance_p,
  // m3ap_MME_data_t                  *m3ap_mme_data             = NULL;
  // DevAssert(instance_p != NULL);
  // DevAssert(target_MME_ip_address != NULL);
- // message = itti_alloc_new_message(TASK_M3AP_MME, SCTP_NEW_ASSOCIATION_REQ_MULTI);
+ // message = itti_alloc_new_message(TASK_M3AP_MME, 0, SCTP_NEW_ASSOCIATION_REQ_MULTI);
  // sctp_new_association_req = &message->ittiMsg.sctp_new_association_req_multi;
  // sctp_new_association_req->port = mme_port_for_M3C;
  // sctp_new_association_req->ppid = M3AP_SCTP_PPID;
@@ -394,7 +394,7 @@ void m3ap_MME_handle_sctp_init_msg_multi_cnf(
   /* Trying to connect to the provided list of MME ip address */
 
   for (index = 0; index < instance->nb_m3; index++) {
-    M3AP_INFO("MME[%d] MME id %u acting as an initiator (client)\n",
+    M3AP_INFO("MME[%ld] MME id %u acting as an initiator (client)\n",
               instance_id, instance->MME_id);
     m3ap_MME_register_MME(instance,
                           &instance->target_mme_m3_ip_address[index],
@@ -506,7 +506,7 @@ void MME_task_send_sctp_init_req(instance_t enb_id, m3ap_mme_sctp_req_t * m3ap_m
 
   MessageDef  *message_p = NULL;
 
-  message_p = itti_alloc_new_message (TASK_M3AP_MME, SCTP_INIT_MSG);
+  message_p = itti_alloc_new_message (TASK_M3AP_MME, 0, SCTP_INIT_MSG);
 if(m3ap_mme_sctp_req==NULL) {
   LOG_I(M3AP, "M3AP_SCTP_REQ(create socket)\n");
   message_p->ittiMsg.sctp_init.port = M3AP_PORT_NUMBER;
@@ -555,7 +555,7 @@ void *m3ap_MME_task(void *arg) {
     switch (ITTI_MSG_ID(received_msg)) {
       case MESSAGE_TEST:
 	LOG_W(M3AP,"MME Received MESSAGE_TEST Message\n");
-	//MessageDef * message_p = itti_alloc_new_message(TASK_M3AP_MME, MESSAGE_TEST);
+	//MessageDef * message_p = itti_alloc_new_message(TASK_M3AP_MME, 0, MESSAGE_TEST);
         //itti_send_msg_to_task(TASK_M3AP, 1/*ctxt_pP->module_id*/, message_p);
 	break;
       case TERMINATE_MESSAGE:
@@ -564,31 +564,31 @@ void *m3ap_MME_task(void *arg) {
         break;
 
 //      case M3AP_SUBFRAME_PROCESS:
-//        m3ap_check_timers(ITTI_MESSAGE_GET_INSTANCE(received_msg));
+//        m3ap_check_timers(ITTI_MSG_DESTINATION_INSTANCE(received_msg));
 //        break;
 //
 //      case M3AP_REGISTER_MME_REQ:
 //	LOG_W(M3AP,"MME Received M3AP_REGISTER_MME_REQ Message\n");
-//        m3ap_MME_handle_register_MME(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_MME_handle_register_MME(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                     &M3AP_REGISTER_MME_REQ(received_msg));
 //        break;
 //
 
       case M3AP_MME_SCTP_REQ:
-  	MME_task_send_sctp_init_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+  	MME_task_send_sctp_init_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 				    &M3AP_MME_SCTP_REQ(received_msg));
 	break;
 
       case M3AP_SETUP_RESP:
 	LOG_I(M3AP,"MME Received M3AP_SETUP_RESP Message\n");
-	MME_send_M3_SETUP_RESPONSE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+	MME_send_M3_SETUP_RESPONSE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 				    &M3AP_SETUP_RESP(received_msg));
 	break;
 //	break;
 //
 //      case M3AP_SETUP_FAILURE:
 //	LOG_W(M3AP,"MME Received M3AP_SETUP_FAILURE Message\n");
-//	MME_send_M2_SETUP_FAILURE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//	MME_send_M2_SETUP_FAILURE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //				    &M3AP_SETUP_FAILURE(received_msg));
 //	break;
 //
@@ -599,83 +599,83 @@ void *m3ap_MME_task(void *arg) {
 //
        case M3AP_MBMS_SESSION_START_REQ:
 	LOG_I(M3AP,"MME Received M3AP_MBMS_SESSION_START_REQ Message\n");
-        MME_send_MBMS_SESSION_START_REQUEST(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        MME_send_MBMS_SESSION_START_REQUEST(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 						&M3AP_MBMS_SESSION_START_REQ(received_msg));
 	break;
 //
        case M3AP_MBMS_SESSION_STOP_REQ:
 	LOG_I(M3AP,"MME Received M3AP_MBMS_SESSION_STOP_REQ Message\n");
-        MME_send_MBMS_SESSION_STOP_REQUEST(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        MME_send_MBMS_SESSION_STOP_REQUEST(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 						&M3AP_MBMS_SESSION_STOP_REQ(received_msg));
 	break;
 //	
        case M3AP_MBMS_SESSION_UPDATE_REQ:
 	LOG_I(M3AP,"MME Received M3AP_MBMS_SESSION_UPDATE_REQ Message\n");
-       // MME_send_MBMS_SESSION_UPDATE_REQUEST(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+       // MME_send_MBMS_SESSION_UPDATE_REQUEST(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 	//					&M3AP_MBMS_SESSION_UPDATE_REQ(received_msg));
 	break;
 //
 //       case M3AP_RESET:
 //	LOG_W(M3AP,"MME Received M3AP_RESET Message\n");
-//        MME_send_RESET(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        MME_send_RESET(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //						&M3AP_RESET(received_msg));
 //	break;
 //
 //       case M3AP_ENB_CONFIGURATION_UPDATE_ACK:
 //	LOG_W(M3AP,"MME Received M3AP_ENB_CONFIGURATION_UPDATE_ACK Message\n");
-//        MME_send_ENB_CONFIGURATION_UPDATE_ACKNOWLEDGE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        MME_send_ENB_CONFIGURATION_UPDATE_ACKNOWLEDGE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //						&M3AP_ENB_CONFIGURATION_UPDATE_ACK(received_msg));
 //	break;
 //
 //       case M3AP_ENB_CONFIGURATION_UPDATE_FAILURE:
 //	LOG_W(M3AP,"MME Received M3AP_ENB_CONFIGURATION_UPDATE_FAILURE Message\n");
-//        MME_send_ENB_CONFIGURATION_UPDATE_FAILURE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        MME_send_ENB_CONFIGURATION_UPDATE_FAILURE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //						&M3AP_ENB_CONFIGURATION_UPDATE_FAILURE(received_msg))//	break;
 //
 //
 //       case M3AP_MME_CONFIGURATION_UPDATE:
 //	LOG_W(M3AP,"MME Received M3AP_MME_CONFIGURATION_UPDATE Message\n");
-//        MME_send_MME_CONFIGURATION_UPDATE(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        MME_send_MME_CONFIGURATION_UPDATE(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //						&M3AP_MME_CONFIGURATION_UPDATE(received_msg));
 //	break;
 //
 
 //      case M3AP_HANDOVER_REQ:
-//        m3ap_MME_handle_handover_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_MME_handle_handover_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                     &M3AP_HANDOVER_REQ(received_msg));
 //        break;
 //
 //      case M3AP_HANDOVER_REQ_ACK:
-//        m3ap_MME_handle_handover_req_ack(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_MME_handle_handover_req_ack(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                         &M3AP_HANDOVER_REQ_ACK(received_msg));
 //        break;
 //
 //      case M3AP_UE_CONTEXT_RELEASE:
-//        m3ap_MME_ue_context_release(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+//        m3ap_MME_ue_context_release(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
 //                                                &M3AP_UE_CONTEXT_RELEASE(received_msg));
 //        break;
 //
       case SCTP_INIT_MSG_MULTI_CNF:
         LOG_E(M3AP,"MME Received SCTP_INIT_MSG_MULTI_CNF Message ... shoudn't be happening ... it doesn't at leaast with M2AP_MCEC\n");
-        m3ap_MME_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MME_handle_sctp_init_msg_multi_cnf(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
         break;
 
       case SCTP_NEW_ASSOCIATION_RESP:
         LOG_D(M3AP,"MME Received SCTP_NEW_ASSOCIATION_RESP Message\n");
-        m3ap_MME_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MME_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &received_msg->ittiMsg.sctp_new_association_resp);
         break;
 
       case SCTP_NEW_ASSOCIATION_IND:
         LOG_D(M3AP,"MME Received SCTP_NEW_ASSOCIATION Message\n");
-        m3ap_MME_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MME_handle_sctp_association_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                              &received_msg->ittiMsg.sctp_new_association_ind);
         break;
 
       case SCTP_DATA_IND:
         LOG_D(M3AP,"MME Received SCTP_DATA_IND Message\n");
-        m3ap_MME_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        m3ap_MME_handle_sctp_data_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                       &received_msg->ittiMsg.sctp_data_ind);
         break;
 
diff --git a/openair3/M3AP/m3ap_MME_handler.c b/openair3/M3AP/m3ap_MME_handler.c
index 9af8cbe14fc351e39f73162ae13b2c4473c42673..688e3937e110c4df20dc51cb96843fc9a4e1f607 100644
--- a/openair3/M3AP/m3ap_MME_handler.c
+++ b/openair3/M3AP/m3ap_MME_handler.c
@@ -108,7 +108,7 @@ int m3ap_MME_handle_message(instance_t instance, uint32_t assoc_id, int32_t stre
   }
   
   /* Calling the right handler */
-  LOG_I(M3AP, "Calling handler with instance %d\n",instance);
+  LOG_I(M3AP, "Calling handler with instance %ld\n",instance);
   ret = (*m3ap_MME_messages_callback[pdu.choice.initiatingMessage.procedureCode][pdu.present - 1])
         (instance, assoc_id, stream, &pdu);
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_M3AP_M3AP_PDU, &pdu);
diff --git a/openair3/M3AP/m3ap_MME_interface_management.c b/openair3/M3AP/m3ap_MME_interface_management.c
index e5cb03cf263cf0444f9d155ea9b5c1634e881981..ccdfa4fc5e73dffbfed5b8cfc781a2533ad03343 100644
--- a/openair3/M3AP/m3ap_MME_interface_management.c
+++ b/openair3/M3AP/m3ap_MME_interface_management.c
@@ -265,7 +265,7 @@ int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
   int MCE_MBMS_M3AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M3AP_MME,M3AP_MBMS_SESSION_START_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M3AP_MME, 0,M3AP_MBMS_SESSION_START_RESP); //TODO
 
   LOG_D(M3AP, "M3AP: SessionStart-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -403,7 +403,7 @@ int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
   int MCE_MBMS_M3AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M3AP_MME,M3AP_MBMS_SESSION_STOP_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M3AP_MME, 0,M3AP_MBMS_SESSION_STOP_RESP); //TODO
 
   LOG_D(M3AP, "M3AP: MBMSSessionStop-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
@@ -522,7 +522,7 @@ int MME_handle_M3_SETUP_REQUEST(instance_t instance,
 //              assoc_id, stream);
 //  }
 //
-    message_p = itti_alloc_new_message(TASK_M3AP_MME, M3AP_SETUP_REQ); 
+    message_p = itti_alloc_new_message(TASK_M3AP_MME, 0, M3AP_SETUP_REQ); 
     //printf("M3AP_SETUP_REQ(message_p).assoc_id %d\n",M3AP_SETUP_REQ(message_p).assoc_id);
 //  
 //  /* assoc_id */
@@ -1055,7 +1055,7 @@ int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
   int MCE_MBMS_M3AP_ID=-1;
 
 
-  MessageDef *msg_g = itti_alloc_new_message(TASK_M3AP_MME,M3AP_MBMS_SESSION_UPDATE_RESP); //TODO
+  MessageDef *msg_g = itti_alloc_new_message(TASK_M3AP_MME, 0,M3AP_MBMS_SESSION_UPDATE_RESP); //TODO
 
   LOG_D(M3AP, "M3AP: SessionUpdate-Resp: protocolIEs.list.count %d\n",
          in->protocolIEs.list.count);
diff --git a/openair3/M3AP/m3ap_MME_management_procedures.c b/openair3/M3AP/m3ap_MME_management_procedures.c
index 11d29242494534450f23b2ec305ba141d4e19b5f..151aba04e4e1a5552619e2207a82cbba9eb42eb0 100644
--- a/openair3/M3AP/m3ap_MME_management_procedures.c
+++ b/openair3/M3AP/m3ap_MME_management_procedures.c
@@ -116,7 +116,7 @@ void dump_mme_trees_m2(void)
 m3ap_MME_instance_t *zz;
 STAILQ_FOREACH(zz, &m3ap_MME_internal_data.m3ap_MME_instances_head,
                m3ap_MME_entries) {
-printf("here comes the tree (instance %d):\n---------------------------------------------\n", zz->instance);
+printf("here comes the tree (instance %ld):\n---------------------------------------------\n", zz->instance);
 dump_mme_tree_m2(zz->m3ap_mme_head.rbh_root);
 printf("---------------------------------------------\n");
 }
diff --git a/openair3/M3AP/m3ap_itti_messaging.c b/openair3/M3AP/m3ap_itti_messaging.c
index b90674764075e2e5b9e4f3a8b037ae7674320061..42e689343fdc53372456c61fdd82d64d3b7fd917 100644
--- a/openair3/M3AP/m3ap_itti_messaging.c
+++ b/openair3/M3AP/m3ap_itti_messaging.c
@@ -36,7 +36,7 @@ void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_M3AP_MCE, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_M3AP_MCE, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -56,7 +56,7 @@ void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_M3AP_MCE, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_M3AP_MCE, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
@@ -70,7 +70,7 @@ void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_M3AP_MME, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_M3AP_MME, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -88,7 +88,7 @@ void m3ap_MME_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_M3AP_MME, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_M3AP_MME, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
diff --git a/openair3/MME_APP/mme_app.c b/openair3/MME_APP/mme_app.c
index 534aec8b34d7ca9ea94c15df7b28f5c37e3efef1..5a32ddc98cc26ce390d5905dd20c5c698faffd85 100644
--- a/openair3/MME_APP/mme_app.c
+++ b/openair3/MME_APP/mme_app.c
@@ -76,7 +76,7 @@ extern RAN_CONTEXT_t RC;
 //    {
 //      // M3AP registration
 //        /* note:  there is an implicit relationship between the data structure and the message name */
-//        msg_p = itti_alloc_new_message (TASK_MME_APP, M3AP_REGISTER_MCE_REQ);
+//        msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M3AP_REGISTER_MCE_REQ);
 //        //RCconfig_S1(msg_p, mce_id);
 //
 //        //if (mce_id == 0) 
@@ -90,7 +90,7 @@ extern RAN_CONTEXT_t RC;
 //      //if (NODE_IS_DU(node_type)) { // F1AP registration
 //      //  // configure F1AP here for F1C
 //      //  LOG_I(ENB_APP,"ngran_eNB_DU: Allocating ITTI message for F1AP_SETUP_REQ\n");
-//      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, F1AP_SETUP_REQ);
+//      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, F1AP_SETUP_REQ);
 //      //  RCconfig_DU_F1(msg_p, enb_id);
 //
 //      //  LOG_I(ENB_APP,"[eNB %d] eNB_app_register via F1AP for instance %d\n", enb_id, ENB_MODULE_ID_TO_INSTANCE(enb_id));
@@ -99,7 +99,7 @@ extern RAN_CONTEXT_t RC;
 //      //}
 //      //else { // S1AP registration
 //      //  /* note:  there is an implicit relationship between the data structure and the message name */
-//      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, S1AP_REGISTER_ENB_REQ);
+//      //  msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, S1AP_REGISTER_ENB_REQ);
 //      //  RCconfig_S1(msg_p, enb_id);
 //
 //      //  if (enb_id == 0) RCconfig_gtpu();
@@ -126,7 +126,7 @@ extern RAN_CONTEXT_t RC;
 //
 //  for (mce_id = mce_id_start; (mce_id < mce_id_end) ; mce_id++) {
 //    {
-//      msg_p = itti_alloc_new_message (TASK_ENB_APP, X2AP_REGISTER_ENB_REQ);
+//      msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, X2AP_REGISTER_ENB_REQ);
 //      RCconfig_X2(msg_p, mce_id);
 //      itti_send_msg_to_task (TASK_X2AP, ENB_MODULE_ID_TO_INSTANCE(mce_id), msg_p);
 //      register_mce_x2_pending++;
@@ -146,7 +146,7 @@ extern RAN_CONTEXT_t RC;
 //  for (mce_id = mce_id_start; (mce_id < mce_id_end) ; mce_id++) {
 //    {
 //  //	LOG_W(MME_APP,"Register commes inside ...\n");
-//      msg_p = itti_alloc_new_message (TASK_MME_APP, M2AP_REGISTER_MCE_REQ);
+//      msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M2AP_REGISTER_MCE_REQ);
 //      //RCconfig_M2_MCE(msg_p, mce_id);
 //      itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(mce_id), msg_p);
 //  //	LOG_W(MME_APP,"Register sent ...\n");
@@ -163,7 +163,7 @@ static uint32_t MME_app_handle_m3ap_setup_req(instance_t instance){
 	
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MME_APP, M3AP_SETUP_RESP);
+        msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M3AP_SETUP_RESP);
         itti_send_msg_to_task (TASK_M3AP_MME, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	
 	return 0;
@@ -187,7 +187,7 @@ static uint32_t MME_app_handle_m3ap_session_start_resp(instance_t instance){
 //	
 //  	uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MME_APP, M2AP_MBMS_SCHEDULING_INFORMATION);
+//        msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M2AP_MBMS_SCHEDULING_INFORMATION);
 //        itti_send_msg_to_task (TASK_M2AP_MCE, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -197,7 +197,7 @@ static uint32_t MME_app_send_m3ap_session_start_req(instance_t instance){
 	
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MME_APP, M3AP_MBMS_SESSION_START_REQ);
+        msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M3AP_MBMS_SESSION_START_REQ);
         itti_send_msg_to_task (TASK_M3AP_MME, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	
 	return 0;
@@ -206,7 +206,7 @@ static uint32_t MME_app_send_m3ap_session_start_req(instance_t instance){
 //	
 //  	//uint32_t         mce_id=0;
 //  	MessageDef      *msg_p;
-//        msg_p = itti_alloc_new_message (TASK_MME_APP, M3AP_MBMS_SESSION_STOP_REQ);
+//        msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M3AP_MBMS_SESSION_STOP_REQ);
 //        itti_send_msg_to_task (TASK_M3AP_MME, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 //	
 //	return 0;
@@ -215,7 +215,7 @@ static uint32_t MME_app_send_m3ap_session_update_req(instance_t instance){
 	
   	//uint32_t         mce_id=0;
   	MessageDef      *msg_p;
-        msg_p = itti_alloc_new_message (TASK_MME_APP, M3AP_MBMS_SESSION_UPDATE_REQ);
+        msg_p = itti_alloc_new_message (TASK_MME_APP, 0, M3AP_MBMS_SESSION_UPDATE_REQ);
         itti_send_msg_to_task (TASK_M3AP_MME, ENB_MODULE_ID_TO_INSTANCE(instance), msg_p);
 	
 	return 0;
@@ -263,7 +263,7 @@ void *MME_app_task(void *args_p) {
   do {
     // Wait for a message
     itti_receive_msg (TASK_MME_APP, &msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
 
     switch (ITTI_MSG_ID(msg_p)) {
     case TERMINATE_MESSAGE:
@@ -297,7 +297,7 @@ void *MME_app_task(void *args_p) {
        //     if (registered_mce == mce_nb) {
        //       /* If all MCE are registered, start L2L1 task */
        //      // MessageDef *msg_init_p;
-       //      // msg_init_p = itti_alloc_new_message (TASK_ENB_APP, INITIALIZE_MESSAGE);
+       //      // msg_init_p = itti_alloc_new_message (TASK_ENB_APP, 0, INITIALIZE_MESSAGE);
        //      // itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
        //     } else {
        //       LOG_W(MME_APP, " %d MCE not associated with a MME, retrying registration in %d seconds ...\n",
@@ -341,7 +341,7 @@ void *MME_app_task(void *args_p) {
    //       /* If all MCE cells are registered, start L2L1 task */
    //       MessageDef *msg_init_p;
 
-   //       //msg_init_p = itti_alloc_new_message (TASK_MME_APP, INITIALIZE_MESSAGE);
+   //       //msg_init_p = itti_alloc_new_message (TASK_MME_APP, 0, INITIALIZE_MESSAGE);
    //       //itti_send_msg_to_task (TASK_L2L1, INSTANCE_DEFAULT, msg_init_p);
 
    //     } else {
@@ -365,7 +365,7 @@ void *MME_app_task(void *args_p) {
 
     case M3AP_DEREGISTERED_MCE_IND: //M3AP_DEREGISTERED_MCE_IND debería
       if (EPC_MODE_ENABLED) {
-  	LOG_W(MME_APP, "[MCE %d] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
+  	LOG_W(MME_APP, "[MCE %ld] Received %s: associated MME %d\n", instance, ITTI_MSG_NAME (msg_p),
   	      M3AP_DEREGISTERED_MCE_IND(msg_p).nb_mme);
   	/* TODO handle recovering of registration */
       }
diff --git a/openair3/MME_APP/mme_config.c b/openair3/MME_APP/mme_config.c
index 04dba6756755a1e1c2ffa024a53c325a13d6218a..3b4074f5535def13e3e59f224b5d53fadeb779d9 100644
--- a/openair3/MME_APP/mme_config.c
+++ b/openair3/MME_APP/mme_config.c
@@ -94,7 +94,7 @@ int RCconfig_MME(void ) {
 
   if (address) {
     MessageDef *message;
-    AssertFatal((message = itti_alloc_new_message(TASK_MME_APP, M3AP_MME_SCTP_REQ))!=NULL,"");
+    AssertFatal((message = itti_alloc_new_message(TASK_MME_APP, 0, M3AP_MME_SCTP_REQ))!=NULL,"");
     M3AP_MME_SCTP_REQ (message).mme_m3_ip_address.ipv6 = 0;
     M3AP_MME_SCTP_REQ (message).mme_m3_ip_address.ipv4 = 1;
     strcpy( M3AP_MME_SCTP_REQ (message).mme_m3_ip_address.ipv4_address, address);
diff --git a/openair3/NAS/UE/nas_itti_messaging.c b/openair3/NAS/UE/nas_itti_messaging.c
index 885ebbdd81f1907555f802595a40c8138532ad9d..8016e0d791757ad2af5555ebaaf92ed540162d5b 100644
--- a/openair3/NAS/UE/nas_itti_messaging.c
+++ b/openair3/NAS/UE/nas_itti_messaging.c
@@ -102,7 +102,7 @@ extern unsigned char NB_eNB_INST;
 
 int nas_itti_kenb_refresh_req(const Byte_t kenb[32], int user_id) {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_KENB_REFRESH_REQ);
+  message_p = itti_alloc_new_message(TASK_NAS_UE, 0, NAS_KENB_REFRESH_REQ);
   memcpy(NAS_KENB_REFRESH_REQ(message_p).kenb, kenb, sizeof(NAS_KENB_REFRESH_REQ(message_p).kenb));
   MSC_LOG_TX_MESSAGE(
     MSC_NAS_UE,
@@ -130,7 +130,7 @@ int nas_itti_kenb_refresh_req(const Byte_t kenb[32], int user_id) {
 
 int nas_itti_cell_info_req(const plmn_t plmnID, const Byte_t rat, int user_id) {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_CELL_SELECTION_REQ);
+  message_p = itti_alloc_new_message(TASK_NAS_UE, 0, NAS_CELL_SELECTION_REQ);
   NAS_CELL_SELECTION_REQ(message_p).plmnID    = plmnID;
   NAS_CELL_SELECTION_REQ(message_p).rat       = rat;
   MSC_LOG_TX_MESSAGE(
@@ -145,7 +145,7 @@ int nas_itti_cell_info_req(const plmn_t plmnID, const Byte_t rat, int user_id) {
 
 int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data, uint32_t length, int user_id) {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_CONN_ESTABLI_REQ);
+  message_p = itti_alloc_new_message(TASK_NAS_UE, 0, NAS_CONN_ESTABLI_REQ);
   NAS_CONN_ESTABLI_REQ(message_p).cause                       = cause;
   NAS_CONN_ESTABLI_REQ(message_p).type                        = type;
   NAS_CONN_ESTABLI_REQ(message_p).s_tmsi                      = s_tmsi;
@@ -165,7 +165,7 @@ int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t
 
 int nas_itti_ul_data_req(const uint32_t ue_id, void *const data, const uint32_t length, int user_id) {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_UPLINK_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_NAS_UE, 0, NAS_UPLINK_DATA_REQ);
   NAS_UPLINK_DATA_REQ(message_p).UEid          = ue_id;
   NAS_UPLINK_DATA_REQ(message_p).nasMsg.data   = data;
   NAS_UPLINK_DATA_REQ(message_p).nasMsg.length = length;
@@ -174,7 +174,7 @@ int nas_itti_ul_data_req(const uint32_t ue_id, void *const data, const uint32_t
 
 int nas_itti_rab_establish_rsp(const as_stmsi_t s_tmsi, const as_rab_id_t rabID, const nas_error_code_t errCode, int user_id) {
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_RAB_ESTABLI_RSP);
+  message_p = itti_alloc_new_message(TASK_NAS_UE, 0, NAS_RAB_ESTABLI_RSP);
   NAS_RAB_ESTABLI_RSP(message_p).s_tmsi       = s_tmsi;
   NAS_RAB_ESTABLI_RSP(message_p).rabID        = rabID;
   NAS_RAB_ESTABLI_RSP(message_p).errCode      = errCode;
diff --git a/openair3/NAS/UE/nas_ue_task.c b/openair3/NAS/UE/nas_ue_task.c
index d712a7b7f091a8e80534dd93a789cb443ea3bf54..178f21a44a12fd54d47822d5df6d3978a7f554c1 100644
--- a/openair3/NAS/UE/nas_ue_task.c
+++ b/openair3/NAS/UE/nas_ue_task.c
@@ -136,7 +136,7 @@ void *nas_ue_task(void *args_p)
   for (instance = NB_eNB_INST; instance < (NB_eNB_INST + NB_UE_INST); instance++) {
     MessageDef *message_p;
 
-    message_p = itti_alloc_new_message(TASK_NAS_UE, DEACTIVATE_MESSAGE);
+    message_p = itti_alloc_new_message(TASK_NAS_UE, 0, DEACTIVATE_MESSAGE);
     itti_send_msg_to_task(TASK_L2L1, instance, message_p);
   }
 
@@ -145,7 +145,7 @@ void *nas_ue_task(void *args_p)
     itti_receive_msg (TASK_NAS_UE, &msg_p);
 
     if (msg_p != NULL) {
-      instance = ITTI_MSG_INSTANCE (msg_p);
+      instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
       Mod_id = instance - NB_eNB_INST;
       if (instance == INSTANCE_DEFAULT) {
         printf("%s:%d: FATAL: instance is INSTANCE_DEFAULT, should not happen.\n",
diff --git a/openair3/NGAP/ngap_gNB.c b/openair3/NGAP/ngap_gNB.c
index 924f28c87f60b22d17b479143588a3f531902441..2cf867d4d9d83fd577b65c3e30049c56e639dcd2 100644
--- a/openair3/NGAP/ngap_gNB.c
+++ b/openair3/NGAP/ngap_gNB.c
@@ -97,7 +97,7 @@ static void ngap_gNB_register_amf(ngap_gNB_instance_t *instance_p,
   ngap_gNB_amf_data_t        *ngap_amf_data_p             = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(amf_ip_address != NULL);
-  message_p = itti_alloc_new_message(TASK_NGAP, SCTP_NEW_ASSOCIATION_REQ);
+  message_p = itti_alloc_new_message(TASK_NGAP, 0, SCTP_NEW_ASSOCIATION_REQ);
   sctp_new_association_req_p = &message_p->ittiMsg.sctp_new_association_req;
   sctp_new_association_req_p->port = NGAP_PORT_NUMBER;
   sctp_new_association_req_p->ppid = NGAP_SCTP_PPID;
@@ -109,7 +109,7 @@ static void ngap_gNB_register_amf(ngap_gNB_instance_t *instance_p,
   memcpy(&sctp_new_association_req_p->local_address,
          local_ip_addr,
          sizeof(*local_ip_addr));
-  NGAP_INFO("[gNB %d] check the amf registration state\n",instance_p->instance);
+  NGAP_INFO("[gNB %ld] check the amf registration state\n",instance_p->instance);
 
   /* Create new AMF descriptor */
   ngap_amf_data_p = calloc(1, sizeof(*ngap_amf_data_p));
@@ -190,7 +190,7 @@ void ngap_gNB_handle_register_gNB(instance_t instance, ngap_register_gnb_req_t *
 
     /* Add the new instance to the list of gNB (meaningfull in virtual mode) */
     ngap_gNB_insert_new_instance(new_instance);
-    NGAP_INFO("Registered new gNB[%d] and %s gNB id %u\n",
+    NGAP_INFO("Registered new gNB[%ld] and %s gNB id %u\n",
               instance,
               ngap_register_gNB->cell_type == CELL_MACRO_GNB ? "macro" : "home",
               ngap_register_gNB->gNB_id);
@@ -235,7 +235,7 @@ void ngap_gNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
   DevAssert(ngap_amf_data_p != NULL);
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    NGAP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    NGAP_WARN("Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -287,13 +287,13 @@ void *ngap_gNB_process_itti_msg(void *notUsed) {
        * Each gNB has to send an NGAP_REGISTER_GNB message with its
        * own parameters.
        */
-      ngap_gNB_handle_register_gNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_handle_register_gNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                    &NGAP_REGISTER_GNB_REQ(received_msg));
     }
     break;
 
     case SCTP_NEW_ASSOCIATION_RESP: {
-      ngap_gNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                             &received_msg->ittiMsg.sctp_new_association_resp);
     }
     break;
@@ -304,61 +304,61 @@ void *ngap_gNB_process_itti_msg(void *notUsed) {
     break;
 
     case NGAP_NAS_FIRST_REQ: {
-      ngap_gNB_handle_nas_first_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_handle_nas_first_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                     &NGAP_NAS_FIRST_REQ(received_msg));
     }
     break;
 
     case NGAP_UPLINK_NAS: {
-      ngap_gNB_nas_uplink(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_nas_uplink(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                           &NGAP_UPLINK_NAS(received_msg));
     }
     break;
 
     case NGAP_UE_CAPABILITIES_IND: {
-      ngap_gNB_ue_capabilities(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_ue_capabilities(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                &NGAP_UE_CAPABILITIES_IND(received_msg));
     }
     break;
 
     case NGAP_INITIAL_CONTEXT_SETUP_RESP: {
-      ngap_gNB_initial_ctxt_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_initial_ctxt_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                  &NGAP_INITIAL_CONTEXT_SETUP_RESP(received_msg));
     }
     break;
 
     case NGAP_PDUSESSION_SETUP_RESP: {
-      ngap_gNB_pdusession_setup_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_pdusession_setup_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                 &NGAP_PDUSESSION_SETUP_RESP(received_msg));
     }
     break;
 
     case NGAP_PDUSESSION_MODIFY_RESP: {
-      ngap_gNB_pdusession_modify_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_pdusession_modify_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                  &NGAP_PDUSESSION_MODIFY_RESP(received_msg));
     }
     break;
 
     case NGAP_NAS_NON_DELIVERY_IND: {
-      ngap_gNB_nas_non_delivery_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_nas_non_delivery_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                     &NGAP_NAS_NON_DELIVERY_IND(received_msg));
     }
     break;
 
     case NGAP_PATH_SWITCH_REQ: {
-      ngap_gNB_path_switch_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_path_switch_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                &NGAP_PATH_SWITCH_REQ(received_msg));
     }
     break;
 
     case NGAP_PDUSESSION_MODIFICATION_IND: {
-    	ngap_gNB_generate_PDUSESSION_Modification_Indication(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+    	ngap_gNB_generate_PDUSESSION_Modification_Indication(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
     	                               &NGAP_PDUSESSION_MODIFICATION_IND(received_msg));
     }
     break;
 
     case NGAP_UE_CONTEXT_RELEASE_COMPLETE: {
-      ngap_ue_context_release_complete(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_ue_context_release_complete(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                        &NGAP_UE_CONTEXT_RELEASE_COMPLETE(received_msg));
     }
     break;
@@ -366,9 +366,9 @@ void *ngap_gNB_process_itti_msg(void *notUsed) {
     case NGAP_UE_CONTEXT_RELEASE_REQ: {
       ngap_gNB_instance_t               *ngap_gNB_instance_p           = NULL; // test
       struct ngap_gNB_ue_context_s      *ue_context_p                  = NULL; // test
-      ngap_ue_context_release_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_ue_context_release_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                   &NGAP_UE_CONTEXT_RELEASE_REQ(received_msg));
-      ngap_gNB_instance_p = ngap_gNB_get_instance(ITTI_MESSAGE_GET_INSTANCE(received_msg)); // test
+      ngap_gNB_instance_p = ngap_gNB_get_instance(ITTI_MSG_DESTINATION_INSTANCE(received_msg)); // test
       DevAssert(ngap_gNB_instance_p != NULL); // test
 
       if ((ue_context_p = ngap_gNB_get_ue_context(ngap_gNB_instance_p,
@@ -381,7 +381,7 @@ void *ngap_gNB_process_itti_msg(void *notUsed) {
     break;
 
     case NGAP_PDUSESSION_RELEASE_RESPONSE: {
-      ngap_gNB_pdusession_release_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      ngap_gNB_pdusession_release_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                   &NGAP_PDUSESSION_RELEASE_RESPONSE(received_msg));
     }
     break;
diff --git a/openair3/NGAP/ngap_gNB_handlers.c b/openair3/NGAP/ngap_gNB_handlers.c
index b35741151f39d2a6efe3296758c6b1b5af6b6921..eb87bce11a755863fbaa96c3c9ff888f539fe37d 100644
--- a/openair3/NGAP/ngap_gNB_handlers.c
+++ b/openair3/NGAP/ngap_gNB_handlers.c
@@ -191,7 +191,7 @@ void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shut
       /* If there are no more associated AMF, inform gNB app */
       if (amf_desc_p->ngap_gNB_instance->ngap_amf_associated_nb == 0) {
         MessageDef                 *message_p;
-        message_p = itti_alloc_new_message(TASK_NGAP, NGAP_DEREGISTERED_GNB_IND);
+        message_p = itti_alloc_new_message(TASK_NGAP, 0, NGAP_DEREGISTERED_GNB_IND);
         NGAP_DEREGISTERED_GNB_IND(message_p).nb_amf = 0;
         itti_send_msg_to_task(TASK_GNB_APP, amf_desc_p->ngap_gNB_instance->instance, message_p);
       }
@@ -209,7 +209,7 @@ void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shut
     /* If there are no more pending messages, inform gNB app */
     if (amf_desc_p->ngap_gNB_instance->ngap_amf_pending_nb == 0) {
       MessageDef                 *message_p;
-      message_p = itti_alloc_new_message(TASK_NGAP, NGAP_REGISTER_GNB_CNF);
+      message_p = itti_alloc_new_message(TASK_NGAP, 0, NGAP_REGISTER_GNB_CNF);
       NGAP_REGISTER_GNB_CNF(message_p).nb_amf = amf_desc_p->ngap_gNB_instance->ngap_amf_associated_nb;
       itti_send_msg_to_task(TASK_GNB_APP, amf_desc_p->ngap_gNB_instance->instance, message_p);
     }
@@ -891,7 +891,7 @@ int ngap_gNB_handle_initial_context_request(uint32_t   assoc_id,
   ue_desc_p->rx_stream = stream;
   ue_desc_p->amf_ue_ngap_id = amf_ue_ngap_id;
   
-  message_p        = itti_alloc_new_message(TASK_NGAP, NGAP_INITIAL_CONTEXT_SETUP_REQ);
+  message_p        = itti_alloc_new_message(TASK_NGAP, 0, NGAP_INITIAL_CONTEXT_SETUP_REQ);
   NGAP_INITIAL_CONTEXT_SETUP_REQ(message_p).ue_initial_id  = ue_desc_p->ue_initial_id;
   ue_desc_p->ue_initial_id = 0;
   NGAP_INITIAL_CONTEXT_SETUP_REQ(message_p).gNB_ue_ngap_id = ue_desc_p->gNB_ue_ngap_id;
@@ -1203,7 +1203,7 @@ int ngap_gNB_handle_ue_context_release_command(uint32_t   assoc_id,
             NULL,0,
             "0 NGAP_UE_CONTEXT_RELEASE_COMMAND/%d gNB_ue_ngap_id "NGAP_UE_ID_FMT" ",
             gnb_ue_ngap_id);
-          message_p    = itti_alloc_new_message(TASK_NGAP, NGAP_UE_CONTEXT_RELEASE_COMMAND);
+          message_p    = itti_alloc_new_message(TASK_NGAP, 0, NGAP_UE_CONTEXT_RELEASE_COMMAND);
 
           if (ue_desc_p->amf_ue_ngap_id == 0) { // case of Detach Request and switch off from RRC_IDLE mode
             ue_desc_p->amf_ue_ngap_id = amf_ue_ngap_id;
@@ -1302,7 +1302,7 @@ int ngap_gNB_handle_pdusession_setup_request(uint32_t         assoc_id,
               (uint64_t)ue_desc_p->amf_ue_ngap_id, amf_ue_ngap_id);
   }
 
-  message_p        = itti_alloc_new_message(TASK_NGAP, NGAP_PDUSESSION_SETUP_REQ);
+  message_p        = itti_alloc_new_message(TASK_NGAP, 0, NGAP_PDUSESSION_SETUP_REQ);
   NGAP_PDUSESSION_SETUP_REQ(message_p).ue_initial_id   = ue_desc_p->ue_initial_id;
   ue_desc_p->ue_initial_id = 0;
   NGAP_PDUSESSION_SETUP_REQ(message_p).gNB_ue_ngap_id = ue_desc_p->gNB_ue_ngap_id;
@@ -1474,7 +1474,7 @@ int ngap_gNB_handle_paging(uint32_t               assoc_id,
     return -1;
   }
 
-  message_p = itti_alloc_new_message(TASK_NGAP, NGAP_PAGING_IND);
+  message_p = itti_alloc_new_message(TASK_NGAP, 0, NGAP_PAGING_IND);
   /* convert NGAP_PagingIEs_t to ngap_paging_ind_t */
   /* id-UEIdentityIndexValue : convert UE Identity Index value */
   NGAP_FIND_PROTOCOLIE_BY_ID(NGAP_PagingIEs_t, ie, container,
@@ -1608,7 +1608,7 @@ int ngap_gNB_handle_pdusession_modify_request(uint32_t               assoc_id,
   if (ue_desc_p->amf_ue_ngap_id != amf_ue_ngap_id) {
     NGAP_WARN("UE context amf_ue_ngap_id is different form that of the message (%ld != %ld)",
               (uint64_t)ue_desc_p->amf_ue_ngap_id, amf_ue_ngap_id);
-    message_p = itti_alloc_new_message (TASK_RRC_GNB, NGAP_PDUSESSION_MODIFY_RESP);
+    message_p = itti_alloc_new_message (TASK_RRC_GNB, 0, NGAP_PDUSESSION_MODIFY_RESP);
     NGAP_PDUSESSION_MODIFY_RESP (message_p).gNB_ue_ngap_id = gnb_ue_ngap_id;
     NGAP_FIND_PROTOCOLIE_BY_ID(NGAP_PDUSessionResourceModifyRequestIEs_t, ie, container,
                                NGAP_ProtocolIE_ID_id_PDUSessionResourceModifyListModReq, true);
@@ -1634,7 +1634,7 @@ int ngap_gNB_handle_pdusession_modify_request(uint32_t               assoc_id,
     return -1;
   }
 
-  message_p        = itti_alloc_new_message(TASK_NGAP, NGAP_PDUSESSION_MODIFY_REQ);
+  message_p        = itti_alloc_new_message(TASK_NGAP, 0, NGAP_PDUSESSION_MODIFY_REQ);
   NGAP_PDUSESSION_MODIFY_REQ(message_p).ue_initial_id  = ue_desc_p->ue_initial_id;
   NGAP_PDUSESSION_MODIFY_REQ(message_p).amf_ue_ngap_id  = amf_ue_ngap_id;
   NGAP_PDUSESSION_MODIFY_REQ(message_p).gNB_ue_ngap_id  = gnb_ue_ngap_id;
@@ -1814,7 +1814,7 @@ int ngap_gNB_handle_pdusession_release_command(uint32_t               assoc_id,
 
   NGAP_DEBUG("[SCTP %d] Received E-RAB release command for gNB_UE_NGAP_ID %lu amf_ue_ngap_id %lu\n",
              assoc_id, gnb_ue_ngap_id, amf_ue_ngap_id);
-  message_p = itti_alloc_new_message(TASK_NGAP, NGAP_PDUSESSION_RELEASE_COMMAND);
+  message_p = itti_alloc_new_message(TASK_NGAP, 0, NGAP_PDUSESSION_RELEASE_COMMAND);
   NGAP_PDUSESSION_RELEASE_COMMAND(message_p).gNB_ue_ngap_id = gnb_ue_ngap_id;
   NGAP_PDUSESSION_RELEASE_COMMAND(message_p).amf_ue_ngap_id = amf_ue_ngap_id;
   /* id-NAS-PDU */
diff --git a/openair3/NGAP/ngap_gNB_itti_messaging.c b/openair3/NGAP/ngap_gNB_itti_messaging.c
index e423d7254db163b9151b376cef4868602e0521d3..ab10fa46e27804080d30a76c4b651b11a5226f6f 100644
--- a/openair3/NGAP/ngap_gNB_itti_messaging.c
+++ b/openair3/NGAP/ngap_gNB_itti_messaging.c
@@ -37,7 +37,7 @@ void ngap_gNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_NGAP, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_NGAP, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -58,7 +58,7 @@ void ngap_gNB_itti_send_nas_downlink_ind(instance_t instance,
   MessageDef          *message_p;
   ngap_downlink_nas_t *ngap_downlink_nas;
 
-  message_p = itti_alloc_new_message(TASK_NGAP, NGAP_DOWNLINK_NAS);
+  message_p = itti_alloc_new_message(TASK_NGAP, 0, NGAP_DOWNLINK_NAS);
 
   ngap_downlink_nas = &message_p->ittiMsg.ngap_downlink_nas;
 
@@ -76,7 +76,7 @@ void ngap_gNB_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_NGAP, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_NGAP, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
diff --git a/openair3/NGAP/ngap_gNB_nas_procedures.c b/openair3/NGAP/ngap_gNB_nas_procedures.c
index 197cf88a52425c7f19c04c4349291addf579d354..96e5074ae9a9cc00fd2fde4eb6c5bc0f470b054c 100644
--- a/openair3/NGAP/ngap_gNB_nas_procedures.c
+++ b/openair3/NGAP/ngap_gNB_nas_procedures.c
@@ -85,7 +85,7 @@ int ngap_gNB_handle_nas_first_req(
                      ngap_nas_first_req_p->ue_identity.guami);
 
     if (amf_desc_p) {
-        NGAP_INFO("[gNB %d] Chose AMF '%s' (assoc_id %d) through GUAMI MCC %d MNC %d AMFRI %d AMFSI %d AMFPT %d\n",
+        NGAP_INFO("[gNB %ld] Chose AMF '%s' (assoc_id %d) through GUAMI MCC %d MNC %d AMFRI %d AMFSI %d AMFPT %d\n",
                   instance,
                   amf_desc_p->amf_name,
                   amf_desc_p->assoc_id,
@@ -108,7 +108,7 @@ int ngap_gNB_handle_nas_first_req(
                          ngap_nas_first_req_p->ue_identity.s_tmsi.amf_set_id);
 
         if (amf_desc_p) {
-            NGAP_INFO("[gNB %d] Chose AMF '%s' (assoc_id %d) through S-TMSI AMFSI %d and selected PLMN Identity index %d MCC %d MNC %d\n",
+            NGAP_INFO("[gNB %ld] Chose AMF '%s' (assoc_id %d) through S-TMSI AMFSI %d and selected PLMN Identity index %d MCC %d MNC %d\n",
                       instance,
                       amf_desc_p->amf_name,
                       amf_desc_p->assoc_id,
@@ -130,7 +130,7 @@ int ngap_gNB_handle_nas_first_req(
                      ngap_nas_first_req_p->selected_plmn_identity);
 
     if (amf_desc_p) {
-        NGAP_INFO("[gNB %d] Chose AMF '%s' (assoc_id %d) through selected PLMN Identity index %d MCC %d MNC %d\n",
+        NGAP_INFO("[gNB %ld] Chose AMF '%s' (assoc_id %d) through selected PLMN Identity index %d MCC %d MNC %d\n",
                   instance,
                   amf_desc_p->amf_name,
                   amf_desc_p->assoc_id,
@@ -151,7 +151,7 @@ int ngap_gNB_handle_nas_first_req(
                      ngap_nas_first_req_p->establishment_cause);
 
     if (amf_desc_p) {
-        NGAP_INFO("[gNB %d] Chose AMF '%s' (assoc_id %d) through highest relative capacity\n",
+        NGAP_INFO("[gNB %ld] Chose AMF '%s' (assoc_id %d) through highest relative capacity\n",
                   instance,
                   amf_desc_p->amf_name,
                   amf_desc_p->assoc_id);
diff --git a/openair3/S1AP/s1ap_eNB.c b/openair3/S1AP/s1ap_eNB.c
index 2a153acaa21aecb7039a109697e860bf8093dce7..5bdb140ff59fea445d8684b82a2d494752800a1b 100644
--- a/openair3/S1AP/s1ap_eNB.c
+++ b/openair3/S1AP/s1ap_eNB.c
@@ -101,7 +101,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
   struct s1ap_eNB_mme_data_s *mme                         = NULL;
   DevAssert(instance_p != NULL);
   DevAssert(mme_ip_address != NULL);
-  message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, SCTP_NEW_ASSOCIATION_REQ);
   sctp_new_association_req_p = &message_p->ittiMsg.sctp_new_association_req;
   sctp_new_association_req_p->port = mme_port;
   sctp_new_association_req_p->ppid = S1AP_SCTP_PPID;
@@ -113,7 +113,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
   memcpy(&sctp_new_association_req_p->local_address,
          local_ip_addr,
          sizeof(*local_ip_addr));
-  S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance);
+  S1AP_INFO("[eNB %ld] check the mme registration state\n",instance_p->instance);
   mme = NULL;
 
   if ( mme == NULL ) {
@@ -142,7 +142,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
   } else if (mme->state == S1AP_ENB_STATE_WAITING) {
     instance_p->s1ap_mme_pending_nb ++;
     sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
-    S1AP_INFO("[eNB %d] MME already registered, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
+    S1AP_INFO("[eNB %ld] MME already registered, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
               instance_p->instance,
               mme->state, mme->cnx_id,
               instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
@@ -153,7 +153,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
     s1ap_mme_data_p->s1ap_eNB_instance = instance_p;
     */
   } else {
-    S1AP_WARN("[eNB %d] MME already registered but not in the waiting state, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
+    S1AP_WARN("[eNB %ld] MME already registered but not in the waiting state, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
               instance_p->instance,
               mme->state, mme->cnx_id,
               instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
@@ -210,7 +210,7 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
     new_instance->default_drx      = s1ap_register_eNB->default_drx;
     /* Add the new instance to the list of eNB (meaningfull in virtual mode) */
     s1ap_eNB_insert_new_instance(new_instance);
-    S1AP_INFO("Registered new eNB[%d] and %s eNB id %u\n",
+    S1AP_INFO("Registered new eNB[%ld] and %s eNB id %u\n",
               instance,
               s1ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
               s1ap_register_eNB->eNB_id);
@@ -257,7 +257,7 @@ void s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
   DevAssert(s1ap_mme_data_p != NULL);
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
-    S1AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
+    S1AP_WARN("Received unsuccessful result for SCTP association (%u), instance %ld, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
@@ -312,13 +312,13 @@ void *s1ap_eNB_process_itti_msg(void *notUsed) {
        * Each eNB has to send an S1AP_REGISTER_ENB message with its
        * own parameters.
        */
-      s1ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                    &S1AP_REGISTER_ENB_REQ(received_msg));
     }
     break;
 
     case SCTP_NEW_ASSOCIATION_RESP: {
-      s1ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                             &received_msg->ittiMsg.sctp_new_association_resp);
     }
     break;
@@ -329,61 +329,61 @@ void *s1ap_eNB_process_itti_msg(void *notUsed) {
     break;
 
     case S1AP_NAS_FIRST_REQ: {
-      s1ap_eNB_handle_nas_first_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_handle_nas_first_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                     &S1AP_NAS_FIRST_REQ(received_msg));
     }
     break;
 
     case S1AP_UPLINK_NAS: {
-      s1ap_eNB_nas_uplink(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_nas_uplink(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                           &S1AP_UPLINK_NAS(received_msg));
     }
     break;
 
     case S1AP_UE_CAPABILITIES_IND: {
-      s1ap_eNB_ue_capabilities(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_ue_capabilities(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                &S1AP_UE_CAPABILITIES_IND(received_msg));
     }
     break;
 
     case S1AP_INITIAL_CONTEXT_SETUP_RESP: {
-      s1ap_eNB_initial_ctxt_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_initial_ctxt_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                  &S1AP_INITIAL_CONTEXT_SETUP_RESP(received_msg));
     }
     break;
 
     case S1AP_E_RAB_SETUP_RESP: {
-      s1ap_eNB_e_rab_setup_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_e_rab_setup_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                 &S1AP_E_RAB_SETUP_RESP(received_msg));
     }
     break;
 
     case S1AP_E_RAB_MODIFY_RESP: {
-      s1ap_eNB_e_rab_modify_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_e_rab_modify_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                  &S1AP_E_RAB_MODIFY_RESP(received_msg));
     }
     break;
 
     case S1AP_NAS_NON_DELIVERY_IND: {
-      s1ap_eNB_nas_non_delivery_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_nas_non_delivery_ind(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                     &S1AP_NAS_NON_DELIVERY_IND(received_msg));
     }
     break;
 
     case S1AP_PATH_SWITCH_REQ: {
-      s1ap_eNB_path_switch_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_path_switch_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                &S1AP_PATH_SWITCH_REQ(received_msg));
     }
     break;
 
     case S1AP_E_RAB_MODIFICATION_IND: {
-    	s1ap_eNB_generate_E_RAB_Modification_Indication(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+    	s1ap_eNB_generate_E_RAB_Modification_Indication(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
     	                               &S1AP_E_RAB_MODIFICATION_IND(received_msg));
     }
     break;
 
     case S1AP_UE_CONTEXT_RELEASE_COMPLETE: {
-      s1ap_ue_context_release_complete(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_ue_context_release_complete(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                        &S1AP_UE_CONTEXT_RELEASE_COMPLETE(received_msg));
     }
     break;
@@ -391,9 +391,9 @@ void *s1ap_eNB_process_itti_msg(void *notUsed) {
     case S1AP_UE_CONTEXT_RELEASE_REQ: {
       s1ap_eNB_instance_t               *s1ap_eNB_instance_p           = NULL; // test
       struct s1ap_eNB_ue_context_s      *ue_context_p                  = NULL; // test
-      s1ap_ue_context_release_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_ue_context_release_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                   &S1AP_UE_CONTEXT_RELEASE_REQ(received_msg));
-      s1ap_eNB_instance_p = s1ap_eNB_get_instance(ITTI_MESSAGE_GET_INSTANCE(received_msg)); // test
+      s1ap_eNB_instance_p = s1ap_eNB_get_instance(ITTI_MSG_DESTINATION_INSTANCE(received_msg)); // test
       DevAssert(s1ap_eNB_instance_p != NULL); // test
 
       if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
@@ -406,7 +406,7 @@ void *s1ap_eNB_process_itti_msg(void *notUsed) {
     break;
 
     case S1AP_E_RAB_RELEASE_RESPONSE: {
-      s1ap_eNB_e_rab_release_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      s1ap_eNB_e_rab_release_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                   &S1AP_E_RAB_RELEASE_RESPONSE(received_msg));
     }
     break;
diff --git a/openair3/S1AP/s1ap_eNB_handlers.c b/openair3/S1AP/s1ap_eNB_handlers.c
index 79501a1a0969c38fd6aa69dcd232b11d584e84a9..7c233d9e14d83e4a1a7c592a49643c40be391d1f 100644
--- a/openair3/S1AP/s1ap_eNB_handlers.c
+++ b/openair3/S1AP/s1ap_eNB_handlers.c
@@ -188,7 +188,7 @@ void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shut
       /* If there are no more associated MME, inform eNB app */
       if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb == 0) {
         MessageDef                 *message_p;
-        message_p = itti_alloc_new_message(TASK_S1AP, S1AP_DEREGISTERED_ENB_IND);
+        message_p = itti_alloc_new_message(TASK_S1AP, 0, S1AP_DEREGISTERED_ENB_IND);
         S1AP_DEREGISTERED_ENB_IND(message_p).nb_mme = 0;
         itti_send_msg_to_task(TASK_ENB_APP, mme_desc_p->s1ap_eNB_instance->instance, message_p);
       }
@@ -206,7 +206,7 @@ void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shut
     /* If there are no more pending messages, inform eNB app */
     if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb == 0) {
       MessageDef                 *message_p;
-      message_p = itti_alloc_new_message(TASK_S1AP, S1AP_REGISTER_ENB_CNF);
+      message_p = itti_alloc_new_message(TASK_S1AP, 0, S1AP_REGISTER_ENB_CNF);
       S1AP_REGISTER_ENB_CNF(message_p).nb_mme = mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb;
       itti_send_msg_to_task(TASK_ENB_APP, mme_desc_p->s1ap_eNB_instance->instance, message_p);
     }
@@ -791,7 +791,7 @@ int s1ap_eNB_handle_initial_context_request(uint32_t   assoc_id,
 
   ue_desc_p->rx_stream = stream;
   ue_desc_p->mme_ue_s1ap_id = mme_ue_s1ap_id;
-  message_p        = itti_alloc_new_message(TASK_S1AP, S1AP_INITIAL_CONTEXT_SETUP_REQ);
+  message_p        = itti_alloc_new_message(TASK_S1AP, 0, S1AP_INITIAL_CONTEXT_SETUP_REQ);
   S1AP_INITIAL_CONTEXT_SETUP_REQ(message_p).ue_initial_id  = ue_desc_p->ue_initial_id;
   ue_desc_p->ue_initial_id = 0;
   S1AP_INITIAL_CONTEXT_SETUP_REQ(message_p).eNB_ue_s1ap_id = ue_desc_p->eNB_ue_s1ap_id;
@@ -935,7 +935,7 @@ int s1ap_eNB_handle_ue_context_release_command(uint32_t   assoc_id,
             NULL,0,
             "0 S1AP_UE_CONTEXT_RELEASE_COMMAND/%d eNB_ue_s1ap_id "S1AP_UE_ID_FMT" ",
             enb_ue_s1ap_id);
-          message_p    = itti_alloc_new_message(TASK_S1AP, S1AP_UE_CONTEXT_RELEASE_COMMAND);
+          message_p    = itti_alloc_new_message(TASK_S1AP, 0, S1AP_UE_CONTEXT_RELEASE_COMMAND);
 
           if (ue_desc_p->mme_ue_s1ap_id == 0) { // case of Detach Request and switch off from RRC_IDLE mode
             ue_desc_p->mme_ue_s1ap_id = mme_ue_s1ap_id;
@@ -1032,7 +1032,7 @@ int s1ap_eNB_handle_e_rab_setup_request(uint32_t         assoc_id,
               ue_desc_p->mme_ue_s1ap_id, mme_ue_s1ap_id);
   }
 
-  message_p        = itti_alloc_new_message(TASK_S1AP, S1AP_E_RAB_SETUP_REQ);
+  message_p        = itti_alloc_new_message(TASK_S1AP, 0, S1AP_E_RAB_SETUP_REQ);
   S1AP_E_RAB_SETUP_REQ(message_p).ue_initial_id  = ue_desc_p->ue_initial_id;
   S1AP_E_RAB_SETUP_REQ(message_p).mme_ue_s1ap_id  = mme_ue_s1ap_id;
   S1AP_E_RAB_SETUP_REQ(message_p).eNB_ue_s1ap_id  = enb_ue_s1ap_id;
@@ -1126,7 +1126,7 @@ int s1ap_eNB_handle_paging(uint32_t               assoc_id,
     return -1;
   }
 
-  message_p = itti_alloc_new_message(TASK_S1AP, S1AP_PAGING_IND);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, S1AP_PAGING_IND);
   /* convert S1AP_PagingIEs_t to s1ap_paging_ind_t */
   /* id-UEIdentityIndexValue : convert UE Identity Index value */
   S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_PagingIEs_t, ie, container,
@@ -1322,7 +1322,7 @@ int s1ap_eNB_handle_e_rab_modify_request(uint32_t               assoc_id,
   if (ue_desc_p->mme_ue_s1ap_id != mme_ue_s1ap_id) {
     S1AP_WARN("UE context mme_ue_s1ap_id is different form that of the message (%d != %ld)",
               ue_desc_p->mme_ue_s1ap_id, mme_ue_s1ap_id);
-    message_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_E_RAB_MODIFY_RESP);
+    message_p = itti_alloc_new_message (TASK_RRC_ENB, 0, S1AP_E_RAB_MODIFY_RESP);
     S1AP_E_RAB_MODIFY_RESP (message_p).eNB_ue_s1ap_id = enb_ue_s1ap_id;
     S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_E_RABModifyRequestIEs_t, ie, container,
                                S1AP_ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq, true);
@@ -1348,7 +1348,7 @@ int s1ap_eNB_handle_e_rab_modify_request(uint32_t               assoc_id,
     return -1;
   }
 
-  message_p        = itti_alloc_new_message(TASK_S1AP, S1AP_E_RAB_MODIFY_REQ);
+  message_p        = itti_alloc_new_message(TASK_S1AP, 0, S1AP_E_RAB_MODIFY_REQ);
   S1AP_E_RAB_MODIFY_REQ(message_p).ue_initial_id  = ue_desc_p->ue_initial_id;
   S1AP_E_RAB_MODIFY_REQ(message_p).mme_ue_s1ap_id  = mme_ue_s1ap_id;
   S1AP_E_RAB_MODIFY_REQ(message_p).eNB_ue_s1ap_id  = enb_ue_s1ap_id;
@@ -1459,7 +1459,7 @@ int s1ap_eNB_handle_e_rab_release_command(uint32_t               assoc_id,
 
   S1AP_DEBUG("[SCTP %d] Received E-RAB release command for eNB_UE_S1AP_ID %ld mme_ue_s1ap_id %ld\n",
              assoc_id, enb_ue_s1ap_id, mme_ue_s1ap_id);
-  message_p = itti_alloc_new_message(TASK_S1AP, S1AP_E_RAB_RELEASE_COMMAND);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, S1AP_E_RAB_RELEASE_COMMAND);
   S1AP_E_RAB_RELEASE_COMMAND(message_p).eNB_ue_s1ap_id = enb_ue_s1ap_id;
   S1AP_E_RAB_RELEASE_COMMAND(message_p).mme_ue_s1ap_id = mme_ue_s1ap_id;
   /* id-NAS-PDU */
@@ -1529,7 +1529,7 @@ int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t               assoc_id,
   }
 
   // send a message to RRC
-  message_p        = itti_alloc_new_message(TASK_S1AP, S1AP_PATH_SWITCH_REQ_ACK);
+  message_p        = itti_alloc_new_message(TASK_S1AP, 0, S1AP_PATH_SWITCH_REQ_ACK);
   /* mandatory */
   S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_PathSwitchRequestAcknowledgeIEs_t, ie, pathSwitchRequestAcknowledge,
                              S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID, true);
diff --git a/openair3/S1AP/s1ap_eNB_itti_messaging.c b/openair3/S1AP/s1ap_eNB_itti_messaging.c
index f10c5bc62378d737ce9e3f167f862736f11347fa..8a6539a118b60f060a7b5fefad7b94bd621c9418 100644
--- a/openair3/S1AP/s1ap_eNB_itti_messaging.c
+++ b/openair3/S1AP/s1ap_eNB_itti_messaging.c
@@ -29,7 +29,7 @@ void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
   MessageDef      *message_p;
   sctp_data_req_t *sctp_data_req;
 
-  message_p = itti_alloc_new_message(TASK_S1AP, SCTP_DATA_REQ);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, SCTP_DATA_REQ);
 
   sctp_data_req = &message_p->ittiMsg.sctp_data_req;
 
@@ -50,7 +50,7 @@ void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
   MessageDef          *message_p;
   s1ap_downlink_nas_t *s1ap_downlink_nas;
 
-  message_p = itti_alloc_new_message(TASK_S1AP, S1AP_DOWNLINK_NAS);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, S1AP_DOWNLINK_NAS);
 
   s1ap_downlink_nas = &message_p->ittiMsg.s1ap_downlink_nas;
 
@@ -68,7 +68,7 @@ void s1ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t asso
   MessageDef               *message_p = NULL;
   sctp_close_association_t *sctp_close_association_p = NULL;
 
-  message_p = itti_alloc_new_message(TASK_S1AP, SCTP_CLOSE_ASSOCIATION);
+  message_p = itti_alloc_new_message(TASK_S1AP, 0, SCTP_CLOSE_ASSOCIATION);
   sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
   sctp_close_association_p->assoc_id      = assoc_id;
 
diff --git a/openair3/S1AP/s1ap_eNB_nas_procedures.c b/openair3/S1AP/s1ap_eNB_nas_procedures.c
index d931e76bb6bbb98ba2f2b0a211b6e1f5ca308298..919989897afc52cf85b9b042835aaae5ec7c1a78 100644
--- a/openair3/S1AP/s1ap_eNB_nas_procedures.c
+++ b/openair3/S1AP/s1ap_eNB_nas_procedures.c
@@ -80,7 +80,7 @@ int s1ap_eNB_handle_nas_first_req(
                          s1ap_nas_first_req_p->ue_identity.gummei);
 
         if (mme_desc_p) {
-            S1AP_INFO("[eNB %d] Chose MME '%s' (assoc_id %d) through GUMMEI MCC %d MNC %d MMEGI %d MMEC %d\n",
+            S1AP_INFO("[eNB %ld] Chose MME '%s' (assoc_id %d) through GUMMEI MCC %d MNC %d MMEGI %d MMEC %d\n",
                       instance,
                       mme_desc_p->mme_name,
                       mme_desc_p->assoc_id,
@@ -101,7 +101,7 @@ int s1ap_eNB_handle_nas_first_req(
                              s1ap_nas_first_req_p->ue_identity.s_tmsi.mme_code);
 
             if (mme_desc_p) {
-                S1AP_INFO("[eNB %d] Chose MME '%s' (assoc_id %d) through S-TMSI MMEC %d and selected PLMN Identity index %d MCC %d MNC %d\n",
+                S1AP_INFO("[eNB %ld] Chose MME '%s' (assoc_id %d) through S-TMSI MMEC %d and selected PLMN Identity index %d MCC %d MNC %d\n",
                           instance,
                           mme_desc_p->mme_name,
                           mme_desc_p->assoc_id,
@@ -122,7 +122,7 @@ int s1ap_eNB_handle_nas_first_req(
                          s1ap_nas_first_req_p->selected_plmn_identity);
 
         if (mme_desc_p) {
-            S1AP_INFO("[eNB %d] Chose MME '%s' (assoc_id %d) through selected PLMN Identity index %d MCC %d MNC %d\n",
+            S1AP_INFO("[eNB %ld] Chose MME '%s' (assoc_id %d) through selected PLMN Identity index %d MCC %d MNC %d\n",
                       instance,
                       mme_desc_p->mme_name,
                       mme_desc_p->assoc_id,
@@ -142,7 +142,7 @@ int s1ap_eNB_handle_nas_first_req(
                          s1ap_nas_first_req_p->establishment_cause);
 
         if (mme_desc_p) {
-            S1AP_INFO("[eNB %d] Chose MME '%s' (assoc_id %d) through highest relative capacity\n",
+            S1AP_INFO("[eNB %ld] Chose MME '%s' (assoc_id %d) through highest relative capacity\n",
                       instance,
                       mme_desc_p->mme_name,
                       mme_desc_p->assoc_id);
diff --git a/openair3/SCTP/sctp_eNB_itti_messaging.c b/openair3/SCTP/sctp_eNB_itti_messaging.c
index 789af3f8edf564b34e4630d0ba5f5d02d06591e4..c31d4ba9edd0023428d640962cb554d7ca07687d 100644
--- a/openair3/SCTP/sctp_eNB_itti_messaging.c
+++ b/openair3/SCTP/sctp_eNB_itti_messaging.c
@@ -29,7 +29,7 @@ int sctp_itti_send_init_msg_multi_cnf(task_id_t task_id, instance_t instance, in
   MessageDef      *message_p;
   sctp_init_msg_multi_cnf_t *sctp_init_msg_multi_cnf_p;
 
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_INIT_MSG_MULTI_CNF);
+  message_p = itti_alloc_new_message(TASK_SCTP, 0, SCTP_INIT_MSG_MULTI_CNF);
 
   sctp_init_msg_multi_cnf_p = &message_p->ittiMsg.sctp_init_msg_multi_cnf;
 
@@ -45,7 +45,7 @@ int sctp_itti_send_new_message_ind(task_id_t task_id, instance_t instance,
   MessageDef      *message_p;
   sctp_data_ind_t *sctp_data_ind_p;
 
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_DATA_IND);
+  message_p = itti_alloc_new_message(TASK_SCTP, 0, SCTP_DATA_IND);
 
   sctp_data_ind_p = &message_p->ittiMsg.sctp_data_ind;
 
@@ -69,7 +69,7 @@ int sctp_itti_send_association_resp(task_id_t task_id, instance_t instance,
   MessageDef                  *message_p;
   sctp_new_association_resp_t *sctp_new_association_resp_p;
 
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_NEW_ASSOCIATION_RESP);
+  message_p = itti_alloc_new_message(TASK_SCTP, 0, SCTP_NEW_ASSOCIATION_RESP);
 
   sctp_new_association_resp_p = &message_p->ittiMsg.sctp_new_association_resp;
 
@@ -89,7 +89,7 @@ int sctp_itti_send_association_ind(task_id_t task_id, instance_t instance,
   MessageDef                 *message_p;
   sctp_new_association_ind_t *sctp_new_association_ind_p;
 
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_NEW_ASSOCIATION_IND);
+  message_p = itti_alloc_new_message(TASK_SCTP, 0, SCTP_NEW_ASSOCIATION_IND);
 
   sctp_new_association_ind_p = &message_p->ittiMsg.sctp_new_association_ind;
 
diff --git a/openair3/SCTP/sctp_eNB_task.c b/openair3/SCTP/sctp_eNB_task.c
index ee006338c5a0e64532dd024b0f0b6488fc542412..0193c50e1d24ae2e9ef3b2834e21a3f29731316f 100644
--- a/openair3/SCTP/sctp_eNB_task.c
+++ b/openair3/SCTP/sctp_eNB_task.c
@@ -1116,7 +1116,7 @@ void *sctp_eNB_process_itti_msg(void *notUsed)
 
             /* We received a new connection request */
             if (sctp_create_new_listener(
-                        ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                        ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                         ITTI_MSG_ORIGIN_ID(received_msg),
                         &received_msg->ittiMsg.sctp_init,0) < 0) {
                 /* SCTP socket creation or bind failed... */
@@ -1131,7 +1131,7 @@ void *sctp_eNB_process_itti_msg(void *notUsed)
             SCTP_DEBUG("Received SCTP_INIT_MSG_MULTI_REQ\n");
 
             multi_sd = sctp_create_new_listener(
-                           ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                           ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                            ITTI_MSG_ORIGIN_ID(received_msg),
                            &received_msg->ittiMsg.sctp_init_multi,1);
             /* We received a new connection request */
@@ -1141,27 +1141,27 @@ void *sctp_eNB_process_itti_msg(void *notUsed)
             }
             sctp_itti_send_init_msg_multi_cnf(
                 ITTI_MSG_ORIGIN_ID(received_msg),
-                ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                 multi_sd);
         }
         break;
 
         case SCTP_NEW_ASSOCIATION_REQ: {
-            sctp_handle_new_association_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+            sctp_handle_new_association_req(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                             ITTI_MSG_ORIGIN_ID(received_msg),
                                             &received_msg->ittiMsg.sctp_new_association_req);
         }
         break;
 
         case SCTP_NEW_ASSOCIATION_REQ_MULTI: {
-            sctp_handle_new_association_req_multi(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+            sctp_handle_new_association_req_multi(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                                   ITTI_MSG_ORIGIN_ID(received_msg),
                                                   &received_msg->ittiMsg.sctp_new_association_req_multi);
         }
         break;
 
         case SCTP_CLOSE_ASSOCIATION:
-            sctp_close_association(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+            sctp_close_association(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                    ITTI_MSG_ORIGIN_ID(received_msg),
                                    &received_msg->ittiMsg.sctp_close_association);
             break;
@@ -1172,7 +1172,7 @@ void *sctp_eNB_process_itti_msg(void *notUsed)
             break;
 
         case SCTP_DATA_REQ: {
-            sctp_send_data(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+            sctp_send_data(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                            ITTI_MSG_ORIGIN_ID(received_msg),
                            &received_msg->ittiMsg.sctp_data_req);
         }
diff --git a/openair3/SCTP/sctp_primitives_client.c b/openair3/SCTP/sctp_primitives_client.c
deleted file mode 100644
index e19f20c957b55e0adbcf667720ed9ee210b104ee..0000000000000000000000000000000000000000
--- a/openair3/SCTP/sctp_primitives_client.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * 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
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <assert.h>
-#include <poll.h>
-
-#include <errno.h>
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-//WARNING: sctp requires libsctp-dev and -lsctp as linker option
-#include <netinet/sctp.h>
-#include <arpa/inet.h>
-
-#include "assertions.h"
-#include "sctp_eNB_defs.h"
-#include "sctp_common.h"
-
-#include "sctp_primitives_client.h"
-
-#if defined(ENB_MODE)
-# include "eNB_default_values.h"
-#else
-# include "mme_default_values.h"
-#endif
-
-/* Send buffer to SCTP association */
-int sctp_send_msg(sctp_data_t *sctp_data_p, uint16_t ppid, uint16_t stream,
-                  const uint8_t *buffer, const uint32_t length)
-{
-  DevAssert(buffer != NULL);
-  DevAssert(sctp_data_p != NULL);
-
-  /* Send message on specified stream of the sd association
-   * NOTE: PPID should be defined in network order
-   */
-  if (sctp_sendmsg(sctp_data_p->sd, (const void *)buffer, length, NULL, 0,
-                   htonl(ppid), 0, stream, 0, 0) < 0) {
-    SCTP_ERROR("Sctp_sendmsg failed: %s\n", strerror(errno));
-    return -1;
-  }
-
-  SCTP_DEBUG("Successfully sent %d bytes to port %d on stream %d\n",
-             length, sctp_data_p->remote_port, stream);
-
-  return 0;
-}
-
-static
-int sctp_handle_notifications(union sctp_notification *snp)
-{
-  if (SCTP_SHUTDOWN_EVENT == snp->sn_header.sn_type)  {
-    /* Client deconnection */
-    SCTP_DEBUG("Notification received: server deconnected\n");
-  } else if (SCTP_ASSOC_CHANGE == snp->sn_header.sn_type) {
-    /* Association has changed */
-    SCTP_DEBUG("Notification received: server association changed\n");
-  } else {
-    SCTP_DEBUG("Notification received: %d TODO\n", snp->sn_header.sn_type);
-  }
-
-  /* TODO: handle more notif here */
-  return 0;
-}
-
-int sctp_run(sctp_data_t *sctp_data_p)
-{
-  int ret, repeat = 1;
-  int total_size = 0;
-  int sd;
-  struct pollfd fds;
-
-  DevAssert(sctp_data_p != NULL);
-
-  sd = sctp_data_p->sd;
-
-  memset(&fds, 0, sizeof(struct pollfd));
-
-  fds.fd     = sd;
-  fds.events = POLLIN;
-
-  while (repeat == 1) {
-    ret = poll(&fds, 1, 0);
-
-    if (ret < 0) {
-      SCTP_ERROR("[SD %d] Poll has failed (%d:%s)\n",
-                 sd, errno, strerror(errno));
-      return errno;
-    } else if (ret == 0) {
-      /* No data to read, just leave the loop */
-      SCTP_DEBUG("[SD %d] Poll: no data available\n", sd);
-      repeat = 0;
-    } else {
-      /* Socket has some data to read */
-      uint8_t buffer[SCTP_RECV_BUFFER_SIZE];
-      int flags = 0;
-      int n;
-      struct sockaddr_in     addr;
-      struct sctp_sndrcvinfo sinfo;
-
-      socklen_t from_len;
-      memset((void *)&addr, 0, sizeof(struct sockaddr_in));
-      from_len = (socklen_t)sizeof(struct sockaddr_in);
-      memset((void *)&sinfo, 0, sizeof(struct sctp_sndrcvinfo));
-
-      n = sctp_recvmsg(sd, (void *)buffer, SCTP_RECV_BUFFER_SIZE,
-                       (struct sockaddr *)&addr, &from_len,
-                       &sinfo, &flags);
-
-      if (n < 0) {
-        /* Other peer is deconnected */
-        SCTP_ERROR("[SD %d] An error occured during read (%d:%s)\n",
-                   sd, errno, strerror(errno));
-        return 0;
-      }
-
-      if (flags & MSG_NOTIFICATION) {
-        sctp_handle_notifications((union sctp_notification *)buffer);
-      } else {
-        struct sctp_queue_item_s *new_item_p;
-
-        new_item_p = calloc(1, sizeof(struct sctp_queue_item_s));
-        /* Normal data received */
-        SCTP_DEBUG("[SD %d] Msg of length %d received from %s:%u on "
-                   "stream %d, PPID %d, assoc_id %d\n",
-                   sd, n, inet_ntoa(addr.sin_addr),
-                   ntohs(addr.sin_port), sinfo.sinfo_stream,
-                   sinfo.sinfo_ppid, sinfo.sinfo_assoc_id);
-
-        new_item_p->local_stream = sinfo.sinfo_stream;
-        new_item_p->remote_port = ntohs(addr.sin_port);
-        new_item_p->remote_addr = addr.sin_addr.s_addr;
-        new_item_p->ppid        = sinfo.sinfo_ppid;
-        new_item_p->assoc_id    = sinfo.sinfo_assoc_id;
-        new_item_p->length      = n;
-        new_item_p->buffer      = malloc(sizeof(uint8_t) * n);
-
-        memcpy(new_item_p->buffer, buffer, n);
-
-        /* Insert the new packet at the tail of queue. */
-        TAILQ_INSERT_TAIL(&sctp_data_p->sctp_queue, new_item_p, entry);
-
-        /* Update queue related data */
-        sctp_data_p->queue_size += n;
-        sctp_data_p->queue_length++;
-        total_size += n;
-      }
-    }
-  }
-
-  return total_size;
-}
-
-int sctp_connect_to_remote_host(char *local_ip_addr[],
-                                int nb_local_addr,
-                                char *remote_ip_addr,
-                                uint16_t port,
-                                int socket_type,
-                                sctp_data_t *sctp_data_p)
-{
-  int sd = -1;
-  socklen_t i = 0;
-
-  struct sctp_initmsg         init;
-  struct sctp_event_subscribe events;
-  struct sockaddr            *bindx_add_addr;
-
-  DevAssert(sctp_data_p != NULL);
-  DevAssert(remote_ip_addr != NULL);
-  DevAssert(local_ip_addr != NULL);
-  DevCheck((socket_type == SOCK_STREAM), socket_type, 0, 0);
-
-  SCTP_DEBUG("Creating socket type %d\n", socket_type);
-
-  /* Create new socket */
-  if ((sd = socket(AF_INET6, SOCK_STREAM, IPPROTO_SCTP)) < 0) {
-    SCTP_ERROR("Socket creation failed: %s\n", strerror(errno));
-    return -1;
-  }
-
-  /* Bind to provided IP adresses */
-  bindx_add_addr = calloc(nb_local_addr, sizeof(struct sockaddr));
-
-  for (i = 0; i < nb_local_addr; i++) {
-    if (inet_pton(AF_INET, local_ip_addr[i], &((struct sockaddr_in*)&bindx_add_addr[i])->sin_addr.s_addr) != 1) {
-      if (inet_pton(AF_INET6, local_ip_addr[i], &((struct sockaddr_in6*)&bindx_add_addr[i])->sin6_addr.s6_addr) != 1) {
-        continue;
-      } else {
-        ((struct sockaddr_in6*)&bindx_add_addr[i])->sin6_port = 0;
-        bindx_add_addr[i].sa_family = AF_INET6;
-      }
-    } else {
-      ((struct sockaddr_in*)&bindx_add_addr[i])->sin_port = 0;
-      bindx_add_addr[i].sa_family = AF_INET;
-    }
-  }
-
-  if (sctp_bindx(sd, bindx_add_addr, nb_local_addr, SCTP_BINDX_ADD_ADDR) < 0) {
-    SCTP_ERROR("Socket bind failed: %s\n", strerror(errno));
-    return -1;
-  }
-
-  memset((void *)&init, 0, sizeof(struct sctp_initmsg));
-
-  /* Request a number of in/out streams */
-  init.sinit_num_ostreams  = SCTP_OUT_STREAMS;
-  init.sinit_max_instreams = SCTP_IN_STREAMS;
-  init.sinit_max_attempts  = SCTP_MAX_ATTEMPTS;
-
-  SCTP_DEBUG("Requesting (%d %d) (in out) streams\n", init.sinit_num_ostreams,
-             init.sinit_max_instreams);
-
-  if (setsockopt(sd, IPPROTO_SCTP, SCTP_INITMSG,
-                 &init, (socklen_t)sizeof(struct sctp_initmsg)) < 0) {
-    SCTP_ERROR("Setsockopt IPPROTO_SCTP_INITMSG failed: %s\n",
-               strerror(errno));
-    return -1;
-  }
-
-  /* Subscribe to all events */
-  events.sctp_data_io_event = 1;
-  events.sctp_association_event = 1;
-  events.sctp_address_event = 1;
-  events.sctp_send_failure_event = 1;
-  events.sctp_peer_error_event = 1;
-  events.sctp_shutdown_event = 1;
-  events.sctp_partial_delivery_event = 1;
-
-  if (setsockopt(sd, IPPROTO_SCTP, SCTP_EVENTS, &events,
-                 8) < 0) {
-    SCTP_ERROR("Setsockopt IPPROTO_SCTP_EVENTS failed: %s\n",
-               strerror(errno));
-    return -1;
-  }
-
-  /* SOCK_STREAM socket type requires an explicit connect to the remote host
-   * address and port.
-   * Only use IPv4 for the first connection attempt
-   */
-  {
-    struct sockaddr_in addr;
-
-    memset(&addr, 0, sizeof(struct sockaddr_in));
-
-    if (inet_pton(AF_INET, remote_ip_addr, &addr.sin_addr.s_addr) != 1) {
-      SCTP_ERROR("Failed to convert ip address %s to network type\n", remote_ip_addr);
-      goto err;
-    }
-
-    addr.sin_family = AF_INET;
-    addr.sin_port = htons(port);
-
-    SCTP_DEBUG("[%d] Sending explicit connect to %s:%u\n", sd, remote_ip_addr,
-               port);
-
-    /* Connect to remote host and port */
-    if (sctp_connectx(sd, (struct sockaddr *)&addr, 1, NULL) < 0) {
-      SCTP_ERROR("Connect to %s:%u failed: %s\n", remote_ip_addr,
-                 port, strerror(errno));
-      goto err;
-    }
-  }
-
-  /* Get SCTP status */
-  sctp_get_sockinfo(sd, &sctp_data_p->instreams, &sctp_data_p->outstreams,
-                    &sctp_data_p->assoc_id);
-
-  sctp_data_p->sd         = sd;
-
-  sctp_get_peeraddresses(sd, &sctp_data_p->remote_ip_addresses, &sctp_data_p->nb_remote_addresses);
-  sctp_get_localaddresses(sd, NULL, NULL);
-
-  TAILQ_INIT(&sctp_data_p->sctp_queue);
-
-  return sd;
-
-err:
-
-  if (sd != 0) {
-    close(sd);
-  }
-
-  return -1;
-}
diff --git a/openair3/SCTP/sctp_primitives_client.h b/openair3/SCTP/sctp_primitives_client.h
deleted file mode 100644
index bec4d3ed95ac2e0d22702f03fe0f25a528a1b495..0000000000000000000000000000000000000000
--- a/openair3/SCTP/sctp_primitives_client.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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
- */
-
-#include <stdint.h>
-
-#include "sctp_eNB_defs.h"
-
-#ifndef SCTP_PRIMITIVES_CLIENT_H_
-#define SCTP_PRIMITIVES_CLIENT_H_
-
-/** @defgroup _sctp_impl_ SCTP Layer Reference Implementation
- * @ingroup _ref_implementation_
- * @{
- */
-
-/** \brief SCTP recv callback prototype. Will be called every time a message is
- * received on socket.
- * \param assocId SCTP association ID
- * \param stream SCTP stream on which data had been received
- * \param buffer Pointer to data (should be freed by user)
- * \param length Length of message received
- * @return Execution result
- */
-typedef int (*sctp_recv_callback)(uint32_t  assocId,
-                                  uint32_t  stream,
-                                  uint8_t  *buffer,
-                                  uint32_t  length);
-
-/** \brief SCTP connected callback prototype. Will be called once the
- * association is ready.
- * \param args argument provided by upper layer
- * \param assocId SCTP association ID
- * \param instreams Number of input streams negotiated with remote peer
- * \param outstreams Number of output streams negotiated with remote peer
- * @return Execution result
- */
-typedef int (*sctp_connected_callback)(void     *args,
-                                       uint32_t  assocId,
-                                       uint32_t  instreams,
-                                       uint32_t  outstreams);
-
-/** \brief Perform association to a remote peer
- * \param ip_addr Peer IPv4 address
- * \param port Remote port to connect to
- * \param args Upper layer args that will be provided to connected callback
- * \param connected_callback Connected callback
- * \param recv_callback Data received callback
- * @return < 0 in case of failure
- */
-int sctp_connect_to_remote_host(char *local_ip_addr[],
-                                int nb_local_addr,
-                                char *remote_ip_addr,
-                                uint16_t port,
-                                int socket_type,
-                                sctp_data_t *sctp_data_p);
-
-/** \brief Send message over SCTP
- * \param sctp_data_p Pointer to the SCTP desc
- * \param ppid Payload Protocol Identifier
- * \param stream SCTP stream on which data will be sent
- * \param buffer Pointer to buffer
- * \param length Buffer length
- * @return < 0 in case of failure
- */
-int sctp_send_msg(sctp_data_t *sctp_data_p, uint16_t ppid, uint16_t stream,
-                  const uint8_t *buffer, const uint32_t length);
-
-/** \brief Flush the FIFO of messages from the socket
- * \param sctp_data_p
- * @return < 0 in case of failure
- */
-int sctp_run(sctp_data_t *sctp_data_p);
-
-/** \brief Properly disconnect the peer
- * \param assoc_id The SCTP association ID
- * @return < 0 in case of failure
- */
-void sctp_disconnect(uint32_t assoc_id);
-
-void sctp_terminate(void);
-
-/* @} */
-#endif /* SCTP_PRIMITIVES_CLIENT_H_ */
diff --git a/openair3/TEST/EPC_TEST/play_scenario.c b/openair3/TEST/EPC_TEST/play_scenario.c
index 3af47f21a8551c1381c3a4f78d4898b6d119c92a..858448b815d09d0d09e39e36af892c685a09fb79 100644
--- a/openair3/TEST/EPC_TEST/play_scenario.c
+++ b/openair3/TEST/EPC_TEST/play_scenario.c
@@ -729,7 +729,7 @@ void *et_eNB_app_task(void *args_p)
     itti_receive_msg (TASK_ENB_APP, &msg_p);
 
     msg_name = ITTI_MSG_NAME (msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
 
     switch (ITTI_MSG_ID(msg_p)) {
     case TERMINATE_MESSAGE:
@@ -1204,7 +1204,7 @@ int main( int argc, char **argv )
   logInit();
   set_glog(LOG_TRACE, LOG_MED);
 
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
 
   set_comp_log(ENB_APP, LOG_TRACE, LOG_MED, 1);
   set_comp_log(S1AP, LOG_TRACE, LOG_MED, 1);
diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap.c
index acc9b18f767ddc2dcec8199e1a04b63e053e8e04..c4674e89011b2da8c6cf0c186aedc640fe85509f 100644
--- a/openair3/TEST/EPC_TEST/play_scenario_s1ap.c
+++ b/openair3/TEST/EPC_TEST/play_scenario_s1ap.c
@@ -1101,13 +1101,13 @@ void *et_s1ap_eNB_task(void *arg)
        * Each eNB has to send an S1AP_REGISTER_ENB message with its
        * own parameters.
        */
-      et_s1ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      et_s1ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                    &S1AP_REGISTER_ENB_REQ(received_msg));
     }
     break;
 
     case SCTP_NEW_ASSOCIATION_RESP: {
-      et_s1ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+      et_s1ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                             &received_msg->ittiMsg.sctp_new_association_resp);
     }
     break;
diff --git a/openair3/TEST/oaisim_mme_itti_test.c b/openair3/TEST/oaisim_mme_itti_test.c
index 57cfd412ef12c7b607c011c8125f99675be5c3b6..0b381a041565acb2d46aaaaadc4bc88781a0aa72 100644
--- a/openair3/TEST/oaisim_mme_itti_test.c
+++ b/openair3/TEST/oaisim_mme_itti_test.c
@@ -68,7 +68,7 @@ int main(int argc, char *argv[])
 
   /* Calling each layer init function */
   log_init(&mme_config);
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
   sctp_init(&mme_config);
   udp_init(&mme_config);
   s1ap_mme_init(&mme_config);
diff --git a/openair3/TEST/oaisim_mme_test_s1c.c b/openair3/TEST/oaisim_mme_test_s1c.c
index 52623463c6bc4f83091311e3bb5969b5338a8cb1..53f8a1d5ebc5c40a0e33039ba72ad2b69f31ad84 100644
--- a/openair3/TEST/oaisim_mme_test_s1c.c
+++ b/openair3/TEST/oaisim_mme_test_s1c.c
@@ -193,7 +193,7 @@ static void *eNB_app_task(void *args_p)
     itti_receive_msg (TASK_ENB_APP, &msg_p);
 
     msg_name = ITTI_MSG_NAME (msg_p);
-    instance = ITTI_MSG_INSTANCE (msg_p);
+    instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p);
 
     switch (ITTI_MSG_ID(msg_p)) {
     case TERMINATE_MESSAGE:
@@ -309,7 +309,7 @@ int main( int argc, char **argv )
   /* Read eNB configuration file */
   enb_properties = enb_config_init(conf_config_file_name);
 
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
 
   itti_wait_ready(1);
 
diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.c b/openair3/TEST/oaisim_mme_test_s1c_s1ap.c
index 10d43d595d3107544d046996d774b78f5ffdaae2..60da125073aacd8dd0da7051e590b9926c1efe80 100644
--- a/openair3/TEST/oaisim_mme_test_s1c_s1ap.c
+++ b/openair3/TEST/oaisim_mme_test_s1c_s1ap.c
@@ -260,13 +260,13 @@ void *s1ap_eNB_task(void *arg)
          * Each eNB has to send an S1AP_REGISTER_ENB message with its
          * own parameters.
          */
-        s1ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        s1ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                      &S1AP_REGISTER_ENB_REQ(received_msg));
       }
       break;
 
       case SCTP_NEW_ASSOCIATION_RESP: {
-        s1ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+        s1ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg),
                                               &received_msg->ittiMsg.sctp_new_association_resp);
       }
       break;
diff --git a/openair3/UDP/udp_eNB_task.c b/openair3/UDP/udp_eNB_task.c
index 90ee87900df1136baf30eb536cf53d8225a07c57..515dd9a17fae493dc9d10f29409de6485648fd9f 100644
--- a/openair3/UDP/udp_eNB_task.c
+++ b/openair3/UDP/udp_eNB_task.c
@@ -257,7 +257,7 @@ void udp_eNB_receiver(struct udp_socket_desc_s *udp_sock_pP)
       forwarded_buffer = itti_malloc(TASK_UDP, udp_sock_pP->task_id, n*sizeof(uint8_t));
       DevAssert(forwarded_buffer != NULL);
       memcpy(forwarded_buffer, l_buffer, n);
-      message_p = itti_alloc_new_message(TASK_UDP, UDP_DATA_IND);
+      message_p = itti_alloc_new_message(TASK_UDP, 0, UDP_DATA_IND);
       DevAssert(message_p != NULL);
       udp_data_ind_p = &message_p->ittiMsg.udp_data_ind;
       udp_data_ind_p->buffer        = forwarded_buffer;
@@ -318,7 +318,7 @@ void *udp_eNB_task(void *args_p)
     if (received_message_p != NULL) {
 
       //msg_name = ITTI_MSG_NAME (received_message_p);
-      //instance = ITTI_MSG_INSTANCE (received_message_p);
+      //instance = ITTI_MSG_DESTINATION_INSTANCE (received_message_p);
 
       switch (ITTI_MSG_ID(received_message_p)) {
       case UDP_INIT: {
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 0d0dde4ac47a322cb436485326f5c911fa32bc90..cdafb1e3eb49bd0dedf548fea3febba0e2d023ab 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -386,7 +386,7 @@ void terminate_task(module_id_t mod_id, task_id_t from, task_id_t to) {
   LOG_I(ENB_APP, "sending TERMINATE_MESSAGE from task %s (%d) to task %s (%d)\n",
         itti_get_task_name(from), from, itti_get_task_name(to), to);
   MessageDef *msg;
-  msg = itti_alloc_new_message (from, TERMINATE_MESSAGE);
+  msg = itti_alloc_new_message (from, 0, TERMINATE_MESSAGE);
   itti_send_msg_to_task (to, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg);
 }
 
@@ -453,7 +453,7 @@ int restart_L1L2(module_id_t enb_id) {
 
   /* pass a reconfiguration request which will configure everything down to
    * RC.eNB[i][j]->frame_parms, too */
-  msg_p = itti_alloc_new_message(TASK_ENB_APP, RRC_CONFIGURATION_REQ);
+  msg_p = itti_alloc_new_message(TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
   RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[enb_id]->configuration;
   itti_send_msg_to_task(TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
   /* TODO XForms might need to be restarted, but it is currently (09/02/18)
@@ -544,14 +544,14 @@ int main ( int argc, char **argv )
 
   cpuf=get_cpu_freq_GHz();
   printf("ITTI init, useMME: %i\n",EPC_MODE_ENABLED);
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
   // allows to forward in wireshark L2 protocol for decoding
   // initialize mscgen log after ITTI
   if (get_softmodem_params()->start_msc) {
     load_module_shlib("msc",NULL,0,&msc_interface);
   }
 
-  MSC_INIT(MSC_E_UTRAN, THREAD_MAX+TASK_MAX);
+  MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
   init_opt();
   // to make a graceful exit when ctrl-c is pressed
   set_softmodem_sighandler();
@@ -596,7 +596,7 @@ int main ( int argc, char **argv )
     }
 
     for (int enb_id = 0; enb_id < RC.nb_inst; enb_id++) {
-      MessageDef *msg_p = itti_alloc_new_message (TASK_ENB_APP, RRC_CONFIGURATION_REQ);
+      MessageDef *msg_p = itti_alloc_new_message (TASK_ENB_APP, 0, RRC_CONFIGURATION_REQ);
       RRC_CONFIGURATION_REQ(msg_p) = RC.rrc[enb_id]->configuration;
       itti_send_msg_to_task (TASK_RRC_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
     }
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index 0962bb6a2d423b53c15a5df0423525d675dda4f8..d690b13c2c7c1ac3cb742245f5048a49a72010ac 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -1596,7 +1596,7 @@ void *UE_thread(void *arg)
   wait_sync("UE thread");
 #ifdef NAS_UE
   MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_NAS_UE, INITIALIZE_MESSAGE);
+  message_p = itti_alloc_new_message(TASK_NAS_UE, 0, INITIALIZE_MESSAGE);
   itti_send_msg_to_task (TASK_NAS_UE, UE->Mod_id + NB_eNB_INST, message_p);
 #endif
   int sub_frame=-1;
@@ -1976,7 +1976,7 @@ void init_UE_single_thread_stub(int nb_inst)
     if(NFAPI_MODE==NFAPI_UE_STUB_PNF) {
 #ifdef NAS_UE
       MessageDef *message_p;
-      message_p = itti_alloc_new_message(TASK_NAS_UE, INITIALIZE_MESSAGE);
+      message_p = itti_alloc_new_message(TASK_NAS_UE, 0, INITIALIZE_MESSAGE);
       itti_send_msg_to_task (TASK_NAS_UE, i + NB_eNB_INST, message_p);
 #endif
     }
diff --git a/targets/RT/USER/lte-uesoftmodem.c b/targets/RT/USER/lte-uesoftmodem.c
index 2bf2314f1bd918978ab879289255b63212cfe171..dce7a20874165b603939fa385ba8a41bb7de3f8f 100644
--- a/targets/RT/USER/lte-uesoftmodem.c
+++ b/targets/RT/USER/lte-uesoftmodem.c
@@ -500,7 +500,7 @@ void init_openair0(LTE_DL_FRAME_PARMS *frame_parms,int rxgain) {
 void terminate_task(task_id_t task_id, module_id_t mod_id) {
   LOG_I(ENB_APP, "sending TERMINATE_MESSAGE to task %s (%d)\n", itti_get_task_name(task_id), task_id);
   MessageDef *msg;
-  msg = itti_alloc_new_message (ENB_APP, TERMINATE_MESSAGE);
+  msg = itti_alloc_new_message (ENB_APP, 0, TERMINATE_MESSAGE);
   itti_send_msg_to_task (task_id, ENB_MODULE_ID_TO_INSTANCE(mod_id), msg);
 }
 
@@ -601,14 +601,14 @@ int main( int argc, char **argv ) {
   pthread_mutex_init(&sync_mutex, NULL);
 
   printf("ITTI init\n");
-  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
+  itti_init(TASK_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
 
   // initialize mscgen log after ITTI
   if (get_softmodem_params()->start_msc) {
     load_module_shlib("msc",NULL,0,&msc_interface);
   }
 
-  MSC_INIT(MSC_E_UTRAN, THREAD_MAX+TASK_MAX);
+  MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
   init_opt();
   init_pdcp();
   //TTN for D2D