aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2023-03-08 02:50:26 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2023-03-09 01:56:33 +0100
commitc5572acb73859937ff23ff826dc6826f0c2f858c (patch)
tree8311397c5496f3b65125f3f7133dec646a37873f /doc
parentec9a022dcfe1708656461364f3083b9896c25b05 (diff)
add voice_call_internal_mncc.msc
Same as voice_call_external_mncc.msc, but run with internal MNCC. Shows some curious differences like the MNCC_LCHAN_MODIFY that internal MNCC sends, but external doesn't. Change-Id: Ic003322dc4e3fce24a8413688cfe18198a4dc08a
Diffstat (limited to 'doc')
-rw-r--r--doc/sequence_charts/Makefile.am1
-rw-r--r--doc/sequence_charts/voice_call_internal_mncc.msc129
2 files changed, 130 insertions, 0 deletions
diff --git a/doc/sequence_charts/Makefile.am b/doc/sequence_charts/Makefile.am
index f71d93476..7a5277643 100644
--- a/doc/sequence_charts/Makefile.am
+++ b/doc/sequence_charts/Makefile.am
@@ -16,6 +16,7 @@ msc: \
$(builddir)/inter_bsc_ho.png \
$(builddir)/inter_msc_ho.png \
$(builddir)/voice_call_external_mncc.png \
+ $(builddir)/voice_call_internal_mncc.png \
$(builddir)/call_reestablishment.png \
$(NULL)
diff --git a/doc/sequence_charts/voice_call_internal_mncc.msc b/doc/sequence_charts/voice_call_internal_mncc.msc
new file mode 100644
index 000000000..69af60ed0
--- /dev/null
+++ b/doc/sequence_charts/voice_call_internal_mncc.msc
@@ -0,0 +1,129 @@
+# Generated by osmo-msc.git/doc/sequence_charts/msc_log_to_ladder.py
+msc {
+hscale="3";
+moms[label="MS,BSS (MO)\nUE,hNodeB (MO)"],momgw[label="MGW for MSC (MO)"],momsc[label="MSC (MO)"],mncc[label="MNCC"],mtmsc[label="MSC (MT)"],mtmgw[label="MGW for MSC (MT)"],mtms[label="BSS,MS (MT)\nhNodeB,UE (MT)"];
+moms =>> momsc [label="(BSSMAP) Complete Layer 3 Information"];
+moms =>> momsc [label="MM CM_SERV_REQ"];
+moms <<= momsc [label="MM AUTH_REQ"];
+moms =>> momsc [label="MM AUTH_RESP"];
+moms <<= momsc [label="(BSSMAP) CIPHER_MODE_COMMAND"];
+moms =>> momsc [label="(BSSMAP) Ciphering Mode Complete"];
+moms <<= momsc [label="(BSSMAP) COMMON_ID"];
+moms =>> momsc [label="RR CIPH_M_COMPL"];
+moms =>> momsc [label="CC SETUP"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+momsc abox momsc [label="CC state:\nINITIATED"];
+momsc =>> mncc [label="MNCC_SETUP_IND"];
+momsc <<= mncc [label="MNCC_CALL_PROC_REQ"];
+momsc note momsc [label="CC stops guard timer"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+momsc abox momsc [label="CC state:\nMO_CALL_PROC"];
+moms <<= momsc [label="CC CALL_PROC"];
+momgw <<= momsc [label="for RAN: CRCX\nrtpbridge/*@msc"];
+momsc <<= mncc [label="MNCC_LCHAN_MODIFY"];
+momsc note momsc [label="CC stops guard timer"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+mtmsc <<= mncc [label="MNCC_SETUP_REQ"];
+mtms <<= mtmsc [label="Paging"];
+momgw =>> momsc [label="for RAN: CRCX OK\nEP-1 CI-1 IP:port-1"];
+moms <<= momsc [label="(BSSMAP) ASSIGNMENT_COMMAND"];
+moms =>> momsc [label="(BSSMAP) Assignment Complete"];
+momgw <<= momsc [label="for RAN: MDCX\nEP-1 CI-1"];
+momgw =>> momsc [label="for RAN: MDCX OK\nEP-1 CI-1 IP:port-1"];
+momgw <<= momsc [label="for CN: CRCX\nEP-1"];
+momgw =>> momsc [label="for CN: CRCX OK\nEP-1 CI-2 IP:port-2"];
+momsc =>> mncc [label="MNCC_RTP_CREATE\nIP:port-2"];
+mtms =>> mtmsc [label="(BSSMAP) Complete Layer 3 Information"];
+mtms =>> mtmsc [label="RR PAG_RESP"];
+mtms <<= mtmsc [label="MM AUTH_REQ"];
+mtms =>> mtmsc [label="MM AUTH_RESP"];
+mtms <<= mtmsc [label="(BSSMAP) CIPHER_MODE_COMMAND"];
+mtms =>> mtmsc [label="(BSSMAP) Ciphering Mode Complete"];
+mtms <<= mtmsc [label="(BSSMAP) COMMON_ID"];
+mtmsc note mtmsc [label="CC starts timer T303 (30s)"];
+mtmsc abox mtmsc [label="CC state:\nCALL_PRESENT"];
+mtms <<= mtmsc [label="CC SETUP"];
+mtms =>> mtmsc [label="RR CIPH_M_COMPL"];
+mtms =>> mtmsc [label="CC CALL_CONF"];
+mtmsc note mtmsc [label="CC stops timer T303"];
+mtmsc note mtmsc [label="CC starts timer T310 (30s)"];
+mtmsc abox mtmsc [label="CC state:\nMO_TERM_CALL_CONF"];
+mtmgw <<= mtmsc [label="for RAN: CRCX\nrtpbridge/*@msc"];
+mtmsc =>> mncc [label="MNCC_CALL_CONF_IND"];
+mtmsc <<= mncc [label="MNCC_LCHAN_MODIFY"];
+mtmsc note mtmsc [label="CC starts guard timer (180s)"];
+mtmgw =>> mtmsc [label="for RAN: CRCX OK\nEP-2 CI-3 IP:port-3"];
+mtms <<= mtmsc [label="(BSSMAP) ASSIGNMENT_COMMAND"];
+mtms =>> mtmsc [label="(BSSMAP) Assignment Complete"];
+mtmgw <<= mtmsc [label="for RAN: MDCX\nEP-2 CI-3"];
+mtmgw =>> mtmsc [label="for RAN: MDCX OK\nEP-2 CI-3 IP:port-3"];
+mtmgw <<= mtmsc [label="for CN: CRCX\nEP-2"];
+mtmgw =>> mtmsc [label="for CN: CRCX OK\nEP-2 CI-4 IP:port-4"];
+mtmsc =>> mncc [label="MNCC_RTP_CREATE\nIP:port-4"];
+mtms =>> mtmsc [label="CC ALERTING"];
+mtmsc note mtmsc [label="CC stops timer T310"];
+mtmsc note mtmsc [label="CC starts timer T301 (180s)"];
+mtmsc abox mtmsc [label="CC state:\nCALL_RECEIVED"];
+mtmsc =>> mncc [label="MNCC_ALERT_IND"];
+momsc <<= mncc [label="MNCC_ALERT_REQ"];
+momsc note momsc [label="CC stops guard timer"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+momsc abox momsc [label="CC state:\nCALL_DELIVERED"];
+moms <<= momsc [label="CC ALERTING"];
+mtms =>> mtmsc [label="CC CONNECT"];
+mtmsc note mtmsc [label="CC stops timer T301"];
+mtmsc abox mtmsc [label="CC state:\nCONNECT_REQUEST"];
+mtmsc =>> mncc [label="MNCC_SETUP_CNF"];
+mtmsc <<= mncc [label="MNCC_SETUP_COMPL_REQ"];
+mtmsc note mtmsc [label="CC stops guard timer"];
+mtmsc note mtmsc [label="CC starts guard timer (180s)"];
+mtmsc abox mtmsc [label="CC state:\nACTIVE"];
+mtmsc note mtmsc [label="CC stops guard timer"];
+mtms <<= mtmsc [label="CC CONNECT_ACK"];
+momsc <<= mncc [label="MNCC_SETUP_RSP"];
+momsc note momsc [label="CC stops guard timer"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+momsc note momsc [label="CC starts timer T313 (30s)"];
+momsc abox momsc [label="CC state:\nCONNECT_IND"];
+moms <<= momsc [label="CC CONNECT"];
+mtmgw <<= mtmsc [label="for CN: MDCX\nEP-2 CI-4"];
+momgw <<= momsc [label="for CN: MDCX\nEP-1 CI-2"];
+mtmgw =>> mtmsc [label="for CN: MDCX OK\nEP-2 CI-4 IP:port-4"];
+momgw =>> momsc [label="for CN: MDCX OK\nEP-1 CI-2 IP:port-2"];
+moms =>> momsc [label="CC CONNECT_ACK"];
+momsc note momsc [label="CC stops timer T313"];
+momsc abox momsc [label="CC state:\nACTIVE"];
+momsc note momsc [label="CC stops guard timer"];
+momsc =>> mncc [label="MNCC_SETUP_COMPL_IND"];
+moms =>> momsc [label="CC DISCONNECT"];
+momsc abox momsc [label="CC state:\nDISCONNECT_IND"];
+momsc =>> mncc [label="MNCC_DISC_IND"];
+momsc <<= mncc [label="MNCC_REL_REQ"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+momsc note momsc [label="CC starts timer T308 (10s)"];
+momsc abox momsc [label="CC state:\nRELEASE_REQ"];
+moms <<= momsc [label="CC RELEASE"];
+mtmsc <<= mncc [label="MNCC_DISC_REQ"];
+mtmsc note mtmsc [label="CC starts guard timer (180s)"];
+mtmsc note mtmsc [label="CC starts timer T306 (30s)"];
+mtmsc abox mtmsc [label="CC state:\nDISCONNECT_IND"];
+mtms <<= mtmsc [label="CC DISCONNECT"];
+mtms =>> mtmsc [label="CC RELEASE"];
+mtmsc note mtmsc [label="CC stops timer T306"];
+mtms <<= mtmsc [label="CC RELEASE_COMPL"];
+mtmsc =>> mncc [label="MNCC_REL_IND"];
+momsc <<= mncc [label="MNCC_REL_REQ"];
+momsc note momsc [label="CC stops guard timer"];
+momsc note momsc [label="CC starts guard timer (180s)"];
+mtmsc abox mtmsc [label="CC state:\nNULL"];
+mtmsc note mtmsc [label="CC stops guard timer"];
+mtms <<= mtmsc [label="(BSSMAP) CLEAR_COMMAND"];
+mtms =>> mtmsc [label="(BSSMAP) Clear Complete"];
+moms =>> momsc [label="CC RELEASE_COMPL"];
+momsc note momsc [label="CC stops timer T308"];
+momsc =>> mncc [label="MNCC_REL_CNF"];
+momsc abox momsc [label="CC state:\nNULL"];
+momsc note momsc [label="CC stops guard timer"];
+moms <<= momsc [label="(BSSMAP) CLEAR_COMMAND"];
+moms =>> momsc [label="(BSSMAP) Clear Complete"];
+}