# MO-Call with E1 BTS + OsmoBSC with true 3GPP AoIP (planned
# osmo-mgw has to be extended to true MGW functionality!
msc {
	hscale=2;
	ms [label="MS"], bts [label="E1 BTS"], bsc[label="OsmoBSC"], mgcp[label="osmo-mgw"], 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"];
	...;

	mgcp <- bsc	[label="MGCP CRCX ts1/ss2@mgw (MSC:4000)"];
	mgcp box mgcp	[label="Bind to MGW-local RTP Port (3000)\nConnect to MSC:4000"];
	mgcp -> bsc	[label="MGCP CRCX ts1/ss2@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="TRAU Frame Audio (E1 TS1 SS2)"];
	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 ts1/ss2@mgw"];
	mgcp box mgcp	[label="Release MSC-facing local RTP port (3000)"];
	mgcp -> bsc	[label="MGCP DLCX ts1/ss2@mgw OK"];
}
