charts: add full MO and MT voice call diagram
Add voice_call_full.msc, generated from a real 2G<->3G voice call log fed to msc_log_to_ladder.py. The idea is to document how the voice call sequence of events changes in upcoming patches. Change-Id: I8a907d6a4ece1f3ad78da75a8c3e3e76afd5418d
This commit is contained in:
parent
0f6664bb3d
commit
82f58fed6a
|
@ -13,18 +13,20 @@ CLEANFILES = \
|
|||
inter_bsc_ho.png \
|
||||
inter_msc_ho.png \
|
||||
mncc_call_fsm.png \
|
||||
voice_call_full.png \
|
||||
$(NULL)
|
||||
|
||||
msc: \
|
||||
$(builddir)/mncc_call_fsm.png \
|
||||
$(builddir)/inter_bsc_ho.png \
|
||||
$(builddir)/inter_msc_ho.png \
|
||||
$(builddir)/voice_call_full.png \
|
||||
$(NULL)
|
||||
|
||||
dot: \
|
||||
$(NULL)
|
||||
|
||||
$(builddir)/%.png: $(srcdir)/%.msc
|
||||
$(builddir)/%.png: %.msc
|
||||
mscgen -T png -o $@ $<
|
||||
|
||||
$(builddir)/%.png: $(srcdir)/%.dot
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
# Generated by 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 =>> 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="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"];
|
||||
momgw <<= momsc [label="for RAN: CRCX\nrtpbridge/*@msc"];
|
||||
momgw =>> momsc [label="for RAN: CRCX OK\nEP-1 CI-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 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"];
|
||||
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"];
|
||||
mtms <<= mtmsc [label="Paging"];
|
||||
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"];
|
||||
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="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"];
|
||||
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 CN: CRCX\nEP-2"];
|
||||
mtmgw =>> mtmsc [label="for CN: CRCX OK\nEP-2 CI-4"];
|
||||
mtmsc =>> sip [label="MNCC_RTP_CREATE\nIP:port-2"];
|
||||
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"];
|
||||
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 =>> sip [label="MNCC_SETUP_CNF"];
|
||||
mtmsc <<= sip [label="MNCC_RTP_CONNECT\nIP:port-1"];
|
||||
mtmgw <<= mtmsc [label="for CN: MDCX\nEP-2 CI-4"];
|
||||
mtmsc <<= sip [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"];
|
||||
momgw <<= momsc [label="for CN: MDCX\nEP-1 CI-2"];
|
||||
momsc <<= sip [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"];
|
||||
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"];
|
||||
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 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 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 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"];
|
||||
}
|
Loading…
Reference in New Issue