pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-gprs/+/32736 )
Change subject: sm: Allow passing old RAI during attach
......................................................................
sm: Allow passing old RAI during attach
This is stored by the MS and hence shall be passed by the application.
Change-Id: I13118bed3f7035ff9b4c2c21ed9557f48f5596e6
---
M include/osmocom/gprs/sm/sm_prim.h
M include/osmocom/gprs/sm/sm_private.h
M src/sm/sm.c
M src/sm/sm_prim.c
4 files changed, 16 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/36/32736/1
diff --git a/include/osmocom/gprs/sm/sm_prim.h b/include/osmocom/gprs/sm/sm_prim.h
index baa85ed..0cfc5bb 100644
--- a/include/osmocom/gprs/sm/sm_prim.h
+++ b/include/osmocom/gprs/sm/sm_prim.h
@@ -13,6 +13,7 @@
#include <osmocom/core/prim.h>
#include <osmocom/core/socket.h>
#include <osmocom/gsm/protocol/gsm_23_003.h>
+#include <osmocom/gsm/gsm48.h>
#include <osmocom/gprs/sm/sm.h>
@@ -68,6 +69,7 @@
char imsi[OSMO_IMSI_BUF_SIZE];
char imei[GSM23003_IMEI_NUM_DIGITS + 1];
char imeisv[GSM23003_IMEISV_NUM_DIGITS+1];
+ struct gprs_ra_id old_rai;
} gmm;
} pdp_act_req;
diff --git a/include/osmocom/gprs/sm/sm_private.h b/include/osmocom/gprs/sm/sm_private.h
index 99beaeb..6bf456f 100644
--- a/include/osmocom/gprs/sm/sm_private.h
+++ b/include/osmocom/gprs/sm/sm_private.h
@@ -131,6 +131,7 @@
char imsi[OSMO_IMSI_BUF_SIZE];
char imei[GSM23003_IMEI_NUM_DIGITS + 1];
char imeisv[GSM23003_IMEISV_NUM_DIGITS+1];
+ struct gprs_ra_id ra; /* TS 24.008 10.5.5.15 (decoded) */
} gmm;
};
diff --git a/src/sm/sm.c b/src/sm/sm.c
index 3cddb58..b13559c 100644
--- a/src/sm/sm.c
+++ b/src/sm/sm.c
@@ -196,6 +196,7 @@
OSMO_STRLCPY_ARRAY(gmm_prim_tx->gmmsm.establish_req.imsi, ms->gmm.imsi);
OSMO_STRLCPY_ARRAY(gmm_prim_tx->gmmsm.establish_req.imei, ms->gmm.imei);
OSMO_STRLCPY_ARRAY(gmm_prim_tx->gmmsm.establish_req.imeisv, ms->gmm.imeisv);
+ memcpy(&gmm_prim_tx->gmmsm.establish_req.old_rai, &ms->gmm.ra,
sizeof(ms->gmm.ra));
rc = gprs_sm_prim_call_gmm_down_cb(gmm_prim_tx);
return rc;
diff --git a/src/sm/sm_prim.c b/src/sm/sm_prim.c
index bb5653e..db6b174 100644
--- a/src/sm/sm_prim.c
+++ b/src/sm/sm_prim.c
@@ -276,6 +276,7 @@
OSMO_STRLCPY_ARRAY(ms->gmm.imei, sm_prim->smreg.pdp_act_req.gmm.imei);
if (sm_prim->smreg.pdp_act_req.gmm.imeisv[0] != '\0')
OSMO_STRLCPY_ARRAY(ms->gmm.imeisv, sm_prim->smreg.pdp_act_req.gmm.imeisv);
+ memcpy(&ms->gmm.ra, &sm_prim->smreg.pdp_act_req.gmm.old_rai,
sizeof(ms->gmm.ra));
rc = osmo_fsm_inst_dispatch(sme->ms_fsm.fi, GPRS_SM_MS_EV_TX_ACT_PDP_CTX_REQ, NULL);
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/32736
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I13118bed3f7035ff9b4c2c21ed9557f48f5596e6
Gerrit-Change-Number: 32736
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange