https://osmocom.org/https://osmocom.org/favicon.ico?16647414092018-07-18T15:31:45ZOpen Source Mobile CommunicationsOsmoBSC - Bug #3396: TC_ho_int is indicating port problem during handoverhttps://osmocom.org/issues/3396?journal_id=103702018-07-18T15:31:45Zdexter
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>80</i></li></ul><p>I managed to find out the reason for the handover problem. First of all I did not notice the problem at first because I kept osmo-bsc running while debugging the TTCN3 tests. When osmo-bsc restarts the test failes, but when I kept osmo-bsc running the test passed. The reason for this was that the same lchan as with the test before got re-used and the struct memebers that hold the ip/port were still populated from the prevous run (it did the IPACC negotiation, but a fraction of a time too late).</p>
<p>So first of all I made it failing reliably by deleting those struct members with the lchan_free()<br /><a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bsc/+/10038">https://gerrit.osmocom.org/#/c/osmo-bsc/+/10038</a> chan_alloc: delete rtp voice related in lchan_free()</p>
<p>Since the IPACC negotiation is done a tiny bit too late I added a signal handler to handover_logic that listens to SS_ABISIP for an IPACC CRCX. Before I signal to the GSCON FSM that the handover is done I check if we have a valid port in the lchan struct. If yes, everything is ok and I proceed. If no I set a flag. The next IPACC CRCX that comes along will then trigger the signal that tells the GSCON FSM that the handover is (finally) done.</p>
<p><a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bsc/+/10039">https://gerrit.osmocom.org/#/c/osmo-bsc/+/10039</a> handover_logic: make sure IPACC is done before MGCP</p>
<p>The reason why this problem has been undetected for presumably longer time was that the as_media() was not verifying if there is an MDCX or not. Now it does and it detects the problem. Unfortunately the as_handover also needed some fixing in order to be a bit more robust against the racing problem with the IPACC, MGCP and RSL.</p>
<p><a class="external" href="https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/10040">https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/10040</a> MSC_ConnectionHandler: make as_handover more race robust</p> OsmoBSC - Bug #3396: TC_ho_int is indicating port problem during handoverhttps://osmocom.org/issues/3396?journal_id=105382018-07-30T12:32:59Zdexter
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>80</i> to <i>100</i></li></ul><p><a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bsc/+/10039/">https://gerrit.osmocom.org/#/c/osmo-bsc/+/10039/</a> is not merged yet but TC_ho_int is passing again, so lets abandon gerrit change 10039.</p>