update doc/sequence_charts/voice_call_external_mncc.msc

Re-run the msc_log_to_ladder.py on an actual 2G-2G voice call log, to
see if anything changed in the meantime, to prepare for upcoming changes
to the sequencing of establishing voice calls.

Also shows recent improvements on picking up RTP ports from MGCP and
MNCC.

Change-Id: I9dcf980ad24d5921c291c9aada211b37f6f3db7f
This commit is contained in:
Neels Hofmeyr 2023-03-08 01:48:02 +01:00
parent e4febd2697
commit ec9a022dcf
1 changed files with 48 additions and 47 deletions

View File

@ -1,65 +1,68 @@
# Generated by msc_log_to_ladder.py
# 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)"],sip[label="MNCC to PBX via\nosmo-sip-connector"],mtmsc[label="MSC (MT)"],mtmgw[label="MGW for MSC (MT)"],mtms[label="BSS,MS (MT)\nhNodeB,UE (MT)"];
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 =>> sip [label="MNCC_SETUP_IND"];
momsc <<= sip [label="MNCC_RTP_CREATE"];
momsc =>> mncc [label="MNCC_SETUP_IND"];
momsc <<= mncc [label="MNCC_RTP_CREATE"];
momgw <<= momsc [label="for RAN: CRCX\nrtpbridge/*@msc"];
momgw =>> momsc [label="for RAN: CRCX OK\nEP-1 CI-1"];
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"];
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"];
momsc =>> sip [label="MNCC_RTP_CREATE\nIP:port-1"];
momsc <<= sip [label="MNCC_CALL_PROC_REQ"];
momgw =>> momsc [label="for CN: CRCX OK\nEP-1 CI-2 IP:port-2"];
momsc =>> mncc [label="MNCC_RTP_CREATE\nIP:port-2"];
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"];
mtmsc <<= sip [label="MNCC_SETUP_REQ"];
mtmsc <<= mncc [label="MNCC_SETUP_REQ"];
mtms <<= mtmsc [label="Paging"];
mtms =>> mtmsc [label="(BSSMAP) Complete Layer 3 Information"];
mtms =>> mtmsc [label="RR PAG_RESP"];
mtms <<= mtmsc [label="MM AUTH_REQ"];
mtms =>> mtmsc [label="MM NULL"];
mtms =>> mtmsc [label="MM AUTH_RESP"];
mtms <<= mtmsc [label="(RANAP) SecurityModeCommand"];
mtms =>> mtmsc [label="(RANAP) SecurityModeControl successfulOutcome"];
mtms <<= mtmsc [label="(RANAP) CommonId"];
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 =>> sip [label="MNCC_CALL_CONF_IND"];
mtmsc <<= sip [label="MNCC_RTP_CREATE"];
mtmgw =>> mtmsc [label="for RAN: CRCX OK\nEP-2 CI-3"];
mtms <<= mtmsc [label="(RANAP) RAB AssignmentRequest"];
mtms =>> mtmsc [label="(RANAP) RAB Assignment Response"];
mtmsc =>> mncc [label="MNCC_CALL_CONF_IND"];
mtmsc <<= mncc [label="MNCC_RTP_CREATE"];
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"];
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"];
mtmsc =>> sip [label="MNCC_RTP_CREATE\nIP:port-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 =>> sip [label="MNCC_ALERT_IND"];
momsc <<= sip [label="MNCC_ALERT_REQ"];
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"];
@ -67,57 +70,55 @@ 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 =>> sip [label="MNCC_SETUP_CNF"];
mtmsc <<= sip [label="MNCC_RTP_CONNECT\nIP:port-1"];
mtmsc =>> mncc [label="MNCC_SETUP_CNF"];
mtmsc <<= mncc [label="MNCC_RTP_CONNECT\nIP:port-2"];
mtmgw <<= mtmsc [label="for CN: MDCX\nEP-2 CI-4"];
mtmsc <<= sip [label="MNCC_SETUP_COMPL_REQ"];
mtmsc <<= mncc [label="MNCC_SETUP_COMPL_REQ"];
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"];
mtmgw =>> mtmsc [label="for CN: MDCX OK\nEP-2 CI-4"];
momsc <<= sip [label="MNCC_RTP_CONNECT\nIP:port-2"];
momsc <<= mncc [label="MNCC_RTP_CONNECT\nIP:port-4"];
momgw <<= momsc [label="for CN: MDCX\nEP-1 CI-2"];
momsc <<= sip [label="MNCC_SETUP_RSP"];
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"];
momgw =>> momsc [label="for CN: MDCX OK\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 =>> sip [label="MNCC_SETUP_COMPL_IND"];
momsc =>> mncc [label="MNCC_SETUP_COMPL_IND"];
moms =>> momsc [label="CC DISCONNECT"];
momsc abox momsc [label="CC state:\nDISCONNECT_IND"];
momsc =>> sip [label="MNCC_DISC_IND"];
momsc <<= sip [label="MNCC_REL_REQ"];
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 <<= sip [label="MNCC_DISC_REQ"];
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"];
moms =>> momsc [label="CC RELEASE_COMPL"];
momsc note momsc [label="CC stops timer T308"];
momsc abox momsc [label="CC state:\nNULL"];
momsc note momsc [label="CC stops guard timer"];
moms <<= momsc [label="(BSSMAP) CLEAR_COMMAND"];
momsc =>> sip [label="MNCC_REL_CNF"];
moms =>> momsc [label="(BSSMAP) Clear Complete"];
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"];
mtmsc abox mtmsc [label="CC state:\nNULL"];
mtmsc note mtmsc [label="CC stops guard timer"];
mtms <<= mtmsc [label="(RANAP) Iu Release"];
mtmsc =>> sip [label="MNCC_REL_IND"];
mtms =>> mtmsc [label="(RANAP) Iu Release successfulOutcome"];
moms =>> momsc [label="IMSI Detach"];
mtms =>> mtmsc [label="IMSI Detach"];
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"];
}