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" ]; }