72 lines
2.6 KiB
Plaintext
72 lines
2.6 KiB
Plaintext
# MO-Call with OsmoBTS + OsmoBSC with true 3GPP AoIP
|
|
msc {
|
|
hscale=2;
|
|
ms [label="MS"], bts [label="OsmoBTS"], bsc[label="OsmoBSC"], mgcp[label="OsmoMGW"], m_sc[label="MSC"];
|
|
|
|
ms box m_sc [label="We assume a SDCCH is already established"];
|
|
...;
|
|
|
|
ms -> m_sc [label="DTAP CC SETUP"];
|
|
ms <- m_sc [label="DTAP CC CALL PROCEEDING"];
|
|
|
|
m_sc box m_sc [label="Bind arbitrary local port (4000)"];
|
|
bsc <- m_sc [label="BSSAP ASSIGN REQ (3GPP AoIP MSC:4000)"];
|
|
bts <- bsc [label="RSL CHAN ACT"];
|
|
bts -> bsc [label="RSL CHAN ACT ACK"];
|
|
ms <-> bsc [label="Assignment"];
|
|
...;
|
|
|
|
# connect BTS RTP with BSC-MGW RTP
|
|
bts <- bsc [label="IPA CRCX"];
|
|
bts box bts [label="Bind to BTS-local RTP Port (1000)"];
|
|
bts -> bsc [label="IPA CRCX ACK (BTS:1000)"];
|
|
bsc -> mgcp [label="MGCP CRCX rtpbridge/2@mgw (BTS:1000)"];
|
|
mgcp box mgcp [label="Bind to MGW-local RTP Port (2000)\nConnect to BTS:1000"];
|
|
bsc <- mgcp [label="MGCP CRCX rtpbridge/2@mgw OK (MGW:2000)"];
|
|
bts <- bsc [label="IPA MDCX (MGW:2000)"];
|
|
bts box bts [label="Connect RTP socket to remote (MGW) RTP Port"];
|
|
bts -> bsc [label="IPA MDCX ACK"];
|
|
#bsc -> mgcp [label="MGCP MDCX rtpbridge/2@mgw (optional)"];
|
|
#bsc <- mgcp [label="MGCP MDCX rtpbridge/2@mgw OK (optional)"];
|
|
...;
|
|
|
|
mgcp <- bsc [label="MGCP CRCX rtpbridge/2@mgw (MSC:4000)"];
|
|
mgcp box mgcp [label="Bind to MGW-local RTP Port (3000)\nConnect to MSC:4000"];
|
|
mgcp -> bsc [label="MGCP CRCX rtpbridge/2@mgw OK (MGW:3000)"];
|
|
...;
|
|
|
|
bsc -> m_sc [label="BSSAP ASSIGN CMPL (3GPP AoIP MGW:3000)"];
|
|
m_sc box m_sc [label="Connect remote RTP to MGW addr from ASSIGN CMPL"];
|
|
...;
|
|
|
|
mgcp <=> m_sc [label="RTP Audio MGW:3000 MSC:4000"];
|
|
bts <=> mgcp [label="RTP Audio BTS:1000 MGW:2000"];
|
|
ms <=> bts [label="Um Audio (bidirectional)"];
|
|
ms <-> m_sc [label="DTAP CC ALERTING"];
|
|
...;
|
|
|
|
ms <- m_sc [label="DTAP CC CONNECT"];
|
|
ms -> m_sc [label="DTAP CC CONNECT ACK"];
|
|
--- [label="Voice Call in Progress"];
|
|
ms <- m_sc [label="DTAP CC DISCONNET"];
|
|
ms <- m_sc [label="DTAP CC RELEASE"];
|
|
ms <- m_sc [label="DTAP CC RELEASE COMPL"];
|
|
...;
|
|
bsc <- m_sc [label="BSSMAP CLEAR CMD"];
|
|
bsc -> m_sc [label="BSSMAP CLEAR COMPL"];
|
|
bsc <- m_sc [label="SCCP RLSD"];
|
|
bsc -> m_sc [label="SCCP RLC"];
|
|
...;
|
|
mgcp <- bsc [label="MGCP DLCX rtpbridge/2@mgw"];
|
|
mgcp box mgcp [label="Release MSC-facing local RTP port (3000)"];
|
|
mgcp -> bsc [label="MGCP DLCX rtpbridge/2@mgw OK"];
|
|
|
|
mgcp <- bsc [label="MGCP DLCX rtpbridge/2@mgw"];
|
|
mgcp box mgcp [label="Release BTS-facing local RTP port (2000)"];
|
|
mgcp -> bsc [label="MGCP DLCX rtpbridge/2@mgw OK"];
|
|
|
|
bts <- bsc [label="IPA DLCX"];
|
|
bts box bts [label="Release BTS-local RTP port (1000)"];
|
|
bts -> bsc [label="IPA DLCX OK"];
|
|
}
|