[MERGED] osmo-gsm-manuals[master]: message sequence charts for GSM <-> SIP codec selection

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Mon Mar 26 21:14:04 UTC 2018


Harald Welte has submitted this change and it was merged.

Change subject: message sequence charts for GSM <-> SIP codec selection
......................................................................


message sequence charts for GSM <-> SIP codec selection

Those diagrams represent the current design of the way how
GSM <-> SIP codec selection should work in the future.

Related: OS#1683
Change-Id: If92379b41d859bdf7be4b7689dc0bbca7cb6e682
---
A common/chapters/msc_mncc_mo_sip_mgcp.msc
A common/chapters/msc_mncc_mo_sip_rel18x_mgcp.msc
A common/chapters/msc_mncc_mt_sip_mgcp.msc
3 files changed, 211 insertions(+), 0 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/common/chapters/msc_mncc_mo_sip_mgcp.msc b/common/chapters/msc_mncc_mo_sip_mgcp.msc
new file mode 100644
index 0000000..ab904be
--- /dev/null
+++ b/common/chapters/msc_mncc_mo_sip_mgcp.msc
@@ -0,0 +1,68 @@
+msc {
+	hscale="3";
+	ms [label="MS"], bsc [label="BSC"], mgw [label="MGW at MSC"], omsc [label="OsmoMSC"], osc [label="OsmoSIPcon"], sip [label="External SIP World"];
+	|||;
+	...		[label="Mobile Originated call handled via osmo-sip-conector, OsmoMSC, OsmoMGW: No reliable 18x"];
+	|||;
+
+	ms <-> bsc	[label="RR Establishment"];
+	ms <-> omsc	[label="MM Procedures (Auth/Ciph/...)"];
+	...;
+
+	ms -> omsc	[label="CC SETUP (called, bearer_cap)"];
+	omsc -> osc	[label="MNCC_SETUP_IND (calling, called, bearer_cap)"];
+	osc box osc	[label="bearer_cap -> SDP"];
+	osc -> sip	[label="SIP INVITE (from, to, SDP)"];
+	osc <- sip	[label="SIP 100 Trying (NO rel100)"];
+	omsc <- osc	[label="MNCC_CALL_PROC_REQ"];
+	ms <- omsc	[label="CC CALL PROCEEDING"];
+	...;
+
+	sip box sip	[label="SIP UA starts ringing"];
+	osc <- sip	[label="SIP 180 Ringing (NO SDP)"];
+	omsc <- osc	[label="MNCC_ALERT_REQ"];
+	ms <- omsc	[label="CC ALERTING"];
+
+	omsc box omsc	[label="generate BSSMAP codec list from\n(without knowing SIP/SDP)"];
+	bsc <- omsc	[label="BSSMAP ASSIGNMENT REQ"];
+	ms <-> bsc	[label="RR ASSIGNMENT or RR MODE MODIFY"];
+	bsc -> omsc	[label="BSSMAP ASSIGNMENT COMPL"];
+	omsc box omsc	[label="determine chosen codec from\nBSSMAP Assignment"];
+	mgw <- omsc	[label="MGCP CRCX (RAN-side, chosen codec)"];
+	mgw -> omsc	[label="MGCP CRCX OK (RAN-side)"];
+
+	sip box sip	[label="User accepts call"];
+	osc <- sip	[label="SIP 200 OK (SDP, finally)"];
+	omsc <- osc	[label="MNCC_SETUP_RSP"];
+	ms <- omsc	[label="CC CONNECT"];
+	omsc <- osc	[label="MNCC_RTP_CONNECT"];
+
+	omsc <- osc	[label="MNCC_RTP_CREATE.req (SDP from SIP)"];
+	mgw <- omsc	[label="MGCP CRCX (EXT-side)"];
+	mgw box mgw	[label="If there is a common codec between RAN and CN, use that\nElse: Configure Transcoding in MGW"];
+	mgw -> omsc	[label="MGCP CRCX OK (EXT-side)"];
+	omsc -> osc	[label="MNCC_RTP_CREATE.resp (CN side IP/Port)"];
+	mgw <- omsc	[label="MGCP MDCX (sendrecv)"];
+	mgw -> omsc	[label="MGCP MDCX OK"];
+	ms -> omsc	[label="CC CONNECT ACK"];
+	omsc -> osc	[label="MNCC_SETUP_COMPL_IND"];
+	osc -> sip	[label="SIP ACK"];
+	...;
+	ms box ms	[label="MO user releases call"];
+	ms -> omsc	[label="CC DISCONNECT"];
+	omsc -> osc	[label="MNCC_DISC_IND"];
+	osc -> sip	[label="SIP BYE"];
+	osc <- sip	[label="SIP 200 OK"];
+	omsc <- osc	[label="MNCC_REL_REQ"];
+	ms <- omsc	[label="CC RELEASE COMMAND"];
+	ms -> omsc	[label="CC REELASE COMPLETE"];
+	omsc -> osc	[label="MNCC_REL_CNF"];
+	mgw <- omsc	[label="MGCP DLCX (all connections on EP)"];
+	mgw -> omsc	[label="MGCP DLCX OK"];
+	bsc <- omsc	[label="BSSMAP CLEAR CMD"];
+	ms <-> bsc	[label="RR Disconnect"];
+	bsc -> omsc	[label="BSSMAP CLEAR CMPL"];
+
+}
+
+
diff --git a/common/chapters/msc_mncc_mo_sip_rel18x_mgcp.msc b/common/chapters/msc_mncc_mo_sip_rel18x_mgcp.msc
new file mode 100644
index 0000000..cd12aa5
--- /dev/null
+++ b/common/chapters/msc_mncc_mo_sip_rel18x_mgcp.msc
@@ -0,0 +1,72 @@
+msc {
+	hscale="3";
+	ms [label="MS"], bsc [label="BSC"], mgw [label="MGW at MSC"], omsc [label="OsmoMSC"], osc [label="OsmoSIPcon"], sip [label="External SIP World"];
+	|||;
+	...		[label="Mobile Originated call handled via osmo-sip-conector, OsmoMSC, OsmoMGW: Reliable 18x"];
+	|||;
+
+	ms <-> bsc	[label="RR Establishment"];
+	ms <-> omsc	[label="MM Procedures (Auth/Ciph/...)"];
+	...;
+
+	ms -> omsc	[label="CC SETUP (called, bearer_cap)"];
+	omsc -> osc	[label="MNCC_SETUP_IND (calling, called, bearer_cap)"];
+	osc box osc	[label="bearer_cap -> SDP"];
+	osc -> sip	[label="SIP INVITE (from, to, SDP)"];
+	osc <- sip	[label="SIP 100 Trying (rel100)"];
+	omsc <- osc	[label="MNCC_CALL_PROC_REQ"];
+	ms <- omsc	[label="CC CALL PROCEEDING"];
+	...;
+
+	sip box sip	[label="SIP UA starts ringing"];
+	osc <- sip	[label="SIP 180 Ringing (SDP)"];
+	osc box osc	[label="bearer_cap <- SDP"];
+	omsc <- osc	[label="MNCC_ALERT_REQ"];
+	ms <- omsc	[label="CC ALERTING"];
+	osc -> sip	[label="SIP PRACK (180 Ringing)"];
+	osc <- sip	[label="SIP 200 (PRACK)"];
+
+	omsc box omsc	[label="generate BSSMAP codec list from\nSIP-negotiated bearer_cap"];
+	bsc <- omsc	[label="BSSMAP ASSIGNMENT REQ"];
+	ms <-> bsc	[label="RR ASSIGNMENT or RR MODE MODIFY"];
+	bsc -> omsc	[label="BSSMAP ASSIGNMENT COMPL"];
+	omsc box omsc	[label="determine chosen codec from\nBSSMAP Assignment"];
+	mgw <- omsc	[label="MGCP CRCX (RAN-side, chosen codec)"];
+	mgw -> omsc	[label="MGCP CRCX OK (RAN-side)"];
+
+	omsc <- osc	[label="MNCC_RTP_CREATE.req (SDP from SIP)"];
+	mgw <- omsc	[label="MGCP CRCX (EXT-side)"];
+	mgw box mgw	[label="If there is a common codec between RAN and CN, use that\nElse: Configure Transcoding in MGW"];
+	mgw -> omsc	[label="MGCP CRCX OK (EXT-side)"];
+	omsc -> osc	[label="MNCC_RTP_CREATE.resp (CN side IP/Port)"];
+	...;
+
+	sip box sip	[label="User accepts call"];
+	osc <- sip	[label="SIP 200 OK (INVITE)"];
+	omsc <- osc	[label="MNCC_SETUP_RSP"];
+	ms <- omsc	[label="CC CONNECT"];
+	omsc <- osc	[label="MNCC_RTP_CONNECT"];
+	mgw <- omsc	[label="MGCP MDCX (sendrecv)"];
+	mgw -> omsc	[label="MGCP MDCX OK"];
+	ms -> omsc	[label="CC CONNECT ACK"];
+	omsc -> osc	[label="MNCC_SETUP_COMPL_IND"];
+	osc -> sip	[label="SIP ACK"];
+	...;
+	ms box ms	[label="MO user releases call"];
+	ms -> omsc	[label="CC DISCONNECT"];
+	omsc -> osc	[label="MNCC_DISC_IND"];
+	osc -> sip	[label="SIP BYE"];
+	osc <- sip	[label="SIP 200 OK"];
+	omsc <- osc	[label="MNCC_REL_REQ"];
+	ms <- omsc	[label="CC RELEASE COMMAND"];
+	ms -> omsc	[label="CC REELASE COMPLETE"];
+	omsc -> osc	[label="MNCC_REL_CNF"];
+	mgw <- omsc	[label="MGCP DLCX (all connections on EP)"];
+	mgw -> omsc	[label="MGCP DLCX OK"];
+	bsc <- omsc	[label="BSSMAP CLEAR CMD"];
+	ms <-> bsc	[label="RR Disconnect"];
+	bsc -> omsc	[label="BSSMAP CLEAR CMPL"];
+
+}
+
+
diff --git a/common/chapters/msc_mncc_mt_sip_mgcp.msc b/common/chapters/msc_mncc_mt_sip_mgcp.msc
new file mode 100644
index 0000000..003ec64
--- /dev/null
+++ b/common/chapters/msc_mncc_mt_sip_mgcp.msc
@@ -0,0 +1,71 @@
+msc {
+	hscale="3";
+	ms [label="MS"], bsc [label="BSC"], mgw [label="MGW at MSC"], omsc [label="OsmoMSC"], osc [label="OsmoSIPcon"], sip [label="External SIP World"];
+	|||;
+	...		[label="Mobile Terminated call handled via osmo-sip-conector, OsmoMSC, OsmoMGW"];
+	|||;
+
+	sip box sip	[label="Somebody in SIP world dials a\nGSM subscriber"];
+	osc <- sip	[label="SIP INVITE (from, to, SDP)"];
+	osc box osc	[label="SDP -> bearer_capabilities"];
+	omsc <- osc	[label="MNCC_SETUP_REQ (calling, called, bearer_cap)"];
+	osc -> sip	[label="SIP 100 Trying"];
+	bsc <- omsc	[label="BSSMAP PAGING"];
+	ms <- bsc	[label="RR PAGING"];
+	ms <-> bsc	[label="RR Establishment"];
+	ms <-> omsc	[label="MM Procedures (Auth/Ciph/...)"];
+	...;
+	ms <- omsc	[label="CC SETUP (calling, bearer_cap)"];
+	ms -> omsc	[label="CC CALL CONFIRMED (bearer_cap)"];
+	omsc box omsc	[label="generate BSSMAP codec list from\nMS-negotiated bearer_cap"];
+	bsc <- omsc	[label="BSSMAP ASSIGNMENT REQ"];
+	ms <-> bsc	[label="RR ASSIGNMENT or RR MODE MODIFY"];
+	bsc -> omsc	[label="BSSMAP ASSIGNMENT COMPL"];
+	omsc box omsc	[label="determine chosen codec from\nBSSMAP Assignment"];
+	mgw <- omsc	[label="MGCP CRCX (RAN-side, chosen codec)"];
+	mgw -> omsc	[label="MGCP CRCX OK (RAN-side)"];
+	omsc -> osc	[label="MNCC_CALL_CONF_IND"];
+
+	omsc <- osc	[label="MNCC_RTP_CREATE.req"];
+	mgw <- omsc	[label="MGCP CRCX (EXT-side)"];
+	mgw box mgw	[label="If there is a common codec between RAN and CN, use that\nElse: Configure Transcoding in MGW"];
+	mgw -> omsc	[label="MGCP CRCX OK (EXT-side)"];
+	omsc -> osc	[label="MNCC_RTP_CREATE.resp (CN side IP/Port)"];
+	...;
+	ms box ms	[label="MS starts ringing"];
+	ms -> omsc	[label="CC ALERTING"];
+	omsc -> osc	[label="MNCC_ALERT_IND"];
+	osc -> sip	[label="SIP 180 Ringing (SDP w/chosen codec?)"];
+	...;
+	...;
+	ms box ms	[label="MT user accepts call"];
+	ms -> omsc	[label="CC CONNECT"];
+	omsc -> osc	[label="MNCC_SETUP_CNF"];
+	osc -> sip	[label="SIP 200 OK (SDP w/chossen codec)"];
+	osc <- sip	[label="SIP ACK"];
+	omsc <- osc	[label="MNCC_RTP_CONNECT"];
+	mgw <- omsc	[label="MGCP MDCX (MNCC-side, sendrecv)"];
+	mgw -> omsc	[label="MGCP MDCX OK"];
+	omsc <- osc	[label="MNCC_SETUP_COMPL_REQ"];
+	ms <- omsc	[label="CC CONNECT ACK"];
+	mgw <- omsc	[label="MGCP MDCX (RAN-side, sendrecv)"];
+	mgw -> omsc	[label="MGCP MDCX OK"];
+	...;
+	ms box ms	[label="MT user releases call"];
+	ms -> omsc	[label="CC DISCONNECT"];
+	omsc -> osc	[label="MNCC_DISC_IND"];
+	osc -> sip	[label="SIP BYE"];
+	osc <- sip	[label="SIP 200 OK"];
+	omsc <- osc	[label="MNCC_REL_REQ"];
+	ms <- omsc	[label="CC RELEASE COMMAND"];
+	ms -> omsc	[label="CC REELASE COMPLETE"];
+	omsc -> osc	[label="MNCC_REL_CNF"];
+	mgw <- omsc	[label="MGCP DLCX (all connections on EP)"];
+	mgw -> omsc	[label="MGCP DLCX OK"];
+	bsc <- omsc	[label="BSSMAP CLEAR CMD"];
+	ms <-> bsc	[label="RR Disconnect"];
+	bsc -> omsc	[label="BSSMAP CLEAR CMPL"];
+
+}
+
+

-- 
To view, visit https://gerrit.osmocom.org/7513
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If92379b41d859bdf7be4b7689dc0bbca7cb6e682
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list