diff options
author | Harald Welte <laforge@gnumonks.org> | 2015-12-31 12:21:05 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2015-12-31 12:21:05 +0100 |
commit | f4d281356f3a9209a6327f34d0d9bb490aaa27b1 (patch) | |
tree | 8093cb0e1f81be4dd86c34e6465fcee149d20562 | |
parent | ca05d75ce7d9a90d07161068e216e3b990c95b02 (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.msc | 45 | ||||
-rw-r--r-- | hnb_cs_mo_call.msc | 75 | ||||
-rw-r--r-- | hnb_cs_mt_call.msc | 79 | ||||
-rw-r--r-- | hnb_ps_lu.msc | 45 | ||||
-rw-r--r-- | hnb_ps_pdp_act.msc | 25 |
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))" ]; +} |