aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@gmail.com>2018-02-27 14:46:18 +0100
committerPiotr Krysik <ptrkrysik@gmail.com>2018-02-27 14:46:18 +0100
commit70f549abae9dfaede8271883ec49658595d65797 (patch)
tree1ea5935ba35fe6d0f3b9c3134a7d9b6413317cfa
parentb3bd68ed8f3837f9a45a5e4b049e41f3b5867406 (diff)
parenta081366dadeeefe385897b845dade73c2d435e11 (diff)
Merge remote-tracking branch 'origin/quick-hack' into grgsm_on_win
-rw-r--r--include/grgsm/misc_utils/extract_cmc.h1
-rw-r--r--lib/misc_utils/extract_cmc_impl.cc12
-rw-r--r--lib/misc_utils/extract_cmc_impl.h2
3 files changed, 14 insertions, 1 deletions
diff --git a/include/grgsm/misc_utils/extract_cmc.h b/include/grgsm/misc_utils/extract_cmc.h
index 2b07bbe..82bd729 100644
--- a/include/grgsm/misc_utils/extract_cmc.h
+++ b/include/grgsm/misc_utils/extract_cmc.h
@@ -53,6 +53,7 @@ namespace gr {
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 16f2f6b..c28e49f 100644
--- a/lib/misc_utils/extract_cmc_impl.cc
+++ b/lib/misc_utils/extract_cmc_impl.cc
@@ -40,7 +40,7 @@ namespace gr {
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 @@ namespace gr {
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 @@ namespace gr {
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 b62cadc..1dd02cb 100644
--- a/lib/misc_utils/extract_cmc_impl.h
+++ b/lib/misc_utils/extract_cmc_impl.h
@@ -35,10 +35,12 @@ namespace gr {
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();
};