diff --git a/acts/tests/google/tel/live/TelLiveVideoTest.py b/acts/tests/google/tel/live/TelLiveVideoTest.py
index f73ee22..367c484 100644
--- a/acts/tests/google/tel/live/TelLiveVideoTest.py
+++ b/acts/tests/google/tel/live/TelLiveVideoTest.py
@@ -19,6 +19,7 @@
 
 import time
 from queue import Empty
+from acts.test_decorators import test_tracker_info
 from acts.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
 from acts.test_utils.tel.tel_defines import AUDIO_ROUTE_EARPIECE
 from acts.test_utils.tel.tel_defines import AUDIO_ROUTE_SPEAKER
@@ -83,6 +84,7 @@
 
     """ Tests Begin """
 
+    @test_tracker_info(uuid="9f0b7c98-b010-4f9b-bd80-9925fe1cb5f8")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video(self):
         """ Test VT<->VT call functionality.
@@ -115,6 +117,7 @@
 
         return True
 
+    @test_tracker_info(uuid="345e6ae9-4e9f-45e6-86a1-b661a84b6293")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_long(self):
         """ Test VT<->VT call functionality.
@@ -150,6 +153,7 @@
 
         return True
 
+    @test_tracker_info(uuid="6eaef46f-dd73-4835-be9d-c9529fc0ad3d")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_accept_as_voice(self):
         """ Test VT<->VT call functionality.
@@ -181,6 +185,7 @@
             return False
         return True
 
+    @test_tracker_info(uuid="dcd43fd5-4c92-4f09-90f8-04ccce66d396")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_mo_disable_camera(self):
         """ Test VT<->VT call functionality.
@@ -225,6 +230,7 @@
             return False
         return hangup_call(self.log, ads[0])
 
+    @test_tracker_info(uuid="088c0590-ffd0-4337-9576-569f27c4c527")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_mt_disable_camera(self):
         """ Test VT<->VT call functionality.
@@ -269,6 +275,7 @@
             return False
         return hangup_call(self.log, ads[0])
 
+    @test_tracker_info(uuid="879579ac-7106-4c4b-a8d0-64695108f6f7")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_mo_mt_disable_camera(self):
         """ Test VT<->VT call functionality.
@@ -325,6 +332,7 @@
             return False
         return hangup_call(self.log, ads[0])
 
+    @test_tracker_info(uuid="13ff7df6-bf13-4f60-80a1-d9cbeae8e1df")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_mt_mo_disable_camera(self):
         """ Test VT<->VT call functionality.
@@ -428,6 +436,7 @@
 
         return hangup_call(self.log, ads[0])
 
+    @test_tracker_info(uuid="e56eea96-467c-49ce-a135-f82f12302369")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_accept_as_voice_mo_upgrade_bidirectional(self):
         """ Test Upgrading from VoLTE to Bi-Directional VT.
@@ -460,6 +469,7 @@
 
         return self._mo_upgrade_bidirectional(ads)
 
+    @test_tracker_info(uuid="c1f58f4a-28aa-4cd0-9835-f294cdcff854")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_to_volte_mo_upgrade_bidirectional(self):
         """ Test Upgrading from VoLTE to Bi-Directional VT.
@@ -523,6 +533,7 @@
 
         return hangup_call(self.log, ads[0])
 
+    @test_tracker_info(uuid="427b0906-f082-4f6d-9d94-4f9c4d5005a5")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_to_volte_mo_upgrade_reject(self):
         """ Test Upgrading from VoLTE to Bi-Directional VT and reject.
@@ -552,6 +563,7 @@
 
         return self._mo_upgrade_reject(ads)
 
+    @test_tracker_info(uuid="f733f694-c0c2-4da0-b3c2-ff21df026426")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_accept_as_voice_mo_upgrade_reject(self):
         """ Test Upgrading from VoLTE to Bi-Directional VT and reject.
@@ -680,6 +692,7 @@
 
         return True
 
+    @test_tracker_info(uuid="f78b40a4-3be7-46f2-882f-0333f733e334")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_mo_to_backgroundpause_foregroundresume(self):
         ads = self.android_devices
@@ -705,6 +718,7 @@
         return self._test_put_call_to_backgroundpause_and_foregroundresume(
             ads[0], ads[1])
 
+    @test_tracker_info(uuid="9aafdf6a-6535-4137-a801-4fbb67fdb281")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_to_video_mt_to_backgroundpause_foregroundresume(self):
         ads = self.android_devices
@@ -750,6 +764,7 @@
             return False
         return True
 
+    @test_tracker_info(uuid="cde91e7d-dbc5-40f5-937d-36840c77667e")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mo_voice(self):
         """
@@ -820,6 +835,7 @@
 
         return self._vt_test_multi_call_hangup(ads)
 
+    @test_tracker_info(uuid="60511b22-7004-4539-9164-1331220e4d18")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mt_voice(self):
         """
@@ -890,6 +906,7 @@
 
         return self._vt_test_multi_call_hangup(ads)
 
+    @test_tracker_info(uuid="782847f4-8eab-42db-a036-ebf8de28eb23")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mo_video(self):
         """
@@ -963,6 +980,7 @@
 
         return self._vt_test_multi_call_hangup(ads)
 
+    @test_tracker_info(uuid="bc3ac5b0-4bf7-4068-9bd0-2f8301c2ad05")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mt_video(self):
         """
@@ -1038,6 +1056,7 @@
 
         return self._vt_test_multi_call_hangup(ads)
 
+    @test_tracker_info(uuid="97c7f5c3-c994-477b-839e-cea1d450d4e7")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mt_voice_swap_once_local_drop(self):
         """
@@ -1144,6 +1163,7 @@
             return False
         return True
 
+    @test_tracker_info(uuid="6b2c8701-eb65-47cd-a190-a074bc60ebfa")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mt_voice_swap_twice_remote_drop_voice_unhold_video(
             self):
@@ -1295,6 +1315,7 @@
             return False
         return True
 
+    @test_tracker_info(uuid="9d897505-efed-4b04-b5c8-3f9ba9d26861")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mo_video(self):
         """
@@ -1365,6 +1386,7 @@
 
         return self._vt_test_multi_call_hangup(ads)
 
+    @test_tracker_info(uuid="d501a744-fda7-4a0c-a25d-a1ed4e7a356e")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mt_video(self):
         """
@@ -1450,6 +1472,7 @@
             return False
         return True
 
+    @test_tracker_info(uuid="26c9c6f6-b68e-492a-b188-ce8109a4ba34")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_mt_video_add_mt_video(self):
         """
@@ -1535,6 +1558,7 @@
             return False
         return True
 
+    @test_tracker_info(uuid="5ceb6eb2-c128-405e-8ba4-69a4646842a0")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_mt_video_add_mo_video(self):
         """
@@ -1751,6 +1775,7 @@
 
         return True
 
+    @test_tracker_info(uuid="51731afc-e278-4f72-a5e1-590d49ba348d")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mo_video_accept_as_voice_merge_drop(self):
         """Conference call
@@ -1768,6 +1793,7 @@
         return self._test_call_volte_add_mo_video_accept_as_voice_merge_drop(
             False)
 
+    @test_tracker_info(uuid="23e3a071-5453-48da-8439-bd75bc79547f")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mo_video_accept_as_voice_merge_drop_cep(self):
         """Conference call
@@ -1846,6 +1872,7 @@
             True: self._test_vt_conference_merge_drop_cep
         }[use_cep](ads, call_ab_id, call_ac_id)
 
+    @test_tracker_info(uuid="5ac216a6-4ce3-4bd6-a132-8b1294e461a7")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mt_video_accept_as_voice_merge_drop(self):
         """Conference call
@@ -1863,6 +1890,7 @@
         return self._test_call_volte_add_mt_video_accept_as_voice_merge_drop(
             False)
 
+    @test_tracker_info(uuid="be1d2337-ed0d-4293-afe8-0fa677b6bee1")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mt_video_accept_as_voice_merge_drop_cep(self):
         """Conference call
@@ -1940,6 +1968,7 @@
             True: self._test_vt_conference_merge_drop_cep
         }[use_cep](ads, call_ab_id, call_ac_id)
 
+    @test_tracker_info(uuid="ead8b199-2703-4e6c-b55b-57c5280b52e8")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mo_voice_swap_downgrade_merge_drop(self):
         """Conference call
@@ -1959,6 +1988,7 @@
         return self._test_call_video_add_mo_voice_swap_downgrade_merge_drop(
             False)
 
+    @test_tracker_info(uuid="fb52dc54-0b11-46d4-a619-412eda2df390")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mo_voice_swap_downgrade_merge_drop_cep(self):
         """Conference call
@@ -2089,6 +2119,7 @@
             True: self._test_vt_conference_merge_drop_cep
         }[use_cep](ads, call_id_video_ab, call_id_voice_ac)
 
+    @test_tracker_info(uuid="cd051485-80be-47a3-b249-e09bf786a012")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mt_voice_swap_downgrade_merge_drop(self):
         """Conference call
@@ -2108,6 +2139,7 @@
         return self._test_call_video_add_mt_voice_swap_downgrade_merge_drop(
             False)
 
+    @test_tracker_info(uuid="3e171185-7bfc-4db3-8b0b-f0f1a1b79698")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_video_add_mt_voice_swap_downgrade_merge_drop_cep(self):
         """Conference call
@@ -2240,6 +2272,7 @@
             True: self._test_vt_conference_merge_drop_cep
         }[use_cep](ads, call_id_video_ab, call_id_voice_ac)
 
+    @test_tracker_info(uuid="3dd68dee-87ca-4e9b-8de8-dba6dc8f5725")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mo_video_downgrade_merge_drop(self):
         """Conference call
@@ -2257,6 +2290,7 @@
         """
         return self._test_call_volte_add_mo_video_downgrade_merge_drop(False)
 
+    @test_tracker_info(uuid="823f9b6a-7812-4f17-9534-e784a623e7e2")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mo_video_downgrade_merge_drop_cep(self):
         """Conference call
@@ -2367,6 +2401,7 @@
             True: self._test_vt_conference_merge_drop_cep
         }[use_cep](ads, call_id_video_ac, call_id_voice_ab)
 
+    @test_tracker_info(uuid="9926fb63-8230-461a-8c8c-1a9556fbb2a9")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mt_video_downgrade_merge_drop(self):
         """Conference call
@@ -2384,6 +2419,7 @@
         """
         return self._test_call_volte_add_mt_video_downgrade_merge_drop(False)
 
+    @test_tracker_info(uuid="26b72fda-1a25-47fb-8acb-6f750be8237a")
     @TelephonyBaseTest.tel_test_wrap
     def test_call_volte_add_mt_video_downgrade_merge_drop_cep(self):
         """Conference call
@@ -2496,6 +2532,7 @@
             True: self._test_vt_conference_merge_drop_cep
         }[use_cep](ads, call_id_video_ac, call_id_voice_ab)
 
+    @test_tracker_info(uuid="4031040c-d077-4bf1-8a86-82f484693e64")
     @TelephonyBaseTest.tel_test_wrap
     def test_disable_data_vt_unavailable(self):
         """Disable Data, phone should no be able to make VT call.
