From c5572acb73859937ff23ff826dc6826f0c2f858c Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 8 Mar 2023 02:50:26 +0100 Subject: [PATCH] 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 --- doc/sequence_charts/Makefile.am | 1 + .../voice_call_internal_mncc.msc | 129 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 doc/sequence_charts/voice_call_internal_mncc.msc 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"]; +}