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.orgHarald 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