diff options
author | Roman Khassraf <roman@khassraf.at> | 2016-11-28 21:57:19 +0100 |
---|---|---|
committer | Roman Khassraf <roman@khassraf.at> | 2016-11-28 21:57:19 +0100 |
commit | ddd096e6b4e41adbf448657ebd7630fb98687f99 (patch) | |
tree | d67de9b21f1fdd653557576928accbe0d63c05ea | |
parent | a5f5a315598a1f835abbb7e61a178979b8811812 (diff) |
#213: Fixes 3-digit MNC
-rw-r--r-- | lib/misc_utils/extract_system_info_impl.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/misc_utils/extract_system_info_impl.cc b/lib/misc_utils/extract_system_info_impl.cc index bb7fada..6f745a0 100644 --- a/lib/misc_utils/extract_system_info_impl.cc +++ b/lib/misc_utils/extract_system_info_impl.cc @@ -76,6 +76,12 @@ namespace gr { info.lac = (msg_elements[8]<<8)+msg_elements[9]; //take lac info.mcc = ((msg_elements[5] & 0xF) * 100) + (((msg_elements[5] & 0xF0) >> 4) * 10) + ((msg_elements[6] & 0xF)); // take mcc info.mnc = (msg_elements[7] & 0xF) * 10 + (msg_elements[7]>>4); //take mnc + if (((msg_elements[6] & 0xF0) >> 4) < 10) // we have a 3 digit mnc, see figure 10.5.3 of 3GPP TS 24.008 + { + info.mnc *= 10; + info.mnc += (msg_elements[6] & 0xF0) >> 4; + } + info.ccch_conf = (msg_elements[10] & 0x7); // ccch_conf boost::mutex::scoped_lock lock(extract_mutex); @@ -92,6 +98,11 @@ namespace gr { info.lac = (msg_elements[6]<<8)+msg_elements[7]; //take lac info.mcc = ((msg_elements[3] & 0xF) * 100) + (((msg_elements[3] & 0xF0) >> 4) * 10) + ((msg_elements[4] & 0xF)); // take mcc info.mnc = (msg_elements[5] & 0xF) * 10 + (msg_elements[5]>>4); //take mnc + if (((msg_elements[4] & 0xF0) >> 4) < 10) // we have a 3 digit mnc, see figure 10.5.3 of 3GPP TS 24.008 + { + info.mnc *= 10; + info.mnc += (msg_elements[4] & 0xF0) >> 4; + } boost::mutex::scoped_lock lock(extract_mutex); if(d_c0_channels.find(info.id) != d_c0_channels.end()){ |