https://osmocom.org/https://osmocom.org/favicon.ico?16647414092020-03-29T18:25:28ZOpen Source Mobile Communicationsosmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=178882020-03-29T18:25:28Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-2 priority-default closed" href="/issues/3682">Feature #3682</a>: Intra-domain connection of OsmoBSC to multiple MSCs</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=178912020-03-29T19:15:37Zipse
<ul></ul><p>It would be really nice if this feature could be implemented both in OsmoPCU and OsmoGbProxy at the same time - OsmoGbProxy is very helpful in practical installations.</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=178982020-03-30T07:50:14Zlaforge
<ul></ul><p>On Sun, Mar 29, 2020 at 07:15:37PM +0000, ipse [REDMINE] wrote:</p>
<blockquote>
<p>It would be really nice if this feature could be implemented both in OsmoPCU and OsmoGbProxy at the same time - OsmoGbProxy is very helpful in practical installations.</p>
</blockquote>
<p>I understand that, and obviously I want that more than anyone else.<br />The problem with pretty much all 'feature' tickets here is: Who is going to contribute related code /<br />developer time or funds :) It's not like we're seeing a lot of resources thrown at Osmocom...</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=202502020-11-04T11:41:20Zlaforge
<ul><li><strong>Subject</strong> changed from <i>Intra-domain connection of OsmoPCU to multiple SGSNs</i> to <i>Intra-domain connection of OsmoPCU to multiple SGSNs (pooling)</i></li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=202512020-11-04T11:42:00Zlaforge
<ul><li><strong>Priority</strong> changed from <i>Low</i> to <i>High</i></li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=202522020-11-04T11:49:40Zlaforge
<ul><li><strong>File</strong> <a href="/attachments/4353">sgsn-pool.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4353/sgsn-pool.png">sgsn-pool.png</a> added</li></ul><p>It has become clear that this feature will be implemented in a generic nature so it can be used from both osmo-pcu and osmo-gbproxy.</p>
What we need to make this work is:
<ul>
<li>NAS Node Selection Function inside BSSGP code on BSS side</li>
<li>multiple NSE inside the BSS (one for each SGSN), each with it's own set of NS-VCs</li>
<li>signaling BVC from each SGSN</li>
<li>separate PTP BVC from each cell to each SGSN</li>
</ul>
<p>This diagram from TS 48.016 serves as a good illustration:</p>
<p><img src="https://osmocom.org/attachments/download/4353/sgsn-pool.png" alt="" /></p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=204432020-11-28T19:34:48Zlaforge
<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></ul><p>WE could implement this "only" in OsmoPCU, but we also need it in osmo-gbproxy. Unfortuantely the proxy as a "MITM" has quite some different implementation requirements as the PCU, so there would be relatively separate implementation in both PCU and gbproxy, using some common library/infrastructure.</p>
<p>The easier approach is probably to focus on gbproxy for now. If somebody needs this for a single osmo-pcu, they can always run osmo-gbproxy in front in order to get the pooling feature. And for people running multiple omso-pcu, they will want osmo-gbproxy anyway for aggregation needs.</p>
<a name="osmo-gbproxy"></a>
<h2 >osmo-gbproxy<a href="#osmo-gbproxy" class="wiki-anchor">¶</a></h2>
<p>I did an analysis for osmo-gbproxy in terms of what kind of processing we need to introduce at each BSSGP message.</p>
The general assumption is that we will have
<ul>
<li>multiple PCU/BSS side Gb interfaces, each
<ul>
<li>with one NSE/NS-VCG</li>
<li>one or multiple NS-VC</li>
<li>one or multiple PTP BVC</li>
<li>no support for pooling in the PCU required or enabled</li>
</ul>
</li>
<li>multiple SSN side Gb interfaces, each
<ul>
<li>with one NSE/NS-VCG</li>
<li>one or multiple NS-VC</li>
<li>support for pooling in the SGSN enabled</li>
</ul></li>
</ul>
<p>For each PTP BVC, we need to "duplicate" it, i.e. establish one per-SGSN BVC for each BSS side BVC. This is achieved by "terminating" the BVC-RESET locally in the Gbproxy on both sides, and having related interconnects, i.e. a BVC-RESET for a PTP BVC on the BSS side will trigger Nx BVC-RESET on the SGSN side, one for each SGSN/NSE.</p>
<p>As for the individual messages:</p>
<a name="Downlink-Only-messages-with-no-routing-requirements"></a>
<h3 >Downlink-Only messages with no routing requirements<a href="#Downlink-Only-messages-with-no-routing-requirements" class="wiki-anchor">¶</a></h3>
<p>Downlink-only messages are accepted from any SGSN and routed baesd on BVCI, just like it is done prior to this feature.</p>
<ul>
<li>RA-CAPABILITY</li>
<li>DL-UNITDATA</li>
<li>PAGING-PS</li>
<li>PAGING-CS</li>
<li>RA-CAPABILITY-UPDATE-ACK</li>
<li>SUSPEND-ACK</li>
<li>SUSPEND-NACK</li>
<li>RESUME-ACK</li>
<li>RESUME-NACK</li>
<li>FLUSH-LL</li>
<li>FLOW-CONTROL-MS-ACK</li>
<li>FLOW-CONTROL-PFC-ACK</li>
<li>CREATE-BSS-PFC</li>
<li>MODIFY-BSS-PFC</li>
<li>DELETE-BSS-PFC</li>
<li>PS-HANDOVER-REQUIRED-ACK</li>
<li>PS-HANDOVER-REQUIRED-NACK</li>
<li>PS-HANDOVER-REQUEST</li>
<li>PS-HANDOVER-COMPLETE-ACK</li>
<li>PERFORM-LOCATION-REQUEST</li>
<li>PERFORM-LOCATION-ABORT</li>
<li>POSITION-RESPOSNE</li>
</ul>
<a name="Messages-routed-by-NRI-extracted-from-TLLI"></a>
<h3 >Messages routed by NRI extracted from TLLI<a href="#Messages-routed-by-NRI-extracted-from-TLLI" class="wiki-anchor">¶</a></h3>
<ul>
<li>UL-UNITDATA</li>
<li>RA-CAPABILITY-UPDATE</li>
<li>SUSPEND</li>
<li>RESUME</li>
<li>FLUSH-LL-ACK</li>
<li>LLC-DISCARDED</li>
<li>FLOW-CONTROL-MS</li>
<li>FLOW-CONTROL-PFC</li>
<li>CREATE-BSS-PFC-ACK/NACK</li>
<li>MODIFY-BSS-PFC-ACK</li>
<li>DELETE-BSS-PFC-ACK</li>
<li>DELETE-BSS-PFC-REQ</li>
<li>PS-HANDOVER-REQUIRED</li>
<li>PS-HANDOVER-REQUEST-ACK</li>
<li>PS-HANDOVER-REQUEST-NACK</li>
<li>PS-HANDOVER-COMPLETE</li>
<li>PS-HANDOVER-CANCEL</li>
<li>PERFORM-LOCATION-RESPONSE</li>
<li>POSITION_COMMAND</li>
</ul>
<a name="Special-cases"></a>
<h3 >Special cases<a href="#Special-cases" class="wiki-anchor">¶</a></h3>
<a name="RADIO-STATUS"></a>
<h4 >RADIO-STATUS<a href="#RADIO-STATUS" class="wiki-anchor">¶</a></h4>
<ul>
<li>if TLLI or P-TMSI are included, route based on NRI</li>
<li>if IMSI is included, route to "randomly distributed" SGSN in pool</li>
</ul>
<a name="BVC-flow-control"></a>
<h4 >BVC flow control<a href="#BVC-flow-control" class="wiki-anchor">¶</a></h4>
<p>The capacity advertised by the BSS/PCU side has to be split between all SGSNs. Separate BVC flow control instances need to be operated in gbproxy for each BVC, with coordination between them. Probably implemented by osmo_fsm.</p>
<a name="STATUS"></a>
<h4 >STATUS<a href="#STATUS" class="wiki-anchor">¶</a></h4>
<p>The STATUS message doesn't really tell us where it belongs to, unless the contained PDU would have TLLI or P-TMSI information. We could consider broadcasting it?</p>
<a name="BVC-BLOCKUNBLOCKRESET"></a>
<h4 >BVC BLOCK/UNBLOCK/RESET<a href="#BVC-BLOCKUNBLOCKRESET" class="wiki-anchor">¶</a></h4>
<p>Those have to be terminated for each BVC inside osmo-gbproxy: One each on the BSS/PCU side, and one per-SGSN-per-BVC on the SGSN side. Coordination must happen between them. Probably implemented by osmo_fsm.</p>
<a name="SGSN-INVOKE-TRACE"></a>
<h4 >SGSN-INVOKE-TRACE<a href="#SGSN-INVOKE-TRACE" class="wiki-anchor">¶</a></h4>
<p>This downlink-only message must be broadcast to all BSS, like it is done in the non-pooling case.</p>
<a name="OVERLOAD"></a>
<h4 >OVERLOAD<a href="#OVERLOAD" class="wiki-anchor">¶</a></h4>
<p>This downlink-only message must be broadcast to all BSS</p>
<a name="RIM"></a>
<h4 >RIM<a href="#RIM" class="wiki-anchor">¶</a></h4>
<p>It is assumed any SGSN can route RIM messages to any other PCU, so we can simply chose any of them. In the case of responses it might be a good idea to use the same thorugh which the request was received.</p>
<a name="MS-REGISTRATION-ENQUIRY"></a>
<h4 >MS-REGISTRATION-ENQUIRY<a href="#MS-REGISTRATION-ENQUIRY" class="wiki-anchor">¶</a></h4>
<p>The ENQUIRY is in uplink direction and contains no TlLI but only IMSI. We can route it to any SGSN. The ENQUIRY-RESPONSE is in downlink direction and must be sent back to whichever PCU/NSE requesting it. We therefore need to track some state here.</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205202020-12-03T23:13:59Zlaforge
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>per-BVC FSM for RESET/BLOCK/UNBLOCK</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>ability to configure multiple SGSN-side NSE in gbproxy</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>TTCN3 test case for RESET/BLOCK/UNBLOCK with two SGSNs in pool</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>NRI configuration in VTY</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>uplink message routing based on NRI extracted from TLLI</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>RADIO-STATUS</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>BVC FLOW CONTROL</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>RIM</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>MS-REGISTRATION-ENQUIRY</i> added</li></ul><p>I've started with implementing the slightly contrived BVC-RESET handling, as this will be the logical first step we need in order to bring up a GbProxy with a pool of several SGSNs.</p>
<p>There will be a per-BVC osmo_fsm that takes care of reset/block/unblock. This FSM can behave in either SGSN or BSSGP role, and gb-proxy will use this FSM both towards each BSS and towards each SGSN.</p>
<p>state-change notification call-backs and reset-indication-callbacks will be used by gbproxy to "stitch" those FSMs together. So for example, if there's a reset-indication from a BSS-side FSM, then that will trigger "reset request FSM events" on each SGSNs BVC-FSM for the same BVCI, which iwll then in turn trigger BVC-RESET procedures towards each of those SGSNs.</p>
<p>The plan is to get this implemented together with a minimal "bring up all BVCs with two SGSN" TTCN3 testcase, and then hand it over to <a class="user active" href="https://osmocom.org/users/30">daniel</a> for implementation of the handling of various PDU types as outlined here in this ticket.</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205292020-12-06T11:22:49Zlaforge
<ul><li><strong>File</strong> <a href="/attachments/4445">bssgp-pdu-overview.gnumeric</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4445/bssgp-pdu-overview.gnumeric">bssgp-pdu-overview.gnumeric</a> added</li><li><strong>File</strong> <a href="/attachments/4446">bssgp-pdu-overview.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4446/bssgp-pdu-overview.png">bssgp-pdu-overview.png</a> added</li></ul><p>I've created a table that shows all BSSGP PDUs, their direction UL/DL, SIG/PTP BVC, SAP as well as the Prosy handling in the context of multiple SGSN / pool support.</p>
<p><a class="attachment" href="https://osmocom.org/attachments/4445">bssgp-pdu-overview.gnumeric</a></p>
<p><img src="https://osmocom.org/attachments/download/4446/bssgp-pdu-overview.png" alt="" /></p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205312020-12-07T14:14:28Zlaforge
<ul><li><strong>Project</strong> changed from <i>OsmoPCU</i> to <i>osmo-gbproxy</i></li><li><strong>Subject</strong> changed from <i>Intra-domain connection of OsmoPCU to multiple SGSNs (pooling)</i> to <i>Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)</i></li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205322020-12-07T14:22:59Zlaforge
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>per-BVC FSM for RESET/BLOCK/UNBLOCK</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>RADIO-STATUS</i> set to Done</li><li><strong>% Done</strong> changed from <i>0</i> to <i>20</i></li></ul>In the <code>laforge/gbproxy</code> branch, there is now the foundation for this feature.
<ul>
<li>all data structures have been adjusted to accomodate the pooling situation</li>
<li>BVC-RESET/BLOCK/UNBLOCK is now terminated inside the proxy for all BVCs on all NSEs (BSS, SGSN)</li>
<li>RADIO STATUS routing based on either TLLI, TMSI or IMSI is implemented</li>
</ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205392020-12-08T12:10:11Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-1 priority-2 priority-default" href="/issues/4897">Bug #4897</a>: gbproxy2: Re-introduce handling of NS_AFF_CAUSE_FAILURE</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205412020-12-08T12:10:24Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-2 priority-default closed" href="/issues/4896">Feature #4896</a>: gbproxy2: Routing of RIM messages</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205432020-12-08T12:10:33Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-3 priority-high3 closed" href="/issues/4895">Bug #4895</a>: gbproxy2: Implement small TLLI cache for SUSPEND/RESUME procedure</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205452020-12-08T12:10:39Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-1 priority-lowest closed" href="/issues/4894">Bug #4894</a>: gbproxy2: Revisit information storage</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205472020-12-08T12:10:44Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-1 priority-1 priority-lowest" href="/issues/4893">Feature #4893</a>: gbproxy2: Make feature bitmap configurable</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205492020-12-08T12:10:50Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-2 priority-default closed" href="/issues/4892">Bug #4892</a>: gbproxy2: Route BSSGP-STATUS based on "Erroneous PDU IE"</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205512020-12-08T12:10:57Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-7 priority-2 priority-default" href="/issues/4891">Bug #4891</a>: gbproxy2: Implement processing of BVC-Flow-Control via BVC FSM</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205532020-12-08T12:11:03Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-4 priority-high2 closed" href="/issues/4890">Bug #4890</a>: gbproxy2: VTY configuration of NRI / pool related bits</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205552020-12-08T12:11:12Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-2 priority-default closed" href="/issues/4889">Bug #4889</a>: implement truncating of BSSGP STATUS when exceeding the FR MTU</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205662020-12-08T22:05:23Zlaforge
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>BVC FLOW CONTROL</i> set to Done</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=205672020-12-08T22:05:50Zlaforge
<ul><li><strong>% Done</strong> changed from <i>20</i> to <i>40</i></li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=206012020-12-12T18:23:34Zlaforge
<ul></ul><p><a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21698">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21698</a> contains a WIP patch that adds support for checking the BVC-bringup to two SGSNs. It is working fine in local tests. Patch cannot be merged yet as it is waiting for the NS2 VTY related changes to be completed by <a class="user active" href="https://osmocom.org/users/1741">lynxis</a></p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=206072020-12-15T09:44:55Zdaniel
<ul></ul><p>In addition to NRI configuration in VTY issue <a class="issue tracker-1 status-3 priority-4 priority-high2 closed" title="Bug: gbproxy2: VTY configuration of NRI / pool related bits (Resolved)" href="https://osmocom.org/issues/4890">#4890</a> will also implement the ability to configure multiple SGSN-side NSE in gbproxy</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=207082021-01-05T08:39:45Zdaniel
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>ability to configure multiple SGSN-side NSE in gbproxy</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>NRI configuration in VTY</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>uplink message routing based on NRI extracted from TLLI</i> set to Done</li><li><strong>Assignee</strong> changed from <i>laforge</i> to <i>daniel</i></li><li><strong>% Done</strong> changed from <i>40</i> to <i>60</i></li></ul><p>Patches in <a class="external" href="https://gerrit.osmocom.org/q/topic:%22sgsn-pooling%22+(status:open%20OR%20status:merged)">https://gerrit.osmocom.org/q/topic:%22sgsn-pooling%22+(status:open%20OR%20status:merged)</a> add pooling support to gbproxy, but still untested (apart from the simple case of only having one SGSN in the pool that is active).</p>
<p>I'm now implementing a TLLI cache to forward SUSPEND/RESUME properly.</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=207932021-01-14T17:07:07Zlaforge
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>TTCN3 test case for RESET/BLOCK/UNBLOCK with two SGSNs in pool</i> set to Done</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=207942021-01-14T17:07:49Zlaforge
<ul><li><strong>% Done</strong> changed from <i>60</i> to <i>70</i></li></ul><p>BVC-{RESET,BLOCK,UNBLOCK} for multiple SGSNs is now tested in <a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21698">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21698</a> as part of the normal test case initialization function</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=208062021-01-15T21:13:47Zlaforge
<ul></ul>Just committed a series of patches with <a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22231">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22231</a> on top which expand testing to include SGSN pool related testing. We're already verifying
<ul>
<li>Suspend/Resume is routed by NRI to correct SGSN</li>
<li>BVC-RESET is duplicated to every SGSN</li>
<li>BVC-FC is duplicated to every SGSN</li>
</ul>
<p>Most of the tests currently test only with a NRI routed to the first SGSN.</p>
<p>I'm creating a new ticket (<a class="issue tracker-2 status-2 priority-2 priority-default" title="Feature: more TTCN3 tests for SGSN pooling (In Progress)" href="https://osmocom.org/issues/4951">#4951</a>) to track the missing TTCN3 tests so we can use this ticket to really keep only track of the actual features (only RIM + MS-REQ-ENQ missing)</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=208072021-01-15T21:14:04Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-2 priority-2 priority-default" href="/issues/4951">Feature #4951</a>: more TTCN3 tests for SGSN pooling</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=208182021-01-16T14:24:46Zlaforge
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>PS-PAGING-REJECT (requires ISMI cache)</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=208322021-01-17T08:25:52Zdaniel
<ul></ul><p>Interesting that 3GPP TS 48.018 does not specify how PS-PAGING-REJECT or DUMMY-PAGING should be sent. I'm looking at Release 16 and Table 5.4.1 has no mention of those. Table 5.2 and 5.3 also don't. I'm guessing we can assume that it's PTP or signalling just like PAGING-PS.</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=208362021-01-17T13:16:25Zdaniel
<ul></ul><p>IMSI cache and support for PAGING_PS_REJECT (at lease on signalling) are in Gerrig:<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-sgsn/+/22251">https://gerrit.osmocom.org/c/osmo-sgsn/+/22251</a><br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-sgsn/+/22252">https://gerrit.osmocom.org/c/osmo-sgsn/+/22252</a></p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=208682021-01-19T16:37:35Zdaniel
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>PS-PAGING-REJECT (requires ISMI cache)</i> set to Done</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=209392021-01-25T09:23:57Zdaniel
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-3 priority-high3 closed" href="/issues/4954">Bug #4954</a>: Fix routing of RADIO-STATUS by TMSI</i> added</li></ul> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=212842021-02-12T22:06:40Zdaniel
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>RIM</i> set to Done</li></ul><p>RIM support has been merged, tests are passing</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=223362021-07-02T16:43:18Zlaforge
<ul></ul><p>so MS-REQ-ENQ is the only missing bit to get this issue closed?</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=223552021-07-06T11:02:07Zdaniel
<ul></ul><p>Apart from BSSGP STATUS routing which is in <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: gbproxy2: Route BSSGP-STATUS based on "Erroneous PDU IE" (Resolved)" href="https://osmocom.org/issues/4892">#4892</a> yeah. I can implement it, shouldn't take too long. We already have the IMSI cache which we need to route the response.</p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=223562021-07-06T12:08:02Zdaniel
<ul><li><strong>% Done</strong> changed from <i>70</i> to <i>90</i></li></ul><p>In Gerrit:<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859">https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859</a><br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858</a></p> osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)https://osmocom.org/issues/4472?journal_id=223772021-07-09T18:21:48Zdaniel
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>MS-REGISTRATION-ENQUIRY</i> set to Done</li><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>90</i> to <i>100</i></li></ul><p>The MS Reg enquiry patches are now merged</p>