summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas.Eversberg2010-06-12 20:44:21 +0200
committerAndreas.Eversberg2010-06-12 20:44:21 +0200
commitbba7716feeda0681bc11229f80ab7eb516293319 (patch)
tree17726c6b596266d92383243c802925e70159a926 /src
parentFixed ARFCN output on sysinfo dumping. (diff)
downloadosmocom-bba7716feeda0681bc11229f80ab7eb516293319.tar.gz
osmocom-bba7716feeda0681bc11229f80ab7eb516293319.tar.xz
osmocom-bba7716feeda0681bc11229f80ab7eb516293319.zip
Added more release cases between RR and MM layer.
Diffstat (limited to 'src')
-rw-r--r--src/host/layer23/include/osmocom/gsm48_rr.h12
-rw-r--r--src/host/layer23/src/gsm48_mm.c3
-rw-r--r--src/host/layer23/src/gsm48_rr.c6
3 files changed, 13 insertions, 8 deletions
diff --git a/src/host/layer23/include/osmocom/gsm48_rr.h b/src/host/layer23/include/osmocom/gsm48_rr.h
index dd87ed0..cde5433 100644
--- a/src/host/layer23/include/osmocom/gsm48_rr.h
+++ b/src/host/layer23/include/osmocom/gsm48_rr.h
@@ -31,11 +31,13 @@
#define RR_EST_CAUSE_OTHER_SDCCH 13
#define RR_REL_CAUSE_UNDEFINED 0
-#define RR_REL_CAUSE_NOT_AUTHORIZED 1
-#define RR_REL_CAUSE_RA_FAILURE 2
-#define RR_REL_CAUSE_T3122 3
-#define RR_REL_CAUSE_TRY_LATER 4
-#define RR_REL_CAUSE_EMERGENCY_ONLY 5
+#define RR_REL_CAUSE_NORMAL 1
+#define RR_REL_CAUSE_NOT_AUTHORIZED 2
+#define RR_REL_CAUSE_RA_FAILURE 3
+#define RR_REL_CAUSE_T3122 4
+#define RR_REL_CAUSE_TRY_LATER 5
+#define RR_REL_CAUSE_EMERGENCY_ONLY 6
+#define RR_REL_CAUSE_LOST_SIGNAL 7
#define L3_ALLOC_SIZE 256
#define L3_ALLOC_HEADROOM 64
diff --git a/src/host/layer23/src/gsm48_mm.c b/src/host/layer23/src/gsm48_mm.c
index 6c3de62..75e6291 100644
--- a/src/host/layer23/src/gsm48_mm.c
+++ b/src/host/layer23/src/gsm48_mm.c
@@ -3084,6 +3084,9 @@ static int gsm48_mm_abort_mm_con(struct osmocom_ms *ms, struct msgb *msg)
case RR_REL_CAUSE_TRY_LATER:
cause = 34;
break;
+ case RR_REL_CAUSE_NORMAL:
+ cause = 16;
+ break;
default:
cause = 47;
}
diff --git a/src/host/layer23/src/gsm48_rr.c b/src/host/layer23/src/gsm48_rr.c
index 8069746..aa4f864 100644
--- a/src/host/layer23/src/gsm48_rr.c
+++ b/src/host/layer23/src/gsm48_rr.c
@@ -2922,7 +2922,7 @@ int gsm48_rr_los(struct osmocom_ms *ms)
if (!nmsg)
return -ENOMEM;
nrrh = (struct gsm48_rr_hdr *)nmsg->data;
- nrrh->cause = RR_REL_CAUSE_UNDEFINED;
+ nrrh->cause = RR_REL_CAUSE_LOST_SIGNAL;
gsm48_rr_upmsg(ms, nmsg);
return 0;
@@ -3053,7 +3053,7 @@ static int gsm48_rr_rel_ind(struct osmocom_ms *ms, struct msgb *msg)
if (!nmsg)
return -ENOMEM;
nrrh = (struct gsm48_rr_hdr *)nmsg->data;
- nrrh->cause = RR_REL_CAUSE_UNDEFINED;
+ nrrh->cause = RR_REL_CAUSE_NORMAL;
gsm48_rr_upmsg(ms, nmsg);
/* start release timer, so UA will be transmitted */
@@ -3547,7 +3547,7 @@ static int gsm48_rr_rel_cnf(struct osmocom_ms *ms, struct msgb *msg)
if (!nmsg)
return -ENOMEM;
nrrh = (struct gsm48_rr_hdr *)nmsg->data;
- nrrh->cause = RR_REL_CAUSE_UNDEFINED;
+ nrrh->cause = RR_REL_CAUSE_NORMAL;
gsm48_rr_upmsg(ms, nmsg);
/* return idle */