diff --git a/include/grgsm/misc_utils/CMakeLists.txt b/include/grgsm/misc_utils/CMakeLists.txt
index 978695e..8ac1f52 100644
--- a/include/grgsm/misc_utils/CMakeLists.txt
+++ b/include/grgsm/misc_utils/CMakeLists.txt
@@ -34,6 +34,7 @@
     message_printer.h
     tmsi_dumper.h
     msg_to_tag.h
+    trx_burst_if.h
     controlled_fractional_resampler_cc.h 
     time_spec.h
     fn_time.h DESTINATION include/grgsm/misc_utils
diff --git a/include/grgsm/misc_utils/trx_burst_if.h b/include/grgsm/misc_utils/trx_burst_if.h
new file mode 100644
index 0000000..18ceef1
--- /dev/null
+++ b/include/grgsm/misc_utils/trx_burst_if.h
@@ -0,0 +1,63 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Vadim Yanitskiy <axilirator@gmail.com>
+ * @section LICENSE
+ * 
+ * Gr-gsm is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * Gr-gsm is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with gr-gsm; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ * 
+ */
+
+#ifndef INCLUDED_GRGSM_TRX_BURST_IF_H
+#define INCLUDED_GRGSM_TRX_BURST_IF_H
+
+#include <grgsm/api.h>
+#include <gnuradio/sync_block.h>
+
+namespace gr {
+  namespace gsm {
+
+    /*!
+     * \brief <+description of block+>
+     * \ingroup grgsm
+     *
+     */
+    class GRGSM_API trx_burst_if : virtual public gr::block
+    {
+     public:
+      typedef boost::shared_ptr<trx_burst_if> sptr;
+
+      /*!
+       * \brief Return a shared_ptr to a new instance of grgsm::trx_burst_if.
+       *
+       * To avoid accidental use of raw pointers, grgsm::trx_burst_if's
+       * constructor is in a private implementation
+       * class. grgsm::trx_burst_if::make is the public interface for
+       * creating new instances.
+       */
+      static sptr make(
+        const std::string &remote_addr,
+        const std::string &base_port);
+
+      /* Expose internal timeslot filter API */
+      virtual void ts_filter_set_tn(int tn) = 0;
+      virtual int ts_filter_get_tn(void) = 0;
+    };
+
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GRGSM_TRX_BURST_IF_H */
+
