Change in osmo-gsm-manuals[master]: bsc: document handover

2018-11-01 Thread Neels Hofmeyr
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

2018-11-01 Thread Neels Hofmeyr
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

2018-10-31 Thread Harald Welte
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

2018-10-30 Thread Neels Hofmeyr
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

2018-10-30 Thread Neels Hofmeyr
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.
+