aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-12-31 12:21:05 +0100
committerHarald Welte <laforge@gnumonks.org>2015-12-31 12:21:05 +0100
commitf4d281356f3a9209a6327f34d0d9bb490aaa27b1 (patch)
tree8093cb0e1f81be4dd86c34e6465fcee149d20562
parentca05d75ce7d9a90d07161068e216e3b990c95b02 (diff)
add some more ladder diagrams; use mscgen instead of gen_ladder
mscgen (http://www.mcternan.me.uk/mscgen/) seems much more advanced than gen_ladder, so I'm creating new diagrams in that language instead. What remains to be done is a converter to conver the legacy ladder diagrams to mscgen format.
-rw-r--r--hnb_cs_lu.msc45
-rw-r--r--hnb_cs_mo_call.msc75
-rw-r--r--hnb_cs_mt_call.msc79
-rw-r--r--hnb_ps_lu.msc45
-rw-r--r--hnb_ps_pdp_act.msc25
5 files changed, 269 insertions, 0 deletions
diff --git a/hnb_cs_lu.msc b/hnb_cs_lu.msc
new file mode 100644
index 0000000..01546f6
--- /dev/null
+++ b/hnb_cs_lu.msc
@@ -0,0 +1,45 @@
+msc {
+ hscale = "3";
+ ue,hnb,hnbgw,cn;
+
+ ue box hnb [ label = "Radio Channel Establishment" ];
+ ue => hnb [ label = "RRC (MM LOC UPD REQ)" ] ;
+ hnb => hnbgw [ label = "RUA CONNECT (RANAP Initial UE Msg (MM LOC UPD REQ))" ];
+ hnbgw => cn [ label = "SCCP CR (RANAP Initial UE Msg (MM LOC UPD REQ))" ];
+ cn >> hnbgw [ label = "SCCP CC" ];
+
+ --- [ label = "Optional retrieval of IMSI (if not given in LU or retrived from VLR by TMSI)" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM IDENTITY REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (MM IDENTITY REQ))" ];
+ hnb => ue [ label = "RRC (MM IDENTITY REQ)" ];
+ ue >> hnb [ label = "RRC (MM IDENTITY RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (MM IDENTITY RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (MM IDENTITY RESP))" ];
+
+ --- [ label = "Mandatory activation of Integrity Protection" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK))" ];
+
+ cn => hnbgw [ label = "SCCP DT1 (RANAP CommonID)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP CommonID)" ];
+
+ --- [ label = "Optional Authentication" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM AUTH REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (MM AUTH REQ))" ];
+ hnb => ue [ label = "RRC (MM AUTH REQ)" ];
+ ue >> hnb [ label = "RRC (MM AUTH RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (MM AUTH RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (MM AUTH RESP))" ];
+
+ --- [ label = "Optional activation of Encryption" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK+CK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK+CK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK+CK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK+CK))" ];
+
+ cn >> hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM LOC UPD ACC))" ];
+ hnbgw >> hnb [ label = "RUA DT (RANAP DirectTransfer (MM LOC UPD ACC))" ];
+ hnb >> ue [ label = "RRC (MM LOC UPD ACC)" ];
+}
diff --git a/hnb_cs_mo_call.msc b/hnb_cs_mo_call.msc
new file mode 100644
index 0000000..10b2d04
--- /dev/null
+++ b/hnb_cs_mo_call.msc
@@ -0,0 +1,75 @@
+msc {
+ hscale = "3";
+ ue,hnb,hnbgw,cn;
+
+ ue box hnb [ label = "Radio Channel Establishment" ];
+ ue => hnb [ label = "RRC (MM LOC UPD REQ)" ] ;
+ hnb => hnbgw [ label = "RUA CONNECT (RANAP Initial UE Msg (CM SERV REQ))" ];
+ hnbgw => cn [ label = "SCCP CR (RANAP Initial UE Msg (CM SERV REQ))" ];
+ cn >> hnbgw [ label = "SCCP CC" ];
+
+ --- [ label = "Optional retrieval of IMSI (if not given in CM or retrived from VLR by TMSI)" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM IDENTITY REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (MM IDENTITY REQ))" ];
+ hnb => ue [ label = "RRC (MM IDENTITY REQ)" ];
+ ue >> hnb [ label = "RRC (MM IDENTITY RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (MM IDENTITY RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (MM IDENTITY RESP))" ];
+
+ --- [ label = "Mandatory activation of Integrity Protection" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK))" ];
+
+ cn => hnbgw [ label = "SCCP DT1 (RANAP CommonID)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP CommonID)" ];
+
+ --- [ label = "Optional Authentication" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM AUTH REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (MM AUTH REQ))" ];
+ hnb => ue [ label = "RRC (MM AUTH REQ)" ];
+ ue >> hnb [ label = "RRC (MM AUTH RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (MM AUTH RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (MM AUTH RESP))" ];
+
+ --- [ label = "Optional activation of Encryption" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK+CK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK+CK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK+CK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK+CK))" ];
+
+ cn >> hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CM SERV ACC))" ];
+ hnbgw >> hnb [ label = "RUA DT (RANAP DirectTransfer (CM SERV ACC))" ];
+ hnb >> ue [ label = "RRC (CM SERV ACC)" ];
+
+ ue box ue [ label = "subscriber A dials a call" ];
+ ue => hnb [ label = "RRC (CC SETUP)" ];
+ hnb => hnbgw [ label = "RUA DT (RANAP DirectTransfer (CC SETUP))" ];
+ hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTransfer (CC SETUP))" ];
+
+ cn box cn [ label = "Signalling towards B subscriber via ISUP, SIP, ..." ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CC ALERTING))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (CC ALERTING))" ];
+ hnb => ue [ label = "RC (CC ALERTING)" ];
+
+ --- [ label = "Assignment of Voice Channel" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP RAB Assign Cmd)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP RAB Assign Cmd)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP RAB Assign Rsp)" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP RAB Assign Rsp)" ];
+
+ cn box cn [ label = "subscriber B picks up the ringing call" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CC CALL CONF))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (CC CALL CONF))" ];
+ hnb => ue [ label = "RRC (CC CALL CONF)" ];
+
+ cn box ue [ label = "Voice channel open" ];
+
+ ue box ue [ label = "subscriber A hangs up" ];
+ ue => hnb [ label = "RRC (CC DISCONNECT)" ];
+ hnb => hnbgw [ label = "RUA DT (RANAP DirectTranfer (CC DISCONNECT))" ];
+ hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTranfer (CC DISCONNECT))" ];
+
+ cn box hnb [ label = "RAB Release or Iu Release" ];
+}
diff --git a/hnb_cs_mt_call.msc b/hnb_cs_mt_call.msc
new file mode 100644
index 0000000..b33497e
--- /dev/null
+++ b/hnb_cs_mt_call.msc
@@ -0,0 +1,79 @@
+msc {
+ hscale = "3";
+ ue,hnb,hnbgw,cn;
+
+ cn box cn [ label = "subscriber A dials a call; signalling arrives at CN" ];
+
+ cn => hnbgw [ label = "SCCP UDT (RANAP Paging Command)" ];
+ hnbgw => hnb [ label = "RUA UDT (RANAP Paging Command)" ];
+ hnb => ue [ label = "RRC Paging" ];
+
+ ue box hnb [ label = "Radio Channel Establishment" ];
+ ue => hnb [ label = "RRC (CM PAGING RESP)" ] ;
+ hnb => hnbgw [ label = "RUA CONNECT (RANAP Initial UE Msg (CM PAGING RESP))" ];
+ hnbgw => cn [ label = "SCCP CR (RANAP Initial UE Msg (CM PAGING RESP))" ];
+ cn >> hnbgw [ label = "SCCP CC" ];
+
+ --- [ label = "Optional retrieval of IMSI (if not given in CM or retrived from VLR by TMSI)" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM IDENTITY REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (MM IDENTITY REQ))" ];
+ hnb => ue [ label = "RRC (MM IDENTITY REQ)" ];
+ ue >> hnb [ label = "RRC (MM IDENTITY RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (MM IDENTITY RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (MM IDENTITY RESP))" ];
+
+ --- [ label = "Mandatory activation of Integrity Protection" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK))" ];
+
+ cn => hnbgw [ label = "SCCP DT1 (RANAP CommonID)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP CommonID)" ];
+
+ --- [ label = "Optional Authentication" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (MM AUTH REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (MM AUTH REQ))" ];
+ hnb => ue [ label = "RRC (MM AUTH REQ)" ];
+ ue >> hnb [ label = "RRC (MM AUTH RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (MM AUTH RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (MM AUTH RESP))" ];
+
+ --- [ label = "Optional activation of Encryption" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK+CK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK+CK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK+CK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK+CK))" ];
+
+ cn >> hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CM SERV ACC))" ];
+ hnbgw >> hnb [ label = "RUA DT (RANAP DirectTransfer (CM SERV ACC))" ];
+ hnb >> ue [ label = "RRC (CM SERV ACC)" ];
+
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CC SETUP))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (CC SETUP))" ];
+ hnb => ue [ label = "RRC (CC SETUP)" ];
+
+ ue => hnb [ label = "RC (CC ALERTING)" ];
+ hnb => hnbgw [ label = "RUA DT (RANAP DirectTransfer (CC ALERTING))" ];
+ hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTransfer (CC ALERTING))" ];
+ cn box cn [ label = "Signalling towards A subscriber via ISUP, SIP, ..." ];
+
+ --- [ label = "Assignment of Voice Channel" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP RAB Assign Cmd)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP RAB Assign Cmd)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP RAB Assign Rsp)" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP RAB Assign Rsp)" ];
+
+ ue => hnb [ label = "RRC (CC CONNECT)" ];
+ hnb => hnbgw [ label = "RUA DT (RANAP DirectTransfer (CC CONNECT))" ];
+ hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTransfer (CC CONNECT))" ];
+
+ cn box ue [ label = "Voice channel open" ];
+
+ ue box ue [ label = "subscriber B hangs up" ];
+ ue => hnb [ label = "RRC (CC DISCONNECT)" ];
+ hnb => hnbgw [ label = "RUA DT (RANAP DirectTranfer (CC DISCONNECT))" ];
+ hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTranfer (CC DISCONNECT))" ];
+
+ cn box hnb [ label = "RAB Release or Iu Release" ];
+}
diff --git a/hnb_ps_lu.msc b/hnb_ps_lu.msc
new file mode 100644
index 0000000..de2dce8
--- /dev/null
+++ b/hnb_ps_lu.msc
@@ -0,0 +1,45 @@
+msc {
+ hscale = "3";
+ ue,hnb,hnbgw,cn;
+
+ ue box hnb [ label = "Radio Channel Establishment" ];
+ ue => hnb [ label = "RRC (GMM IMSI ATTACH REQ)" ] ;
+ hnb => hnbgw [ label = "RUA CONNECT (RANAP Initial UE Msg (GMM IMSI ATTACH REQ))" ];
+ hnbgw => cn [ label = "SCCP CR (RANAP Initial UE Msg (GMM IMSI ATTACH REQ))" ];
+ cn >> hnbgw [ label = "SCCP CC" ];
+
+ --- [ label = "Optional retrieval of IMSI (if not given in LU or retrived from VLR by TMSI)" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (GMM IDENTITY REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (GMM IDENTITY REQ))" ];
+ hnb => ue [ label = "RRC (GMM IDENTITY REQ)" ];
+ ue >> hnb [ label = "RRC (GMM IDENTITY RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (GMM IDENTITY RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (GMM IDENTITY RESP))" ];
+
+ --- [ label = "Mandatory activation of Integrity Protection" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK))" ];
+
+ cn => hnbgw [ label = "SCCP DT1 (RANAP CommonID)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP CommonID)" ];
+
+ --- [ label = "Optional Authentication" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (GMM AUTH REQ))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (GMM AUTH REQ))" ];
+ hnb => ue [ label = "RRC (GMM AUTH REQ)" ];
+ ue >> hnb [ label = "RRC (GMM AUTH RESP)" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP DirectTransfer (GMM AUTH RESP))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP DirectTransfer (GMM AUTH RESP))" ];
+
+ --- [ label = "Optional activation of Encryption" ];
+ cn => hnbgw [ label = "SCCP DT1 (RANAP SecurityModeCommand (IK+CK))" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP SecurityModeCommand (IK+CK))" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP SecurityModeResponse (IK+CK))" ];
+ hnbgw >> cn [ label = "SCCP DT1 (RANAP SecurityModeResponse (IK+CK))" ];
+
+ cn >> hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (GMM IMSI ATTACH ACC))" ];
+ hnbgw >> hnb [ label = "RUA DT (RANAP DirectTransfer (GMM IMSI ATTACH ACC))" ];
+ hnb >> ue [ label = "RRC (GMM IMSI ATTACH ACC)" ];
+}
diff --git a/hnb_ps_pdp_act.msc b/hnb_ps_pdp_act.msc
new file mode 100644
index 0000000..2f2f3cf
--- /dev/null
+++ b/hnb_ps_pdp_act.msc
@@ -0,0 +1,25 @@
+msc {
+ hscale="3", wordwraparcs="1";
+ ue,hnb,hnbgw,sgsn,ggsn;
+
+ ue box hnb [ label = "Radio Channel Establishment, possibly already done by IMSI ATTACH / RAU" ];
+ ue => hnb [ label = "RRC (SM PDP CTX ACT REQ)" ];
+ hnb => hnbgw [ label = "RUA DT (RANAP DirectTransfer (SM PDP CTX ACT REQ))" ];
+ hnbgw => sgsn [ label = "SCCP DT1 (RANAP DirectTransfer (SM PDP CTX ACT REQ))" ];
+
+ sgsn => ggsn [ label = "GTP-C PDP CTX ACT REQ" ];
+ ggsn >> sgsn [ label = "GTP-C PDP CTX ACT ACK (IP+TEI of GGSN)" ];
+
+ sgsn => hnbgw [ label = "SCCP DT1 (RANAP Activate RAB Req (IP+TEI of GGSN)" ];
+ hnbgw => hnb [ label = "RUA DT (RANAP Activate RAB Req (IP+TEI of GGSN)" ];
+ hnb box ue [ label = "RAB Establishment" ];
+ hnb >> hnbgw [ label = "RUA DT (RANAP Activate RAB Resp (IP + TEI of HNB)" ];
+ hnbgw >> sgsn [ label = "SCCP DT1 (RANAP Activate RAB Resp (IP + TEI of HNB)" ];
+
+ sgsn => ggsn [ label = "GTP-C PDP CTX MOD REQ (IP + TEI of HNB)" ];
+ ggsn >> sgsn [ label = "GTP-C PDP CTX MOD RESP" ];
+
+ sgsn >> hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (SM PDP CTX ACT ACK))" ];
+ hnbgw >> hnb [ label = "RUA DT (RANAP DirectTransfer (SM PDP CTX ACT ACK))" ];
+ hnb >> ue [ label = "RRC (SM PDP CTX ACT ACK))" ];
+}