This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgNeels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/11314
Change subject: handover_fsm: adjust inter-BSC HO failure handling to spec
......................................................................
handover_fsm: adjust inter-BSC HO failure handling to spec
Inter-BSC outgoing lacked the required BSSMAP HO Failure dispatch.
Not all cases should send BSSMAP HO Failure, name the relevant spec paragraphs
in comments and adjust handling.
Related: osmo-ttcn3-hacks If772dbbc5f9790d3f911465e1303dd0a99811154
Change-Id: I0980cacb9713e41a1eef3a0a7f6cc892e8a20da5
---
M src/osmo-bsc/handover_fsm.c
1 file changed, 33 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/14/11314/1
diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c
index 90d5f6c..4286084 100644
--- a/src/osmo-bsc/handover_fsm.c
+++ b/src/osmo-bsc/handover_fsm.c
@@ -40,6 +40,7 @@
#include <osmocom/bsc/osmo_bsc_lcls.h>
#include <osmocom/bsc/mgw_endpoint_fsm.h>
#include <osmocom/bsc/codec_pref.h>
+#include <osmocom/bsc/gsm_08_08.h>
#define LOG_FMT_BTS "bts %u lac-ci %u-%u arfcn-bsic %d-%d"
#define LOG_ARGS_BTS(bts) \
@@ -697,9 +698,39 @@
result = HO_RESULT_ERROR;
} else
result = bsc_tx_bssmap_ho_complete(conn, ho->new_lchan);
- } else {
+ }
+ /* Not 'else': above checks may still result in HO_RESULT_ERROR. */
+ if (result == HO_RESULT_ERROR) {
+ /* Return a BSSMAP Handover Failure, as described in 3GPP TS 48.008 3.1.5.2.2
+ * "Handover Resource Allocation Failure" */
bsc_tx_bssmap_ho_failure(conn);
- /* TODO: Also send BSSMAP Clear Request? */
+ }
+ } else if (ho->scope & HO_INTER_BSC_OUT) {
+ switch (result) {
+ case HO_RESULT_OK:
+ break;
+ case HO_RESULT_FAIL_RR_HO_FAIL:
+ /* Return a BSSMAP Handover Failure, as described in 3GPP TS 48.008 3.1.5.3.2
+ * "Handover Failure" */
+ bsc_tx_bssmap_ho_failure(conn);
+ break;
+ default:
+ case HO_RESULT_FAIL_TIMEOUT:
+ switch (ho->fi->state) {
+ case HO_OUT_ST_WAIT_HO_COMMAND:
+ /* MSC never replied with a Handover Command. Fail and ignore the
+ * handover, continue to use the lchan. */
+ break;
+ default:
+ case HO_OUT_ST_WAIT_CLEAR:
+ /* 3GPP TS 48.008 3.1.5.3.3 "Abnormal Conditions": if neither MS reports
+ * HO Failure nor the MSC sends a Clear Command, we should release the
+ * dedicated radio resources and send a Clear Request to the MSC. */
+ lchan_release(conn->lchan, false, true, GSM48_RR_CAUSE_ABNORMAL_TIMER);
+ /* Once the channel release is through, the BSSMAP Clear will follow. */
+ break;
+ }
+ break;
}
}
--
To view, visit https://gerrit.osmocom.org/11314
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0980cacb9713e41a1eef3a0a7f6cc892e8a20da5
Gerrit-Change-Number: 11314
Gerrit-PatchSet: 1
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181011/451e4f5a/attachment.htm>