From 1beed38b54592368d627f0cb58c655627c02ef7e Mon Sep 17 00:00:00 2001 From: JF Dionne Date: Tue, 26 Jul 2016 15:16:08 -0400 Subject: encoding: Fixes TMSI vs MI bit selection in repeated page info Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf --- src/encoding.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/encoding.cpp b/src/encoding.cpp index 4c8cdb06..019de52f 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1066,6 +1066,20 @@ unsigned Encoding::write_packet_paging_request(bitvec * dest) return wp; } +/* 3GPP TS 44.060 ยง 11.2.10: + < Repeated Page info struct > ::= + { 0 -- Page request for TBF establishment + { 0 < PTMSI : bit (32) > + | 1 < Length of Mobile Identity contents : bit (4) > + < Mobile Identity : octet (val (Length of Mobile Identity contents)) > } + | 1 -- Page request for RR conn. establishment + { 0 < TMSI : bit (32) > + | 1 < Length of Mobile Identity contents : bit (4) > + < Mobile Identity : octet (val (Length of Mobile Identity contents)) > } + < CHANNEL_NEEDED : bit (2) > + { 0 | 1 < eMLPP_PRIORITY : bit (3) > } + } + */ unsigned Encoding::write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, uint8_t *identity, uint8_t chan_needed) { @@ -1078,7 +1092,7 @@ unsigned Encoding::write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t identity++; len--; } else { - bitvec_write_field(dest, &wp,0x0,1); // MI + bitvec_write_field(dest, &wp,0x1,1); // MI bitvec_write_field(dest, &wp,len,4); // MI len } while (len) { -- cgit v1.2.3