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>