diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-10-07 21:14:02 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2019-10-08 08:20:16 +0200 |
commit | 8b1cfdd4e2782c883a0331d45e31da9e1cde934c (patch) | |
tree | 955f127421f8a92e59e3d6421ef0e019bc94ad92 | |
parent | 5dfb056f4edfc52fe33e1601e98a247137257888 (diff) |
charts: add full MO and MT voice call diagram
Add voice_call_full.ladder, in the ladder diagram format that I invented in
libosmocore/contrib/ladder_to_msc.py. This file is translated to .msc and then
mscgen generates the actual diagram, see doc/sequence_charts/Makefile.am.
Depends: Iefac4cb91b82c93a64b4999afa62e299479913af (libosmocore)
Change-Id: I8a907d6a4ece1f3ad78da75a8c3e3e76afd5418d
-rw-r--r-- | doc/sequence_charts/Makefile.am | 7 | ||||
-rw-r--r-- | doc/sequence_charts/voice_call_full.ladder | 173 |
2 files changed, 179 insertions, 1 deletions
diff --git a/doc/sequence_charts/Makefile.am b/doc/sequence_charts/Makefile.am index f1775c8f5..ded9354f9 100644 --- a/doc/sequence_charts/Makefile.am +++ b/doc/sequence_charts/Makefile.am @@ -19,14 +19,19 @@ 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)/%.msc: $(srcdir)/%.ladder + which ladder_to_msc.py || (echo 'PLEASE POINT YOUR $$PATH AT libosmocore/contrib/ladder_to_msc.py' && false) + ladder_to_msc.py -i $< -o $@ + $(builddir)/%.png: $(srcdir)/%.dot dot -Tpng $< > $@ diff --git a/doc/sequence_charts/voice_call_full.ladder b/doc/sequence_charts/voice_call_full.ladder new file mode 100644 index 000000000..339db9895 --- /dev/null +++ b/doc/sequence_charts/voice_call_full.ladder @@ -0,0 +1,173 @@ +{hscale=3} +moms = MS,BSS (MO) +momgw = MGW for MSC (MO) +momsc = MSC (MO) +sip = MNCC to PBX via + osmo-sip-connector +mtmsc = MSC (MT) +mtmgw = MGW for MSC (MT) +mtms = hNodeB,UE (MT) + + +moms > momsc CC Setup + Bearer Cap +momsc [] . CC starts guard timer (180s) +momsc <> . CC state: + INITIATED + callref = 0x80000001 +momsc > sip MNCC_SETUP_IND + Bearer Cap: Speech Ver list +momsc < sip MNCC_RTP_CREATE +momgw < momsc for RAN: CRCX 1 + rtpbridge/*@msc +momgw > momsc CRCX 1 OK + rtpbridge/0@msc, CI: ABCD1234, MGW RTP IP:port +moms < momsc Assignment Command + MGW RTP IP:port +moms > momsc Assignment Complete + Speech Codec (Chosen), BSC RTP IP:port +momgw < momsc for RAN: MDCX 2 + rtpbridge/0@msc, CI: ABCD1234, codec (112="AMR/8000") +momgw > momsc MDCX 2 OK +momgw < momsc for CN: CRCX 3 + rtpbridge/0@msc +momgw > momsc CRCX 3 OK + rtpbridge/0@msc, CI: BCDE2345, MGW RTP IP:port +momsc > sip MNCC_RTP_CREATE + MGW RTP IP:port, payload_type=112, payload_msg_type=GSM_TCH_FRAME_AMR + +momsc < sip MNCC_CALL_PROC_REQ + +momsc <> . CC state: + MO_CALL_PROC +moms < momsc DTAP: CC Call Proceeding + +sip > mtmsc MNCC_SETUP_REQ + callref = 5002, called + calling MSISDN +mtmsc <> . CC state: + NULL +mtmsc > mtms Paging +mtmsc < mtms Paging Response +mtmsc [] . CC starts T303 (30s) +mtmsc <> . CC state: + CALL_PRESENT +mtmsc > mtms DTAP: CC Setup +mtmsc < mtms DTAP: CC Call Confirmed + Bearer Cap: Speech Ver list +mtmsc [] . CC stops T303 + starts T310 (30s) +mtmsc <> . CC state: + MO_TERM_CALL_CONF +mtmgw < mtmsc for RAN: CRCX 4 + rtpbridge/*@msc +sip < mtmsc MNCC_CALL_CONF_IND + Bearer Cap: Speech Ver list +sip > mtmsc MNCC_RTP_CREATE +mtmgw > mtmsc CRCX 4 OK + rtpbridge/1@msc, CI: CDEF3456, MGW RTP IP:port +mtmsc > mtms RAB Assignment Request + MGW RTP IP:port +mtmsc < mtms RAB Assignment Response + hNodeB RTP IP:port +mtmgw < mtmsc for RAN: MDCX 5 + rtpbridge/1@msc, CI: CDEF3456, codec (112="AMR/8000") +mtmgw > mtmsc MDCX 5 OK +mtmgw < mtmsc for CN: CRCX 6 + rtpbridge/1@msc +mtmgw > mtmsc CRCX 6 OK + CI: DEFA4567, MGW RTP IP:port +sip < mtmsc MNCC_RTP_CREATE + MGW RTP IP:port, payload_type=112, payload_msg_type=GSM_TCH_FRAME_AMR +mtmsc < mtms DTAP: CC Alerting +mtmsc [] . CC stops T310 + starts T301 (180s) +mtmsc <> . CC state: + CALL_RECEIVED +sip < mtmsc MNCC_ALERT_IND +momsc < sip MNCC_ALERT_REQ + +momsc [] . CC stops guard timer +momsc <> . CC state: + CALL_DELIVERED +moms < momsc DTAP: CC Alerting +... +... ringing +... +mtmsc < mtms DTAP: CC Connect +mtmsc [] . CC stops T301 +mtmsc <> . CC state: + CONNECT_REQUEST +sip < mtmsc MNCC_SETUP_CNF +sip > mtmsc MNCC_RTP_CONNECT + SIP RTP IP:port +mtmgw < mtmsc for CN: MDCX 7 + rtpbridge/1@msc, CI: DEFA4567, MGW RTP IP:port +sip > mtmsc MNCC_SETUP_COMPL_REQ +mtmsc [] . CC starts guard timer (180s) +mtmsc <> . CC state: + ACTIVE +mtmsc [] . CC stops guard timer +mtmsc > mtms DTAP: CC Connect Acknowledge + +momsc < sip MNCC_RTP_CONNECT + SIP RTP IP:port +momgw < momsc for CN: MDCX 8 + rtpbridge/0@msc, CI: BCDE2345, MGW RTP IP:port +mtmsc < mtmgw MDCX 7 OK + +momsc < sip MNCC_SETUP_RSP + +momsc [] . CC starts guard timer (180s) + also starts T313 (30s) +momsc <> . CC state: + CONNECT_IND +moms < momsc DTAP: CC Connect +momgw > momsc MDCX 8 OK +moms > momsc DTAP: CC Connect Acknowledge +momsc [] . CC stops T313 +momsc <> . CC state: + ACTIVE +momsc [] . CC stops guard timer +momsc > sip MNCC_SETUP_COMPL_IND + +... +... call ongoing +... + +mtmsc < mtms DTAP: CC Disconnect +mtmsc <> . CC state: + DISCONNECT_IND +sip < mtmsc MNCC_DISC_IND +sip > mtmsc MNCC_REL_REQ +mtmsc [] . CC starts guard timer (180s) + and starts T308 (10s) +mtmsc > mtms DTAP: CC Release + +momsc < sip MNCC_DISC_REQ +momsc [] . CC starts guard timer (180s) + and starts T306 (30s) +momsc <> . CC state: + DISCONNECT_IND +moms < momsc DTAP: CC Disconnect +moms > momsc DTAP: CC Release +momsc [] . CC stops T306 +moms < momsc DTAP: CC Release Complete +momsc > sip MNCC_REL_IND +momsc <> . CC state: + NULL +momsc [] . CC frees transaction + stops guard timer +momgw < momsc for CN: DLCX +momgw < momsc for RAN: DLCX +moms < momsc Clear Command +moms > momsc Clear Complete + +mtmsc < mtms DTAP: CC Release Complete +mtmsc [] . CC stops timer T308 +sip < mtmsc MNCC_REL_CNF +mtmsc [] . CC frees transaction + stops guard timer +mtmgw < mtmsc for CN: DLCX +mtmgw < mtmsc for RAN: DLCX +mtms < mtmsc Iu Release Command +mtms > mtmsc Iu Release Command: Successful Outcome |