aboutsummaryrefslogtreecommitdiffstats
path: root/common/chapters/nitb_mncc_mo_tch.msc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-07-11 17:23:47 +0200
committerHarald Welte <laforge@gnumonks.org>2017-07-11 17:39:27 +0200
commite62d414c0cd3ce8068e99e299b5c5065e59ae1f3 (patch)
tree3b6816673aaa823108b816fb81cbbccdaede04a2 /common/chapters/nitb_mncc_mo_tch.msc
parentbbfb0c33ef7a4c75219c01c5101245698baeee12 (diff)
Add Message Sequence Chart for a MO calls with ext. MNCC handler
Diffstat (limited to 'common/chapters/nitb_mncc_mo_tch.msc')
-rw-r--r--common/chapters/nitb_mncc_mo_tch.msc92
1 files changed, 92 insertions, 0 deletions
diff --git a/common/chapters/nitb_mncc_mo_tch.msc b/common/chapters/nitb_mncc_mo_tch.msc
new file mode 100644
index 0000000..0a44a92
--- /dev/null
+++ b/common/chapters/nitb_mncc_mo_tch.msc
@@ -0,0 +1,92 @@
+# Mobile Originated call handled via OsmoNITB with RTP proxy or E1 BTS # and external MNCC Handler
+msc {
+ hscale="4";
+ ms [label="MS"], bts [label="BTS"], nitb [label="OsmoNITB"], emh [label="External MNCC Hdlr"];
+
+ |||;
+ ... [label="Mobile Originated call handled via OsmoNITB with RTP proxy or E1 BTS and external MNCC Handler"];
+ |||;
+ --- [label="User on A-side dials a MO call from his phone"];
+ ms <=> nitb [label="RF Channel Establishment"];
+ ...;
+
+ # MS sends CC SETUP, deliver it to MNCC
+ ms -> nitb [label="CC SETUP [MSISDN]"];
+ nitb rbox nitb [label="CSTATE_INITIATED"];
+ nitb -> emh [label="MNCC-SETUP.ind [CALLING, BEARER_CAP,
+FACILITY, CALLED, USERUSER, SSVERSION, CCCAP"];
+ emh rbox emh [label="1 CALL_INIT"];
+ ...;
+
+ nitb <- emh [label="MNCC-CALL-PROC.req [BEARER_CAP, FACILITY, PROGRESS]"];
+ emh rbox emh [label="3 MO_CALL_PROC"];
+ nitb rbox nitb [label="CSTATE_MO_CALL_PROC"];
+ ms <- nitb [label="CC CALL PROCEDING"];
+ ...;
+
+ # optional
+ --- [label="Optional PROGRESS, can happen 0-N times"];
+ nitb <- emh [label="MNCC-PROGRESS.req [USERUSER]"];
+ emh rbox emh [label="3 MO_CALL_PROC"];
+ ms <- nitb [label="CC PROCEDING"];
+ ...;
+
+ # optional
+ --- [label="Optional; Indicates when B-side is ringing"];
+ nitb <- emh [label="MNCC-ALERT.req [FACILITY, PROGRESS, USERUSER]"];
+ emh rbox emh [label="4 CALL_DELIVERED"];
+ nitb rbox nitb [label="CSTATE_CALL_DELIVERED"];
+ ms <- nitb [label="CC ALERTING"];
+ ...;
+
+ # ask the BTS to connect its RTP stream to the given IP+PORT
+ --- [label="Exact time of MNCC_FRAME_RECV is up to Ext MNCC Hdlr"];
+ nitb <- emh [label="MNCC_FRAME_RECV[.req]"];
+ ms -> nitb [label="TCH Voice Frame (TRAU or RTP)"];
+ nitb ->emh [label="{GSM_{TCHF,TCHH}_FRAME,GSM_TCHF_FRAME_EFR,GSM_TCH_FRAME_AMR}"];
+ ms -> nitb [label="TCH Voice Frame (TRAU or RTP)"];
+ nitb ->emh [label="{GSM_{TCHF,TCHH}_FRAME,GSM_TCHF_FRAME_EFR,GSM_TCH_FRAME_AMR}"];
+ ... [label="Unidirectional voice frames continue"];
+
+ --- [label="User on B-side answers the call"];
+ nitb <- emh [label="MNCC-SETUP.rsp [FACILITY, PROGRERSS, CONNETED, USERUSER]"];
+ emh rbox emh [label="? CONNECT_INDICATION"];
+ nitb rbox nitb [label="CSTATE_CONNECT_IND"];
+ ms <- nitb [label="CC CONNECT"];
+ ...;
+
+ ms -> nitb [label="TCH Voice Frame (TRAU or RTP)"];
+ nitb ->emh [label="{GSM_{TCHF,TCHH}_FRAME,GSM_TCHF_FRAME_EFR,GSM_TCH_FRAME_AMR}"];
+ ...;
+ nitb <- emh [label="{GSM_{TCHF,TCHH}_FRAME,GSM_TCHF_FRAME_EFR,GSM_TCH_FRAME_AMR}"];
+ ms <- nitb [label="TCH Voice Frame (TRAU or RTP)"];
+ ... [label="Bi-directional voice frames continue"];
+
+ ms -> nitb [label="CC CONNECT ACK"];
+ nitb rbox nitb [label="CSTATE_ACTIVE"];
+ nitb -> emh [label="MNCC-SETUP-COMPL.ind"];
+ emh rbox emh [label="10 ACTIVE"];
+ ...;
+ ...;
+ ...;
+
+ --- [label="User on A-side hangs up the call"];
+ ms -> nitb [label="CC DISCONNECT"];
+ nitb rbox nitb [label="CSTATE_DISCONNET_REQ"];
+ nitb -> emh [label="MNCC-DISC.ind [CAUSE, FACILITY, USERUSER, SSVERSION]"];
+ emh rbox emh [label="12 DISCONNET_IND"];
+ ...;
+
+ nitb <- emh [label="MNCC-RELEASE.req [CAUSE, FACILITY, USERUSER]"];
+ emh rbox emh [label="19 RELEASE_REQ"];
+ nitb rbox nitb [label="CSTATE_RELEASE_REQ"];
+ ms <- nitb [label="CC RELEASE"];
+ ...;
+
+ ms -> nitb [label="CC RELEASE COMPLETE"];
+ nitb -> emh [label="MNCC-RELEASE.cnf [CAUSE, FACILITY, USERUSER, SSVERSION]"];
+ ...;
+
+ ms <=> nitb [label="RF Channel Release"];
+ ...;
+}