Change in osmo-gsm-manuals[master]: bsc: document handover
Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/11532 to look at the new patch set (#3). Change subject: bsc: document handover .. bsc: document handover Add chapter "Handover", explaining: - intra- and - inter-BSC handover, - HO algorithm 1 and - algorithm 2 - new neighbor configuration Adjust copyright, add revision and add me as author. Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 --- M OsmoBSC/Makefile A OsmoBSC/chapters/handover.adoc A OsmoBSC/chapters/handover_inter_bsc.dot A OsmoBSC/chapters/handover_intra_bsc.dot M OsmoBSC/osmobsc-usermanual-docinfo.xml M OsmoBSC/osmobsc-usermanual.adoc 6 files changed, 642 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/32/11532/3 -- To view, visit https://gerrit.osmocom.org/11532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 Gerrit-Change-Number: 11532 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (102)
Change in osmo-gsm-manuals[master]: bsc: document handover
Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/11532 ) Change subject: bsc: document handover .. bsc: document handover Add chapter "Handover", explaining: - intra- and - inter-BSC handover, - HO algorithm 1 and - algorithm 2 - new neighbor configuration Adjust copyright, add revision and add me as author. Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 --- M OsmoBSC/Makefile A OsmoBSC/chapters/handover.adoc A OsmoBSC/chapters/handover_inter_bsc.dot A OsmoBSC/chapters/handover_intra_bsc.dot M OsmoBSC/osmobsc-usermanual-docinfo.xml M OsmoBSC/osmobsc-usermanual.adoc 6 files changed, 642 insertions(+), 2 deletions(-) diff --git a/OsmoBSC/Makefile b/OsmoBSC/Makefile index 1533482..b9f50d0 100644 --- a/OsmoBSC/Makefile +++ b/OsmoBSC/Makefile @@ -2,7 +2,7 @@ ASCIIDOC = osmobsc-usermanual.adoc osmux-reference.adoc aoip-mgw-options.adoc include $(TOPDIR)/build/Makefile.asciidoc.inc -osmobsc-usermanual.pdf: chapters/*.adoc +osmobsc-usermanual.pdf: chapters/*.adoc chapters/*.dot aoip-mgw-options.pdf: aoip-mgw-options.adoc mgw/*.msc VTY_REFERENCE = osmobsc-vty-reference.xml diff --git a/OsmoBSC/chapters/handover.adoc b/OsmoBSC/chapters/handover.adoc new file mode 100644 index 000..1120690 --- /dev/null +++ b/OsmoBSC/chapters/handover.adoc @@ -0,0 +1,552 @@ +== Handover + +Handover is the process of moving a continuously used channel (lchan) from one +cell to another. Usually, that is an ongoing call, so that phones are able to +move across cell coverage areas without interrupting the voice transmission. + +A handover can + +- stay within one given cell (intra-cell, i.e. simply a new RR Assignment Command); +- occur between two cells that belong to the same BSS (intra-BSC, via RR Handover Command); +- cross BSS boundaries (inter-BSC, via BSSMAP handover procedures); +- move to another MSC (inter-MSC, inter-PLMN); +- move to another RAN type, e.g. from 2G to 3G (inter-RAT, inter-Radio-Access-Technology). + +The physical distance is by definition always very near, but handover +negotiation may range from being invisible to the MSC all the way to +orchestrating completely separate RAN stacks. + +OsmoBSC currently supports handover within one BSS and between separate BSS. +Whether inter-MSC is supported depends on the MSC implementation (to the BSC, +inter-MSC handover looks identical to inter-BSC handover). Inter-RAT handover +is currently not implemented. + +At the time of writing, OsmoMSC's inter-BSC handover support is not complete +yet, so OsmoBSC can perform handover between separate BSS only in conjunction +with a 3rd party MSC implementation. + +.Handover support in Osmocom at the time of writing +[cols="^,^,^,^,^"] +| +| | intra-BSC HO (local BSS) | inter-BSC HO (remote BSS) | inter-MSC HO | inter-RAT HO +| OsmoBSC | rxlev, load-based | rxlev | (planned) | - +| OsmoMSC | (not involved, except for codec changes) | (planned) | (planned) | - +| + + +=== How Handover Works + +This chapter generally explains handover operations between 2G cells. + + Internal / Intra-BSC Handover + +The BSS is configured to know which cell is physically adjacent to which other +cells, its "neighbors". On the MS/BTS/BSS level, individual cells are +identified by ARFCN+BSIC (frequency + 6-bit identification code). + +Each BTS is told by the BSC which cells identified by ARFCN+BSIC are its +adjacent cells. Via System Information, each MS receives a list of these +ARFCN+BSIC, and the MS then return measurements of reception levels. + +The BSC is the point of decision whether to do handover or not. This can be a +hugely complex combination of heuristics, knowledge of cell load and codec +capabilites. The most important indicator for handover though is: does an MS +report a neighbor with a better signal than the current cell? See +<>. + +[[intra_bsc_ho_dot]] +.Intra-BSC Handover stays within the BSS (shows steps only up to activation of the new lchan -- this would be followed by an RR Handover Command, RACH causing Handover Detection, Handover Complete, ...) +[graphviz] + +include::handover_intra_bsc.dot[] + + +If the BSC sees the need for handover, it will: + +- activate a new lchan (with a handover reference ID), +- send an RR Handover Command to the current lchan, and +- wait for the MS to send a Handover RACH to the new lchan ("Handover Detect"). +- The RTP stream then is switched over to the new lchan, +- an RSL Establish Indication is expected on the new lchan, +- and the old lchan is released. + +Should handover fail at any point, e.g. the new lchan never receives a RACH, or +the MS reports a Handover Failure, then the new lchan is simply released again, +and the old lchan remains in use. If the RTP stream has already been switched +over to the new lchan, it may actually be switched back to the old lchan. + +This is simple enough if the new cell is managed by the same BSC:
Change in osmo-gsm-manuals[master]: bsc: document handover
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11532 ) Change subject: bsc: document handover .. Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/11532/2/OsmoBSC/chapters/handover.adoc File OsmoBSC/chapters/handover.adoc: https://gerrit.osmocom.org/#/c/11532/2/OsmoBSC/chapters/handover.adoc@12 PS2, Line 12: - move to another MSC (inter-MSC); strictly speaking, there's also inter-PLMN hand-over, but AFAIK it's only a normal inter-MSC HO with a fancy name -- To view, visit https://gerrit.osmocom.org/11532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 Gerrit-Change-Number: 11532 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (102) Gerrit-Comment-Date: Wed, 31 Oct 2018 08:12:29 + Gerrit-HasComments: Yes Gerrit-HasLabels: Yes
Change in osmo-gsm-manuals[master]: bsc: document handover
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/11532 to look at the new patch set (#2). Change subject: bsc: document handover .. bsc: document handover Add chapter "Handover", explaining: - intra- and - inter-BSC handover, - HO algorithm 1 and - algorithm 2 - new neighbor configuration Adjust copyright, add revision and add me as author. Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 --- M OsmoBSC/Makefile A OsmoBSC/chapters/handover.adoc A OsmoBSC/chapters/handover_inter_bsc.dot A OsmoBSC/chapters/handover_intra_bsc.dot M OsmoBSC/osmobsc-usermanual-docinfo.xml M OsmoBSC/osmobsc-usermanual.adoc 6 files changed, 642 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/32/11532/2 -- To view, visit https://gerrit.osmocom.org/11532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 Gerrit-Change-Number: 11532 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (102)
Change in osmo-gsm-manuals[master]: bsc: document handover
Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/11532 Change subject: bsc: document handover .. bsc: document handover Add chapter "Handover", explaining: - intra- and - inter-BSC handover, - HO algorithm 1 and - algorithm 2 - new neighbor configuration Adjust copyright, add revision and add me as author. Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2 --- M OsmoBSC/Makefile A OsmoBSC/chapters/handover.adoc A OsmoBSC/chapters/handover_inter_bsc.dot A OsmoBSC/chapters/handover_intra_bsc.dot M OsmoBSC/osmobsc-usermanual-docinfo.xml M OsmoBSC/osmobsc-usermanual.adoc 6 files changed, 642 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/32/11532/1 diff --git a/OsmoBSC/Makefile b/OsmoBSC/Makefile index 1533482..b9f50d0 100644 --- a/OsmoBSC/Makefile +++ b/OsmoBSC/Makefile @@ -2,7 +2,7 @@ ASCIIDOC = osmobsc-usermanual.adoc osmux-reference.adoc aoip-mgw-options.adoc include $(TOPDIR)/build/Makefile.asciidoc.inc -osmobsc-usermanual.pdf: chapters/*.adoc +osmobsc-usermanual.pdf: chapters/*.adoc chapters/*.dot aoip-mgw-options.pdf: aoip-mgw-options.adoc mgw/*.msc VTY_REFERENCE = osmobsc-vty-reference.xml diff --git a/OsmoBSC/chapters/handover.adoc b/OsmoBSC/chapters/handover.adoc new file mode 100644 index 000..3c9204e --- /dev/null +++ b/OsmoBSC/chapters/handover.adoc @@ -0,0 +1,552 @@ +== Handover + +Handover is the process of moving a continuously used channel (lchan) from one +cell to another. Usually, that is an ongoing call, so that phones are able to +move across cell coverage areas without interrupting the voice transmission. + +A handover can + +- stay within one given cell (intra-cell, i.e. simply a new RR Assignment Command); +- occur between two cells that belong to the same BSS (intra-BSC, via RR Handover Command); +- cross BSS boundaries (inter-BSC, via BSSMAP handover procedures); +- move to another MSC (inter-MSC); +- move to another RAN type, e.g. from 2G to 3G (inter-RAT, inter-Radio-Access-Technology). + +The physical distance is by definition always very near, but handover +negotiation may range from being invisible to the MSC all the way to +orchestrating completely separate RAN stacks. + +OsmoBSC currently supports handover within one BSS and between separate BSS. +Whether inter-MSC is supported depends on the MSC implementation (to the BSC, +inter-MSC handover looks identical to inter-BSC handover). Inter-RAT handover +is currently not implemented. + +At the time of writing, OsmoMSC's inter-BSC handover support is not complete +yet, so OsmoBSC can perform handover between separate BSS only in conjunction +with a 3rd party MSC implementation. + +.Handover support in Osmocom at the time of writing +[cols="^,^,^,^,^"] +| +| | intra-BSC HO (local BSS) | inter-BSC HO (remote BSS) | inter-MSC HO | inter-RAT HO +| OsmoBSC | rxlev, load-based | rxlev | (planned) | - +| OsmoMSC | (not involved, except for codec changes) | (planned) | (planned) | - +| + + +=== How Handover Works + +This chapter generally explains handover operations between 2G cells. + + Internal / Intra-BSC Handover + +The BSS is configured to know which cell is physically adjacent to which other +cells, its "neighbors". On the MS/BTS/BSS level, individual cells are +identified by ARFCN+BSIC (frequency + 6-bit identification code). + +Each BTS is told by the BSC which cells identified by ARFCN+BSIC are its +adjacent cells. Via System Information, each MS receives a list of these +ARFCN+BSIC, and the MS then return measurements of reception levels. + +The BSC is the point of decision whether to do handover or not. This can be a +hugely complex combination of heuristics, knowledge of cell load and codec +capabilites. The most important indicator for handover though is: does an MS +report a neighbor with a better signal than the current cell? See +<>. + +[[intra_bsc_ho_dot]] +.Intra-BSC Handover stays within the BSS (shows steps only up to activation of the new lchan -- this would be followed by an RR Handover Command, RACH causing Handover Detection, Handover Complete, ...) +[graphviz] + +include::handover_intra_bsc.dot[] + + +If the BSC sees the need for handover, it will: + +- activate a new lchan (with a handover reference ID), +- send an RR Handover Command to the current lchan, and +- wait for the MS to send a Handover RACH to the new lchan ("Handover Detect"). +- The RTP stream then is switched over to the new lchan, +- an RSL Establish Indication is expected on the new lchan, +- and the old lchan is released. + +Should handover fail at any point, e.g. the new lchan never receives a RACH, or +the MS reports a Handover Failure, then the new lchan is simply released again, +and the old lchan remains in use. If the RTP stream has already been switched +over to the new lchan, it may actually be switched back to the old lchan. +