https://projects.osmocom.org/https://projects.osmocom.org/favicon.ico?16647414092017-07-10T19:13:29ZOpen Source Mobile CommunicationsOsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=44972017-07-10T19:13:29Zlaforge
<ul></ul><p>well, this is not really a bug.</p>
<p>GPRS has multiple "Network Mode of Operation", NMO I, NMO II and NMO III. As we don't have an (optional!) Gs interface between SGSN and VLR, there is no coordination between the Cs and Ps domain. We also don't support DTM (Dual Transfer Mode).</p>
<p>As such, it is surprising to me why a MS will send a "GPRS SUSPEND" over the DCCH to the CS side of the network at all.</p>
<p>Unfortunately, TS 03.60 Chapter 16.2.1 is rather unclear about the suspend/resume details.</p>
<pre><code>The MS sends an RR Suspend (TLLI, RAI) message to the BSS. The BSS may terminate any ongoing GPRS traffic for this TLLI.</code></pre>
<p>this doesn't specify over which logical channel (PDTCH or DCCH) this is sent to "the BSS" at all.</p>
<pre><code>The BSS sends a Suspend (TLLI, RAI) message to the SGSN</code></pre>
<p>is equally vague, as the Cs-side of the BSS (BTS, BSC) have no connection to the SGSN at all. Only the PCU does, and the PCU has no relation to DCCH on the Cs side.</p>
<p>So I suspect that we somehow <br />a) we are sending something wrong in our SI that makes MSs believe that we support some kind of NMO-I or DTM related functionality, or<br />b) some MS send GPRS SUSPEND over DCCH even though the network nowhere indicated such functionality</p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=44982017-07-10T19:26:21Zlaforge
<ul></ul><p><a class="external" href="https://image.slidesharecdn.com/chap09physrlc03kh-130222002219-phpapp02/95/chap09-phys-rlc03-kh-22-638.jpg?cb=1361492647">https://image.slidesharecdn.com/chap09physrlc03kh-130222002219-phpapp02/95/chap09-phys-rlc03-kh-22-638.jpg?cb=1361492647</a> seems to indicate that "Class B" mobile phones always send a GPRS suspend request via (S)DCCH if they are entering circuit switched services while previously being in a TBF on the Ps side of things.</p>
Relevant spec references:
<ul>
<li>TS 03.60 Section 16.2.1</li>
<li>TS 44.018 Section 3.4.15 GPRS suspension procedure</li>
</ul>
<p>The optional Gs interface between BSC and SGSN does not support any signalling of GPRS SUSPEND.</p>
<p>So I think in order to support this, we indeed would need to filter such messages inside OsmoBTS, and pass them over the PCU socket into OsmoPCU. Inside the PCU, we then can forward them via BSSGP as if we had received a suspend request over the P*TCH.</p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=44992017-07-10T19:29:46Zlaforge
<ul></ul> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=45002017-07-10T22:10:22Zlaforge
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>Assignee</strong> set to <i>laforge</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>50</i></li></ul><p>Implemented in <code>laforge/gprs-suspend</code> branches of osmo-bts and osmo-pcu, remains to be tested.</p>
<p>The inverse operation (GPRS Resume via the GPRS Resumption IE of the RR CHANNEL RELEASE) is entirely optional, so we should get away with not implementing it.</p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=73062018-01-27T16:48:23Zlaforge
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>New</i></li></ul> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=126552018-11-22T11:06:47Zlaforge
<ul><li><strong>Assignee</strong> changed from <i>laforge</i> to <i>osmith</i></li></ul> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=135202019-03-08T16:54:54Zosmith
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Stalled</i></li></ul><blockquote>
<p>Implemented in laforge/gprs-suspend branches of osmo-bts and osmo-pcu, remains to be tested.</p>
</blockquote>
<p>I have rebased the osmo-bts branch and force-pushed it. But the osmo-pcu branch does not exist anymore, can you push it again <a class="user active" href="https://projects.osmocom.org/users/7">laforge</a>? (It doesn't seem to be merged, at least osmo-pcu.git does not mention this issue in "git log".)</p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=135222019-03-08T17:45:27Zlaforge
<ul></ul><p>On Fri, Mar 08, 2019 at 04:54:54PM +0000, <a class="email" href="mailto:redmine@lists.osmocom.org">redmine@lists.osmocom.org</a> wrote:</p>
<blockquote>
<p>[OsmoBSC - Bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: RR GPRS suspension request is not forwarded to the GMM/SGSN (Resolved)" href="https://projects.osmocom.org/issues/2249">#2249</a>] RR GPRS suspension request is not forwarded to the GMM/SGSN<br /><a class="external" href="https://osmocom.org/issues/2249">https://osmocom.org/issues/2249</a></p>
<p>You were mentioned by osmith on 2019-03-08 16:54:54</p>
<blockquote>
<p>Implemented in laforge/gprs-suspend branches of osmo-bts and osmo-pcu, remains to be tested.</p>
</blockquote>
<p>I have rebased the osmo-bts branch and force-pushed it. But the osmo-pcu branch does not exist anymore, can you push it again <a class="user active" href="https://projects.osmocom.org/users/7">laforge</a>? (It doesn't seem to be merged, at least osmo-pcu.git does not mention this issue in "git log".)</p>
</blockquote>
<p>Erm, the branch very well still exists on the server. I just wanted to push (a probably rebased version)</p>
<blockquote>
<p>git push gerrit laforge/gprs-suspend</p>
</blockquote>
<p>To ssh://gerrit.osmocom.org:29418/osmo-pcu.git<br />! [rejected] laforge/gprs-suspend -> laforge/gprs-suspend (non-fast-forward)<br />error: failed to push some refs to 'ssh:<a class="email" href="mailto://laforge@gerrit.osmocom.org">//laforge@gerrit.osmocom.org</a>:29418/osmo-pcu.git'</p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=135282019-03-11T10:05:44Zosmith
<ul></ul><p>You are right, the branch exists indeed (a simple checkout said that the pathspec doesn't exist for some reason, but <code>git checkout -b laforge/gprs-suspend origin/laforge/gprs-suspend</code> worked).</p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=136042019-03-20T15:22:32Zosmith
<ul><li><strong>File</strong> <a href="/attachments/3606">2019-03-20-160655_1916x1041_scrot.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3606/2019-03-20-160655_1916x1041_scrot.png">2019-03-20-160655_1916x1041_scrot.png</a> added</li><li><strong>% Done</strong> changed from <i>50</i> to <i>90</i></li></ul><blockquote>
<p>Implemented in laforge/gprs-suspend branches of osmo-bts and osmo-pcu, remains to be tested.</p>
</blockquote>
<p>I've compiled latest master for sysmoBTS 1002 and tested sending SMS with a smartphone, with and without the patches and searched for the GPRS suspension message in the wireshark gsmtap_log. And I can confirm that the patches work! See attached wireshark screenshot.</p>
Submitted to gerrit:
<ul>
<li><a class="external" href="https://gerrit.osmocom.org/#/c/osmo-pcu/+/3384">https://gerrit.osmocom.org/#/c/osmo-pcu/+/3384</a></li>
<li><a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bts/+/13347">https://gerrit.osmocom.org/#/c/osmo-bts/+/13347</a></li>
</ul>
<p>Besides rebasing, the only changes I've made are fixing a missing include and a typo (osmo-bts.git):<br /><pre>
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 6f193ebb..cac4abda 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -29,6 +29,7 @@
#include <sys/types.h>
#include <arpa/inet.h>
+#include <osmocom/core/byteswap.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/talloc.h>
#include <osmocom/gsm/rsl.h>
@@ -2632,7 +2633,7 @@ static int handle_gprs_susp_req(struct msgb *msg)
}
gsr = (struct gsm48_gprs_susp_req *) gh->data;
- tlli = osmo_htnol(gsr->tlli);
+ tlli = osmo_htonl(gsr->tlli);
LOGP(DRSL, LOGL_INFO, "%s Fwd GPRS SUSPEND REQ for TLLI=0x%08x to PCU\n",
gsm_lchan_name(msg->lchan), tlli);
</pre></p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=136652019-03-27T11:24:37Zlaforge
<ul><li><strong>Status</strong> changed from <i>Stalled</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>90</i> to <i>100</i></li></ul><p>patches have been merged. For the BTS side, there's now a patch in PCU_Tests_RAW.ttcn, see <a class="external" href="https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/13383/">https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/13383/</a></p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=146082019-05-26T21:05:54Zlaforge
<ul></ul><p>See <a class="external" href="https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/14192">https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/14192</a> for a test of the BTS side.</p>
<p>It also seems that the BTS implementation was broken: It forwarded RR SUSP REQ which were sent as unacknowledgd UNITDATA, but not those over regular acknowledged mode. AFAIK, the spc implicitly requires the use of acknowledged mode - like for everything else <strong>unless</strong> it explicitly states unacknowledged mode (measurement report, VGC/VBCS related stuff). Fix see <a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bts/+/14193">https://gerrit.osmocom.org/#/c/osmo-bts/+/14193</a></p> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=187382020-06-16T21:06:20Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-2 priority-default closed" href="/issues/4616">Bug #4616</a>: osmo-sgsn PS paging an MS on each DL ip packet received for it</i> added</li></ul> OsmoBSC - Bug #2249: RR GPRS suspension request is not forwarded to the GMM/SGSNhttps://projects.osmocom.org/issues/2249?journal_id=196982020-09-22T13:55:55Zpespin
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-5 priority-2 priority-default closed" href="/issues/4761">Feature #4761</a>: ttcn3-pcu: Add test verifying behavior upon GPRS Suspension Request received from MS through PCUIF</i> added</li></ul>