diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2012-09-23 06:42:07 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2012-09-23 06:42:07 +0200 |
commit | 514491d726008b45d3caaa8fb36e55bc2ff8311b (patch) | |
tree | 1dc43cb932991d3cfef7710cf98f37dc6a92b3fa /src/gprs_bssgp_pcu.cpp | |
parent | cd8a83a42c44a749a801cb53ec8e9888fcd153d0 (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.cpp | 4 |
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 */ |