aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-05-17 17:36:23 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-05-17 17:36:23 +0200
commit072bee5c8508fe11e1a0e0ad309ad298661fe586 (patch)
treea8105e2383b12bb385698446bc759d8094d06f0d
parent267fd0c7f7cbdef595d83ee37b86e863fff8a369 (diff)
sgsn: Clear LAC/RAC value for the routing area identity
Clear LAC/RAC with pre-defined value in the RAI. 3GPP 29.060 v7.17.0 section 7.3.1 page 23: "The SGSN may include the Routeing Area Identity (RAI) of the SGSN where the MS is registered. The MCC and MNC components shall be populated with the MCC and MNC, respectively, of the SGSN where the MS is registered. The LAC and RAC components shall be populated by the SGSN with the value of 'FFFE' and 'FF', respectively.”
-rw-r--r--openbsc/src/gprs/sgsn_libgtp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c
index a96eb5c78..52d99aa4f 100644
--- a/openbsc/src/gprs/sgsn_libgtp.c
+++ b/openbsc/src/gprs/sgsn_libgtp.c
@@ -120,6 +120,7 @@ struct sgsn_pdp_ctx *sgsn_create_pdp_ctx(struct sgsn_ggsn_ctx *ggsn,
uint16_t nsapi,
struct tlv_parsed *tp)
{
+ struct gprs_ra_id raid;
struct sgsn_pdp_ctx *pctx;
struct pdp_t *pdp;
uint64_t imsi_ui64;
@@ -230,7 +231,10 @@ struct sgsn_pdp_ctx *sgsn_create_pdp_ctx(struct sgsn_ggsn_ctx *ggsn,
/* Include RAI and ULI all the time */
pdp->rai_given = 1;
pdp->rai.l = 6;
- gsm48_construct_ra(pdp->rai.v, &mmctx->ra);
+ raid = mmctx->ra;
+ raid.lac = 0xFFFE;
+ raid.rac = 0xFF;
+ gsm48_construct_ra(pdp->rai.v, &raid);
pdp->userloc_given = 1;
pdp->userloc.l = 8;