<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-msc/+/15945">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">charts: add full MO and MT voice call diagram<br><br>Add voice_call_full.msc, generated from a real 2G<->3G voice call log fed to<br>msc_log_to_ladder.py.<br><br>The idea is to document how the voice call sequence of events changes in<br>upcoming patches.<br><br>Change-Id: I8a907d6a4ece1f3ad78da75a8c3e3e76afd5418d<br>---<br>M doc/sequence_charts/Makefile.am<br>A doc/sequence_charts/voice_call_full.msc<br>2 files changed, 126 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/45/15945/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/sequence_charts/Makefile.am b/doc/sequence_charts/Makefile.am</span><br><span>index f1775c8..6782f44 100644</span><br><span>--- a/doc/sequence_charts/Makefile.am</span><br><span>+++ b/doc/sequence_charts/Makefile.am</span><br><span>@@ -13,18 +13,20 @@</span><br><span>      inter_bsc_ho.png \</span><br><span>   inter_msc_ho.png \</span><br><span>   mncc_call_fsm.png \</span><br><span style="color: hsl(120, 100%, 40%);">+   voice_call_full.png \</span><br><span>        $(NULL)</span><br><span> </span><br><span> msc: \</span><br><span>        $(builddir)/mncc_call_fsm.png \</span><br><span>      $(builddir)/inter_bsc_ho.png \</span><br><span>       $(builddir)/inter_msc_ho.png \</span><br><span style="color: hsl(120, 100%, 40%);">+        $(builddir)/voice_call_full.png \</span><br><span>    $(NULL)</span><br><span> </span><br><span> dot: \</span><br><span>        $(NULL)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-$(builddir)/%.png: $(srcdir)/%.msc</span><br><span style="color: hsl(120, 100%, 40%);">+$(builddir)/%.png: %.msc</span><br><span>      mscgen -T png -o $@ $<</span><br><span> </span><br><span> $(builddir)/%.png: $(srcdir)/%.dot</span><br><span>diff --git a/doc/sequence_charts/voice_call_full.msc b/doc/sequence_charts/voice_call_full.msc</span><br><span>new file mode 100644</span><br><span>index 0000000..75fcef2</span><br><span>--- /dev/null</span><br><span>+++ b/doc/sequence_charts/voice_call_full.msc</span><br><span>@@ -0,0 +1,123 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# Generated by msc_log_to_ladder.py</span><br><span style="color: hsl(120, 100%, 40%);">+msc {</span><br><span style="color: hsl(120, 100%, 40%);">+hscale="3";</span><br><span style="color: hsl(120, 100%, 40%);">+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)"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc  [label="MM CM_SERV_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc       [label="MM AUTH_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc  [label="MM AUTH_RESP"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc [label="(BSSMAP) CIPHER_MODE_COMMAND"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc [label="(BSSMAP) Ciphering Mode Complete"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc     [label="RR CIPH_M_COMPL"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc      [label="CC SETUP"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc     [label="CC state:\nINITIATED"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc =>> sip  [label="MNCC_SETUP_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc <<= sip        [label="MNCC_RTP_CREATE"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw <<= momsc     [label="for RAN: CRCX\nrtpbridge/*@msc"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw =>> momsc      [label="for RAN: CRCX OK\nEP-1 CI-1"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc  [label="(BSSMAP) ASSIGNMENT_COMMAND"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc  [label="(BSSMAP) Assignment Complete"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw <<= momsc        [label="for RAN: MDCX\nEP-1 CI-1"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw =>> momsc    [label="for RAN: MDCX OK\nEP-1 CI-1"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw <<= momsc [label="for CN: CRCX\nEP-1"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw =>> momsc  [label="for CN: CRCX OK\nEP-1 CI-2"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc =>> sip    [label="MNCC_RTP_CREATE\nIP:port-1"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc <<= sip    [label="MNCC_CALL_PROC_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc       [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc     [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc     [label="CC state:\nMO_CALL_PROC"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc      [label="CC CALL_PROC"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc <<= sip  [label="MNCC_SETUP_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc       [label="Paging"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc       [label="RR PAG_RESP"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc  [label="MM AUTH_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc  [label="MM NULL"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc      [label="MM AUTH_RESP"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc [label="(RANAP) SecurityModeCommand"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc  [label="(RANAP) SecurityModeControl successfulOutcome"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc        [label="(RANAP) CommonId"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc [label="CC starts timer T303 (30s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc       [label="CC state:\nCALL_PRESENT"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc      [label="CC SETUP"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc     [label="CC CALL_CONF"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc     [label="CC stops timer T303"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc      [label="CC starts timer T310 (30s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc       [label="CC state:\nMO_TERM_CALL_CONF"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw <<= mtmsc        [label="for RAN: CRCX\nrtpbridge/*@msc"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc =>> sip        [label="MNCC_CALL_CONF_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc <<= sip    [label="MNCC_RTP_CREATE"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw =>> mtmsc     [label="for RAN: CRCX OK\nEP-2 CI-3"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc  [label="(RANAP) RAB AssignmentRequest"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc        [label="(RANAP) RAB Assignment Response"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw <<= mtmsc     [label="for RAN: MDCX\nEP-2 CI-3"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw =>> mtmsc    [label="for RAN: MDCX OK\nEP-2 CI-3"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw <<= mtmsc [label="for CN: CRCX\nEP-2"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw =>> mtmsc  [label="for CN: CRCX OK\nEP-2 CI-4"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc =>> sip    [label="MNCC_RTP_CREATE\nIP:port-2"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc   [label="CC ALERTING"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc      [label="CC stops timer T310"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc      [label="CC starts timer T301 (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc      [label="CC state:\nCALL_RECEIVED"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc =>> sip      [label="MNCC_ALERT_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc <<= sip        [label="MNCC_ALERT_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc   [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc     [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc     [label="CC state:\nCALL_DELIVERED"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc    [label="CC ALERTING"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc  [label="CC CONNECT"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc       [label="CC stops timer T301"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc      [label="CC state:\nCONNECT_REQUEST"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc =>> sip    [label="MNCC_SETUP_CNF"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc <<= sip        [label="MNCC_RTP_CONNECT\nIP:port-1"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw <<= mtmsc [label="for CN: MDCX\nEP-2 CI-4"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc <<= sip       [label="MNCC_SETUP_COMPL_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc     [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc     [label="CC state:\nACTIVE"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc        [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc [label="CC CONNECT_ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmgw =>> mtmsc      [label="for CN: MDCX OK\nEP-2 CI-4"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc <<= sip    [label="MNCC_RTP_CONNECT\nIP:port-2"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw <<= momsc [label="for CN: MDCX\nEP-1 CI-2"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc <<= sip       [label="MNCC_SETUP_RSP"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc   [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc     [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc     [label="CC starts timer T313 (30s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc       [label="CC state:\nCONNECT_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc       [label="CC CONNECT"];</span><br><span style="color: hsl(120, 100%, 40%);">+momgw =>> momsc  [label="for CN: MDCX OK\nEP-1 CI-2"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc   [label="CC CONNECT_ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc   [label="CC stops timer T313"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc      [label="CC state:\nACTIVE"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc        [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc =>> sip  [label="MNCC_SETUP_COMPL_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc [label="CC DISCONNECT"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc    [label="CC state:\nDISCONNECT_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc =>> sip     [label="MNCC_DISC_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc <<= sip [label="MNCC_REL_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc     [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc     [label="CC starts timer T308 (10s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc       [label="CC state:\nRELEASE_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc       [label="CC RELEASE"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc <<= sip    [label="MNCC_DISC_REQ"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc    [label="CC starts guard timer (180s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc     [label="CC starts timer T306 (30s)"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc       [label="CC state:\nDISCONNECT_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc    [label="CC DISCONNECT"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc        [label="CC RELEASE_COMPL"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc [label="CC stops timer T308"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc abox momsc      [label="CC state:\nNULL"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc note momsc  [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms <<= momsc [label="(BSSMAP) CLEAR_COMMAND"];</span><br><span style="color: hsl(120, 100%, 40%);">+momsc =>> sip        [label="MNCC_REL_CNF"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc [label="(BSSMAP) Clear Complete"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc      [label="CC RELEASE"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc       [label="CC stops timer T306"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc  [label="CC RELEASE_COMPL"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc abox mtmsc [label="CC state:\nNULL"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc note mtmsc  [label="CC stops guard timer"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms <<= mtmsc [label="(RANAP) Iu Release"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtmsc =>> sip    [label="MNCC_REL_IND"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc [label="(RANAP) Iu Release successfulOutcome"];</span><br><span style="color: hsl(120, 100%, 40%);">+moms =>> momsc [label="IMSI Detach"];</span><br><span style="color: hsl(120, 100%, 40%);">+mtms =>> mtmsc  [label="IMSI Detach"];</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-msc/+/15945">change 15945</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-msc/+/15945"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I8a907d6a4ece1f3ad78da75a8c3e3e76afd5418d </div>
<div style="display:none"> Gerrit-Change-Number: 15945 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>