diff --git a/grc/transmitter/gsm_txtime_bursts_tagger.xml b/grc/transmitter/gsm_txtime_bursts_tagger.xml
index 4012c17..4e42886 100644
--- a/grc/transmitter/gsm_txtime_bursts_tagger.xml
+++ b/grc/transmitter/gsm_txtime_bursts_tagger.xml
@@ -3,8 +3,11 @@
   <name>txtime_bursts_tagger</name>
   <key>gsm_txtime_bursts_tagger</key>
   <import>import grgsm</import>
-  <make>grgsm.txtime_bursts_tagger($init_fn, $init_time, $time_hint)</make>
+  <make>grgsm.txtime_bursts_tagger($init_fn, $init_time, $time_hint, $timing_advance, $delay_correction)</make>
+  <callback>set_fn_time_reference($init_fn, $init_time)</callback>
   <callback>set_time_hint($time_hint)</callback>
+  <callback>set_timing_advance($timing_advance)</callback>
+  <callback>set_delay_correction($delay_correction)</callback>
 
   <param>
     <name>init_fn</name>
@@ -30,14 +33,28 @@
     <hide>part</hide>
   </param>
 
+  <param>
+    <name>timing_advance</name>
+    <key>timing_advance</key>
+    <value>0</value>
+    <type>float</type>
+    <hide>part</hide>
+  </param>
+
+  <param>
+    <name>delay_correction</name>
+    <key>delay_correction</key>
+    <value>0</value>
+    <type>float</type>
+    <hide>part</hide>
+  </param>
+
   <sink>
     <name>fn_time</name>
     <type>message</type>
     <optional>1</optional>
   </sink>
 
-
-
   <sink>
     <name>bursts</name>
     <type>message</type>
diff --git a/python/transmitter/txtime_bursts_tagger.py b/python/transmitter/txtime_bursts_tagger.py
index 489af2a..a083c48 100644
--- a/python/transmitter/txtime_bursts_tagger.py
+++ b/python/transmitter/txtime_bursts_tagger.py
@@ -30,7 +30,7 @@
     """
     A block that adds txtime metadata to a burst
     """
-    def __init__(self, init_fn=0, init_time=0, time_hint=None):
+    def __init__(self, init_fn=0, init_time=0, time_hint=None, timing_advance=0, delay_correction=0):
         gr.basic_block.__init__(self,
             name="txtime_bursts_tagger",
             in_sig=[],
@@ -39,6 +39,9 @@
         if time_hint is not None:
             self.set_time_hint(time_hint)
 
+        self.timing_advance = timing_advance
+        self.delay_correction = delay_correction
+
         self.message_port_register_in(pmt.intern("fn_time"))
         self.message_port_register_in(pmt.intern("bursts"))
         self.message_port_register_out(pmt.intern("bursts"))
@@ -50,7 +53,6 @@
         time_hint = pmt.to_python(pmt.dict_ref(msg, pmt.intern("time_hint"), pmt.PMT_NIL))
         fn_time = pmt.to_python(pmt.dict_ref(msg, pmt.intern("fn_time"), pmt.PMT_NIL))
 
-#        if self.fn_ref is None:
         if time_hint is not None:
             self.time_hint = time_hint
         elif fn_time is not None:
@@ -68,10 +70,14 @@
         ts_num = burst_with_header[3]
         if self.fn_ref is not None:
           fn_delta, txtime = fn_time_delta(self.fn_ref, self.time_ref, fn, self.time_hint, ts_num)
+          txtime_corrected = txtime - self.delay_correction
+          txtime_final = txtime_corrected - self.timing_advance
+          
           txtime_secs = int(txtime)
           txtime_fracs = txtime-int(txtime)
           #print "txtime_secs",txtime_secs,"txtime_fracs",txtime_fracs
           tags_dict = pmt.dict_add(pmt.make_dict(), pmt.intern("tx_time"), pmt.make_tuple(pmt.from_uint64(txtime_secs),pmt.from_double(txtime_fracs)))
+          tags_dict = pmt.dict_add(tags_dict, pmt.intern("fn"), pmt.from_uint64(fn))
           new_msg = pmt.cons(tags_dict, pmt.cdr(msg))
           self.message_port_pub(pmt.intern("bursts"), new_msg)
         
@@ -83,3 +89,9 @@
     def set_time_hint(self, time_hint):
         self.time_hint = time_hint
 
+    def set_delay_correction(delay_correction):
+        self.delay_correction = delay_correction
+        
+    def set_timing_advance(timing_advance):
+        self.timing_advance = timing_advance
+        
