diff --git a/include/grgsm/misc_utils/extract_cmc.h b/include/grgsm/misc_utils/extract_cmc.h
index 7b31564..c768980 100755
--- a/include/grgsm/misc_utils/extract_cmc.h
+++ b/include/grgsm/misc_utils/extract_cmc.h
@@ -53,6 +53,7 @@
       virtual std::vector<int> get_framenumbers() = 0;
       virtual std::vector<int> get_a5_versions() = 0;
       virtual std::vector<int> get_start_ciphering() = 0;
+      virtual std::vector<int> get_assignment_commands() = 0;
     };
 
   } // namespace gsm
diff --git a/lib/misc_utils/extract_cmc_impl.cc b/lib/misc_utils/extract_cmc_impl.cc
index 5fa6a6b..9d59736 100755
--- a/lib/misc_utils/extract_cmc_impl.cc
+++ b/lib/misc_utils/extract_cmc_impl.cc
@@ -40,7 +40,7 @@
         gsmtap_hdr * header = (gsmtap_hdr *)message_plus_header;
         uint8_t * msg_elements = (uint8_t *)(message_plus_header+sizeof(gsmtap_hdr));
 
-        if((msg_elements[3] & 0xF) == 0x6 && msg_elements[4] == 0x35)
+        if((msg_elements[3] & 0xFF) == 0x06 && msg_elements[4] == 0x35)
         {
 
             int frame_nr = be32toh(header->frame_number);
@@ -50,6 +50,11 @@
             d_framenumbers.push_back(frame_nr);
             d_a5_versions.push_back(a5_version);
         }
+        if((msg_elements[3] & 0xFF) == 0x06 && msg_elements[4] == 0x2e)
+        {
+            int frame_nr = be32toh(header->frame_number);
+            d_assignment_commands.push_back(frame_nr);
+        }
     }
     
     std::vector<int> extract_cmc_impl::get_framenumbers()
@@ -67,6 +72,11 @@
         return d_start_ciphering;
     }
     
+    std::vector<int> extract_cmc_impl::get_assignment_commands()
+    {
+        return d_assignment_commands;
+    }
+    
     extract_cmc::sptr
     extract_cmc::make()
     {
diff --git a/lib/misc_utils/extract_cmc_impl.h b/lib/misc_utils/extract_cmc_impl.h
index fe03bc8..5fca80f 100755
--- a/lib/misc_utils/extract_cmc_impl.h
+++ b/lib/misc_utils/extract_cmc_impl.h
@@ -35,10 +35,12 @@
       std::vector<int> d_framenumbers;
       std::vector<int> d_a5_versions;
       std::vector<int> d_start_ciphering;
+      std::vector<int> d_assignment_commands;
      public:
       virtual std::vector<int> get_framenumbers();
       virtual std::vector<int> get_a5_versions();
       virtual std::vector<int> get_start_ciphering();
+      virtual std::vector<int> get_assignment_commands();
       extract_cmc_impl();
       ~extract_cmc_impl();
     };
