msc { hscale = "3"; ue,hnb,hnbgw,cn; ue box ue [ label = "subscriber A sends text message" ]; ue box hnb [ label = "Radio Channel Establishment" ]; ue => hnb [ label = "RRC (CM SERV 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 => hnb [ label = "RRC (CP-DATA (RP-DATA (SMS SUBMIT)))" ]; hnb => hnbgw [ label = "RUA DT (RANAP DirectTransfer (CP-DATA (RP-DATA (SMS-SUBMIT))))" ]; hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTransfer (CP-DATA (RP-DATA (SMS-SUBMIT))))" ]; cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CP-ACK)" ]; hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (CP-ACK)" ]; hnb => ue [ label = "RRC (CP-ACK)" ]; cn box cn [ label = "MAP MO Forward SM to IWMSC / SMSC" ]; cn => hnbgw [ label = "SCCP DT1 (RANAP DirectTransfer (CP-DATA (RP-ACK)" ]; hnbgw => hnb [ label = "RUA DT (RANAP DirectTransfer (CP-DATA (RP-ACK)" ]; hnb => ue [ label = "RRC (CP-DATA (RP-ACK)" ]; ue => hnb [ label = "RRC (CP-ACK)" ]; hnb => hnbgw [ label = "RUA DT (RANAP DirectTransfer (CP-ACK))" ]; hnbgw => cn [ label = "SCCP DT1 (RANAP DirectTransfer (CP-ACK))" ]; cn box hnb [ label = "RAB Release or Iu Release" ]; }