Quick hack to interpret unencrypted assignment commands
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();
     };