diff options
Diffstat (limited to 'doc/manuals/message-sequences')
4 files changed, 157 insertions, 2 deletions
diff --git a/doc/manuals/message-sequences/a_interface_bringup.msc b/doc/manuals/message-sequences/a_interface_bringup.msc new file mode 100644 index 000000000..165262167 --- /dev/null +++ b/doc/manuals/message-sequences/a_interface_bringup.msc @@ -0,0 +1,31 @@ +msc { + hscale=2; + bsc[label="BSC"], stp[label="STP"], _msc[label="MSC"]; + + |||; + ||| [label="We assume the MSC is already well connected to the STP and MGW(CN)"]; + + --- [label="SCTP/IP level establishment"]; + bsc =>> stp [label="SCTP INIT"]; + bsc <<= stp [label="SCTP INIT_ACK"]; + bsc =>> stp [label="SCTP COOKIE_ECHO"]; + bsc <<= stp [label="SCTP COOKIE_ACK"]; + ||| [label="SCTP payload can now be carried over the link"]; + |||; + |||; + --- [label="M3UA level establishment (over SCTP)"]; + bsc =>> stp [label="M3UA ASPUP"]; + bsc <<= stp [label="M3UA ASPUP_ACK"]; + bsc =>> stp [label="M3UA ASPAC (routing context)"]; + bsc <<= stp [label="M3UA ASPAC_ACK (routing context)"]; + bsc <<= stp [label="M3UA NTFY (AS-ACTIVE)"]; + ||| [label="M3UA payload can now be carried over the link"]; + |||; + --- [label="BSSMAP level establishment (over SCCP/M3UA/SCTP)"]; + bsc =>> _msc [label="BSSMAP RESET (OPC=BSC, DPC=MSC)"]; + bsc <<= _msc [label="BSSMAP RESET ACK (OPC=MSC, DPC=BSC)"]; + ||| [label="BSSMAP connection-oriented data can now be exchanged"]; + |||; + --- [label="Repeat BSSMAP level establishment (to other MSCs in the pool)"]; + |||; +} diff --git a/doc/manuals/message-sequences/location_services_ta.msc b/doc/manuals/message-sequences/location_services_ta.msc new file mode 100644 index 000000000..e6bef38ef --- /dev/null +++ b/doc/manuals/message-sequences/location_services_ta.msc @@ -0,0 +1,49 @@ +msc { + hscale="2"; + + ms[label="MS/BTS"],bsc[label="BSC"],smlc[label="SMLC"],__msc[label="MSC"]; + + ||| [label="Location Services (LCS): Perform Location Request using TA"]; + + |||; + --- [label="MS in DEDICATED MODE (currently active)"]; + + ms =>> bsc [label="earlier Measurement Report provides Timing Advance"]; + + bsc <<= __msc [label="PERFORM LOCATION REQUEST\n3GPP TS 48.008 3.2.1.71"]; + + bsc =>> smlc [label="BSSMAP-LE PERFORM LOCATION REQUEST\n3GPP TS 49.031 9.1\nwith BSSLAP APDU = TA Layer3\n3GPP TS 48.071 4.2.8"]; + + smlc rbox smlc [label="SMLC uses TA included in TA Layer3"]; + + bsc <<= smlc [label="BSSMAP-LE PERFORM LOCATION RESPONSE\n3GPP TS 49.031 9.2"]; + + bsc =>> __msc [label="PERFORM LOCATION RESPONSE\n3GPP TS 48.008 3.2.1.72"]; + + ...; + ...; + --- [label="MS in IDLE MODE (not connected)"]; + + bsc <<= __msc [label="PERFORM LOCATION REQUEST\n3GPP TS 48.008 3.2.1.71"]; + + bsc =>> smlc [label="BSSMAP-LE PERFORM LOCATION REQUEST\n3GPP TS 49.031 9.1"]; + + smlc rbox smlc [label="SMLC needs TA information,\nasks BSC via BSSLAP"]; + + bsc <<= smlc [label="BSSMAP-LE CONNECTION ORIENTED INFORMATION\n3GPP TS 49.031 9.12\nwith BSSLAP APDU = TA Request\n3GPP TS 48.071 4.2.1"]; + + + ms <<= bsc [label="RR Paging Request\n3GPP TS 48.018 9.1.22-24"]; + + ms =>> bsc [label="RSL CHANNEL REQUIRED\n3GPP TS 48.058 8.5.3\nincludes Access Delay (9.3.17) == Timing Advance"]; + + ms =>> bsc [label="RR Paging Response\n3GPP TS 48.018 9.1.25"]; + + ms <<= bsc [label="RF CHANNEL RELEASE\n3GPP TS 48.058 8.4.14"]; + + bsc =>> smlc [label="BSSMAP-LE CONNECTION ORIENTED INFORMATION\n3GPP TS 49.031 9.12\nwith BSSLAP APDU = TA Response\n3GPP TS 48.071 4.2.2"]; + + bsc <<= smlc [label="BSSMAP-LE PERFORM LOCATION RESPONSE\n3GPP TS 49.031 9.2"]; + + bsc =>> __msc [label="PERFORM LOCATION RESPONSE\n3GPP TS 48.008 3.2.1.72"]; +} diff --git a/doc/manuals/message-sequences/mo_call-abis_a.msc b/doc/manuals/message-sequences/mo_call-abis_a.msc index ba7f0aa18..2d988fcf3 100644 --- a/doc/manuals/message-sequences/mo_call-abis_a.msc +++ b/doc/manuals/message-sequences/mo_call-abis_a.msc @@ -85,8 +85,8 @@ linecolor="green"]; ...; --- [label="BSC finally can report successful TCH assignment"]; - bsc -> m_sc [label="SCCP DT1 (BSSMAP ASSGN CMPL (3GPP AoIP MGW:3000))"]; - m_sc box m_sc [label="Connect remote RTP to MGW addr from ASSGN CMPL"]; + bsc -> m_sc [label="SCCP DT1 (BSSMAP ASSIGN CMPL (3GPP AoIP MGW:3000))"]; + m_sc box m_sc [label="Connect remote RTP to MGW addr from ASSIGN CMPL"]; ...; mgw <-> m_sc [label="RTP Audio MGW:3000 MSC:4000", textcolor="blue", linecolor="blue"]; diff --git a/doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc b/doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc new file mode 100644 index 000000000..55fd6cd2f --- /dev/null +++ b/doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc @@ -0,0 +1,75 @@ +# MO-Call with OsmoBTS + OsmoBSC with true 3GPP AoIP +msc { + hscale=2; + ms [label="MS"], bts [label="OsmoBTS\n1.1.1.1"], bsc[label="OsmoBSC"], mgcp[label="OsmoMGW@BSC\n3.3.3.3"], m_sc[label="MSC"], mgw_m[label="MGW@MSC\n5.5.5.5"]; + + ms box m_sc [label="We assume a SDCCH is already established"]; + ...; + + ms -> m_sc [label="DTAP CC SETUP"]; + ms <- m_sc [label="DTAP CC CALL PROCEEDING"]; + + m_sc -> mgw_m [label="Request allocation of local RTP port"]; + m_sc <- mgw_m [label="Respond with RTP port the MGW bound to (5.5.5.5:4000)"]; + bsc <- m_sc [label="BSSAP ASSIGN REQ (3GPP AoIP, CN RTP IP/Port 5.5.5.5:4000)"]; + bts <- bsc [label="RSL CHAN ACT (TCH)"]; + bts -> bsc [label="RSL CHAN ACT ACK"]; + ms <-> bsc [label="RR Assignment of TCH"]; + ...; + + # connect BTS RTP with BSC-MGW RTP + bts <- bsc [label="IPA CRCX"]; + bts box bts [label="Bind to BTS-local RTP Port (1.1.1.1:1000)"]; + bts -> bsc [label="IPA CRCX ACK (1.1.1.1:1000)"]; + bsc -> mgcp [label="MGCP CRCX rtpbridge/2@mgw (1.1.1.1:1000)"]; + mgcp box mgcp [label="Bind to MGW-local RTP Port (3.3.3.3:2000)\nConnect to 1.1.1.1:1000"]; + bsc <- mgcp [label="MGCP CRCX rtpbridge/2@mgw OK (3.3.3.3:2000)"]; + bts <- bsc [label="IPA MDCX (3.3.3.3:2000)"]; + bts box bts [label="Connect RTP socket to remote (MGW) RTP Port"]; + bts -> bsc [label="IPA MDCX ACK"]; + bsc -> mgcp [label="MGCP MDCX rtpbridge/2@mgw (optional)"]; + bsc <- mgcp [label="MGCP MDCX rtpbridge/2@mgw OK (optional)"]; + ...; + + mgcp <- bsc [label="MGCP CRCX rtpbridge/2@mgw (5.5.5.5:4000)"]; + mgcp box mgcp [label="Bind to MGW-local RTP Port (3.3.3.3:3000)\nConnect to 5.5.5.5:4000"]; + mgcp -> bsc [label="MGCP CRCX rtpbridge/2@mgw OK (3.3.3.3:3000)"]; + ...; + + bsc -> m_sc [label="BSSAP ASSIGN CMPL (3GPP AoIP 3.3.3.3:3000)"]; + m_sc -> mgw_m [label="Request MGW to connect RTP to remote endpoint 3.3.3.3:3000"]; + mgw_m box mgw_m [label="Connect RTP to 3.3.3.3:3000"]; + ...; + + mgcp <=> mgw_m [label="RTP Audio 3.3.3.3:3000 5.5.5.5:4000"]; + bts <=> mgcp [label="RTP Audio 1.1.1.1:1000 3.3.3.3:2000"]; + ms <=> bts [label="Um Audio (bidirectional)"]; + ms <-> m_sc [label="DTAP CC ALERTING"]; + ...; + + ms <- m_sc [label="DTAP CC CONNECT"]; + ms -> m_sc [label="DTAP CC CONNECT ACK"]; + --- [label="Voice Call in Progress"]; + ms <- m_sc [label="DTAP CC DISCONNET"]; + ms <- m_sc [label="DTAP CC RELEASE"]; + ms <- m_sc [label="DTAP CC RELEASE COMPL"]; + ...; + bsc <- m_sc [label="BSSMAP CLEAR CMD"]; + m_sc -> mgw_m [label="Request release RTP port/termination"]; + mgw_m box mgw_m [label="Release RTP port 5.5.5.5:4000"]; + bsc -> m_sc [label="BSSMAP CLEAR COMPL"]; + bsc <- m_sc [label="SCCP RLSD"]; + bsc -> m_sc [label="SCCP RLC"]; + ...; + mgcp <- bsc [label="MGCP DLCX rtpbridge/2@mgw"]; + mgcp box mgcp [label="Release MSC-facing local RTP port (3.3.3.3:3000)"]; + mgcp -> bsc [label="MGCP DLCX rtpbridge/2@mgw OK"]; + + mgcp <- bsc [label="MGCP DLCX rtpbridge/2@mgw"]; + mgcp box mgcp [label="Release BTS-facing local RTP port (3.3.3.3:2000)"]; + mgcp -> bsc [label="MGCP DLCX rtpbridge/2@mgw OK"]; + + bts <- bsc [label="IPA DLCX"]; + bts box bts [label="Release BTS-local RTP port (1.1.1.1:1000)"]; + bts -> bsc [label="IPA DLCX OK"]; +} |