msc { hscale=2; bsc[label="BSC"], stp[label="STP"], _msc[label="MSC"]; |||; ||| [label="We assume the MSC is already well connected to the STP and MGW(CN)"]; --- [label="SCTP/IP level establishment"]; bsc =>> stp [label="SCTP INIT"]; bsc <<= stp [label="SCTP INIT_ACK"]; bsc =>> stp [label="SCTP COOKIE_ECHO"]; bsc <<= stp [label="SCTP COOKIE_ACK"]; ||| [label="SCTP payload can now be carried over the link"]; |||; |||; --- [label="M3UA level establishment (over SCTP)"]; bsc =>> stp [label="M3UA ASPUP"]; bsc <<= stp [label="M3UA ASPUP_ACK"]; bsc =>> stp [label="M3UA ASPAC (routing context)"]; bsc <<= stp [label="M3UA ASPAC_ACK (routing context)"]; bsc <<= stp [label="M3UA NTFY (AS-ACTIVE)"]; ||| [label="M3UA payload can now be carried over the link"]; |||; --- [label="BSSMAP level establishment (over SCCP/M3UA/SCTP)"]; bsc =>> _msc [label="BSSMAP RESET (OPC=BSC, DPC=MSC)"]; bsc <<= _msc [label="BSSMAP RESET ACK (OPC=MSC, DPC=BSC)"]; ||| [label="BSSMAP connection-oriented data can now be exchanged"]; |||; --- [label="Repeat BSSMAP level establishment (to other MSCs in the pool)"]; |||; }