aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_bssgp_pcu.cpp
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-09-23 06:42:07 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2012-09-23 06:42:07 +0200
commit514491d726008b45d3caaa8fb36e55bc2ff8311b (patch)
tree1dc43cb932991d3cfef7710cf98f37dc6a92b3fa /src/gprs_bssgp_pcu.cpp
parentcd8a83a42c44a749a801cb53ec8e9888fcd153d0 (diff)
Fix: Correctly interpret MCC, MNC, CELL ID from BTS
Diffstat (limited to 'src/gprs_bssgp_pcu.cpp')
-rw-r--r--src/gprs_bssgp_pcu.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index 020df616..12d45825 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -529,6 +529,10 @@ int gprs_bssgp_create(uint32_t sgsn_ip, uint16_t sgsn_port, uint16_t nsei,
{
struct sockaddr_in dest;
+ mcc = ((mcc & 0xf00) >> 8) * 100 + ((mcc & 0x0f0) >> 4) * 10 + (mcc & 0x00f);
+ mnc = ((mnc & 0xf00) >> 8) * 100 + ((mnc & 0x0f0) >> 4) * 10 + (mnc & 0x00f);
+ cell_id = ntohs(cell_id);
+
if (bctx)
return 0; /* if already created, must return 0: no error */