add doc/charts/hnbgw_context_map.ladder
Change-Id: Id58c924f5a7f54a210db49147d3ffa8e1d17a614
This commit is contained in:
parent
4abc533bf0
commit
cc54ba8765
|
@ -12,6 +12,10 @@ $(builddir)/%.png: $(srcdir)/%.msc
|
||||||
$(builddir)/%.png: $(srcdir)/%.dot
|
$(builddir)/%.png: $(srcdir)/%.dot
|
||||||
dot -Tpng $< > $@
|
dot -Tpng $< > $@
|
||||||
|
|
||||||
|
$(srcdir)/%.msc: $(srcdir)/%.ladder
|
||||||
|
@which ladder_to_msc.py || (echo 'PLEASE POINT YOUR $$PATH AT libosmocore/contrib/ladder_to_msc.py' && false)
|
||||||
|
ladder_to_msc.py -i $< -o $@
|
||||||
|
|
||||||
.PHONY: poll
|
.PHONY: poll
|
||||||
# remember current dir: in case the build process removes and recreates the dir, re-enter the new dir
|
# remember current dir: in case the build process removes and recreates the dir, re-enter the new dir
|
||||||
W := "$(PWD)"
|
W := "$(PWD)"
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
{hscale=2}
|
||||||
|
hnb = HNB
|
||||||
|
rua = OsmoHNBGW
|
||||||
|
RUA FSM / HNBAP
|
||||||
|
sccp = OsmoHNBGW
|
||||||
|
SCCP FSM
|
||||||
|
cn = CN
|
||||||
|
|
||||||
|
hnb <-> rua RANAP/RUA
|
||||||
|
(Iuh)
|
||||||
|
rua <-> sccp FSM events
|
||||||
|
sccp <-> cn RANAP/SCCP/M3UA
|
||||||
|
(IuCS, IuPS)
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- Create a new context map (always from HNB)
|
||||||
|
hnb -> rua RUA Connect
|
||||||
|
RANAP InitialUE-Message
|
||||||
|
DTAP Location Updating Request
|
||||||
|
rua () sccp hnbgw_context_map_alloc()
|
||||||
|
rua <> . MAP_RUA_ST_INIT
|
||||||
|
sccp <> . MAP_SCCP_ST_INIT
|
||||||
|
rua () . MAP_RUA_EV_RX_CONNECT
|
||||||
|
data = ranap_msg
|
||||||
|
rua <> . MAP_RUA_ST_CONNECTED
|
||||||
|
rua -> sccp MAP_SCCP_EV_TX_RANAP_MSG
|
||||||
|
data = ranap_msg
|
||||||
|
sccp <> . MAP_SCCP_ST_WAIT_CC
|
||||||
|
sccp -> cn SCCP Connection Request
|
||||||
|
RANAP InitialUE-Message
|
||||||
|
DTAP Location Updating Request
|
||||||
|
...
|
||||||
|
sccp <- cn SCCP Connection Confirm
|
||||||
|
sccp <> . MAP_SCCP_ST_CONNECTED
|
||||||
|
--- if SCCP CC with payload
|
||||||
|
rua <- sccp MAP_RUA_EV_TX_RANAP_MSG
|
||||||
|
data = ranap_msg
|
||||||
|
hnb <- rua RUA DirectTransfer
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- Layer 3 communication
|
||||||
|
sccp <- cn SCCP Data Form 1
|
||||||
|
rua <- sccp MAP_RUA_EV_TX_RANAP_MSG
|
||||||
|
data = ranap_msg
|
||||||
|
hnb <- rua RUA DirectTransfer
|
||||||
|
...
|
||||||
|
hnb -> rua RUA DirectTransfer
|
||||||
|
rua -> sccp MAP_SCCP_EV_TX_RANAP_MSG
|
||||||
|
data = ranap_msg
|
||||||
|
sccp -> cn SCCP Data Form 1
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- Usual release
|
||||||
|
sccp <- cn SCCP Data Form 1
|
||||||
|
Iu-ReleaseCommand
|
||||||
|
rua <- sccp MAP_RUA_EV_TX_RANAP_MSG
|
||||||
|
data = ranap_msg
|
||||||
|
hnb <- rua RUA DirectTransfer
|
||||||
|
Iu-ReleaseCommand
|
||||||
|
...
|
||||||
|
hnb -> rua RUA Disconnect
|
||||||
|
Iu-ReleaseComplete
|
||||||
|
rua () . MAP_RUA_EV_RX_DISCONNECT
|
||||||
|
rua <> . MAP_RUA_ST_DISCONNECTED
|
||||||
|
rua -> sccp MAP_SCCP_EV_RAN_DISC
|
||||||
|
data = ranap_msg
|
||||||
|
sccp -> cn SCCP Data Form 1
|
||||||
|
Iu-ReleaseComplete
|
||||||
|
NOT 'SCCP Released'! See 3GPP TS 48.006 9.2
|
||||||
|
sccp <> . MAP_SCCP_ST_WAIT_RLSD
|
||||||
|
...
|
||||||
|
sccp <- cn SCCP Released
|
||||||
|
sccp <> . MAP_SCCP_ST_DISCONNECTED
|
||||||
|
rua () sccp map_check_released()
|
||||||
|
rua () sccp hnbgw_context_map_free()
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- Ungraceful release from CN
|
||||||
|
sccp <- cn SCCP Released
|
||||||
|
sccp -> cn SCCP Release Complete
|
||||||
|
(implicit by libosmo-sigtran)
|
||||||
|
sccp () . MAP_SCCP_EV_RX_RELEASED
|
||||||
|
sccp [] . In SCCP there is no "link loss".
|
||||||
|
In every case, we will be notified
|
||||||
|
via N-Disconnect prim per SCCP conn.
|
||||||
|
sccp <> . MAP_SCCP_ST_DISCONNECTED
|
||||||
|
rua <- sccp MAP_RUA_EV_CN_DISC
|
||||||
|
hnb <- rua RUA Disconnect
|
||||||
|
rua <> . MAP_RUA_ST_DISCONNECTED
|
||||||
|
rua () sccp map_check_released()
|
||||||
|
rua () sccp hnbgw_context_map_free()
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- PCSTATE handling
|
||||||
|
sccp <-- cn N-PCSTATE.indication
|
||||||
|
point-code unreachable
|
||||||
|
sccp [] . currently ignored
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- Ungraceful release from HNB
|
||||||
|
hnb ->< rua link loss
|
||||||
|
rua () . MAP_RUA_EV_HNB_LINK_LOST
|
||||||
|
rua -> sccp MAP_SCCP_EV_RAN_DISC
|
||||||
|
sccp -> cn SCCP Released
|
||||||
|
sccp <> . MAP_SCCP_ST_DISCONNECTED
|
||||||
|
rua <> . MAP_RUA_ST_DISCONNECTED
|
||||||
|
rua () sccp map_check_released()
|
||||||
|
rua () sccp hnbgw_context_map_free()
|
||||||
|
|
||||||
|
...
|
||||||
|
...
|
||||||
|
--- Ungraceful release from HNB De-Register
|
||||||
|
hnb -> rua HNBAP HNB De-Register
|
||||||
|
--- or
|
||||||
|
hnb -> rua HNBAP HNB Register
|
||||||
|
(HNB restarted)
|
||||||
|
---
|
||||||
|
rua () . MAP_RUA_EV_HNB_LINK_LOST
|
||||||
|
hnb <- rua RUA Disconnect
|
||||||
|
hnb [] rua TODO: does it make sense to send
|
||||||
|
RUA Disconnect per context when HNB is/was gone?
|
||||||
|
Or has the HNB implicitly discarded these?
|
||||||
|
rua <> . MAP_RUA_ST_DISCONNECTED
|
||||||
|
rua -> sccp MAP_SCCP_EV_RAN_DISC
|
||||||
|
from map_rua_disconnected_onenter()
|
||||||
|
sccp <> . MAP_SCCP_ST_WAIT_RLSD
|
||||||
|
rua -> sccp MAP_SCCP_EV_RAN_DISC
|
||||||
|
to skip waiting for SCCP Released from CN
|
||||||
|
sccp -> cn SCCP Released
|
||||||
|
sccp <> . MAP_SCCP_ST_DISCONNECTED
|
||||||
|
rua () sccp map_check_released()
|
||||||
|
rua () sccp hnbgw_context_map_free()
|
Loading…
Reference in New Issue