https://osmocom.org/https://osmocom.org/favicon.ico?16647414092018-12-14T14:17:25ZOpen Source Mobile CommunicationsCellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129522018-12-14T14:17:25Zosmith
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-2 priority-default closed" href="/issues/2541">Feature #2541</a>: have IMEI in HLR DB</i> added</li></ul> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129542018-12-14T14:17:32Zosmith
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-1 priority-lowest closed" href="/issues/3189">Feature #3189</a>: make retrieval of IMEI configurable</i> added</li></ul> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129802018-12-19T13:13:19Zosmith
<ul><li><strong>% Done</strong> changed from <i>0</i> to <i>10</i></li></ul><p>So far I've added the GSUP messages for Check_IMEI, and successfully sent them from the MSC/VLR to HLR, and back (request and ACK). Next I was looking into the state machine.</p>
<p>I was certain that I need to add it in the state machine for Process_Access_Request_VLR (vlr_access_req_fsm.c), because its header file had a PR_ARQ_S_WAIT_CHECK_IMEI state. But it did not execute any code I've added to do the Check_IMEI request when the ME connects. Later I figured out, that this was the wrong FSM, because this is only for handling "a request from the MS for access for SMS transfer or SS activity" as the spec says. After talking to <a class="user active" href="https://osmocom.org/users/91">neels</a>, we decided that this is not relevant to our use case, as we want to send the IMEI to the HLR when the device first connects, not when sending SMS.</p>
<p>Instead, I'm looking at the Update_Location_Area_VLR FSM now, which is defined in vlr_lu_fsm.c and can be changed in vlr.c when the IMEI arrives from the MS.<br />Update_Location_Area_VLR only executes Check_IMEI_VLR indirectly through the Location_Update_Completion_VLR FSM (also defined in vlr_lu_fsm.c) and I'm figuring out now how to dispatch the status changes between the FSMs properly, so it matches what the spec does.</p>
<p>Meanwhile, I have found a completely different approach to using Check_IMEI. More recent version of the <a href="https://www.etsi.org/deliver/etsi_ts/123000_123099/123012/15.00.00_60/ts_123012v150000p.pdf" class="external">23.012 spec</a> have in "4.1.2.1 Process Update_Location_Area_VLR":</p>
<blockquote>
<p>The Automatic Device Detection (ADD) function is an optional feature that allows the HLR to be updated with the current User Equipment (IMEISV) and thus enables the network to configure the subscriber's equipment based on a predefined profile.</p>
</blockquote>
<p><strong><a class="user active" href="https://osmocom.org/users/7">laforge</a>, <a class="user active" href="https://osmocom.org/users/91">neels</a>: sounds like it is more suitable for what we want to do, should I look into that instead?</strong></p>
<p>I'll continue with the Check_IMEI appraoch for now, I'm learning a lot along the way and could use that to work on ADD instead if that is desired.</p>
<p>(EDIT: Also I found <a href="https://www.dialogic.com/den/developer_forums/f/10/t/5945.aspx" class="external">this post</a> from 2009, where the author mentions building a IMEI<>IMSI DB based on Check_IMEI. So we might not be the only ones using this side-effect of Check_IMEI.)</p>
<p>EDIT2: current progress is in osmith/send-imei-to-hlr branch in osmo-hlr, osmo-msc, libosmocore.</p> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129822018-12-19T16:10:07Zlaforge
<ul></ul><blockquote><blockquote>
<p>The Automatic Device Detection (ADD) function is an optional feature that allows the HLR to be updated with the current User Equipment (IMEISV) and thus enables the network to configure the subscriber's equipment based on a predefined profile.</p>
</blockquote>
<p><strong><a class="user active" href="https://osmocom.org/users/7">laforge</a>, <a class="user active" href="https://osmocom.org/users/91">neels</a>: sounds like it is more suitable for what we want to do, should I look into that instead?</strong></p>
</blockquote>
<p>I think it's best to stick with check_imei as that's what's supported for decades in GSM,<br />without having to rely on very recent releases.</p>
<p>On Wed, Dec 19, 2018 at 01:13:20PM +0000, <a class="email" href="mailto:redmine@lists.osmocom.org">redmine@lists.osmocom.org</a> wrote:</p>
<blockquote>
<p>Instead, I'm looking at the Update_Location_Area_VLR FSM now, which is defined in vlr_lu_fsm.c and can be changed in vlr.c when the IMEI arrives from the MS.<br />Update_Location_Area_VLR only executes Check_IMEI_VLR indirectly through the Location_Update_Completion_VLR FSM (also defined in vlr_lu_fsm.c) and I'm figuring out now how to dispatch the status changes between the FSMs properly, so it matches what the spec does.</p>
</blockquote>
<p>this looks good.</p> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129942018-12-21T10:12:16Zosmith
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>libosmocore changes merge to master</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>hlr changes merge to master</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>submit msc changes to gerrit</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>msc changes merged to master</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>update wireshark GSUP protocol</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>update GSUP documentation</i> added</li></ul><p>Proof of concept was working yesterday, I've cleaned up the libosmocore and HLR patches and submitted them:<br /><a class="external" href="https://gerrit.osmocom.org/#/q/topic:send-imei-to-hlr+(status:open+OR+status:merged)">https://gerrit.osmocom.org/#/q/topic:send-imei-to-hlr+(status:open+OR+status:merged)</a></p>
<p>I had mostly implemented the GSUP message by reading "Procedure Check_IMEI_VLR (TS 23.018 Chapter 7.1.2.9)" and only discovered "MAP_CHECK_IMEI service 29.002 8.7.1" as I wrote the commit message, so I am not sure if this simple version is close enough to the specs. Looking forward to the review :)</p>
<p>In MSC, the testsuite needs to be adjusted after the changes, so patches are not submitted yet. That's what I'm working on next.</p> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129952018-12-21T10:12:32Zosmith
<ul><li><strong>% Done</strong> changed from <i>10</i> to <i>30</i></li></ul> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=129962018-12-21T12:48:00Zosmith
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>libosmocore changes merge to master</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>hlr changes merge to master</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>submit msc changes to gerrit</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>update GSUP documentation</i> set to Done</li></ul> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=130352019-01-08T12:17:32Zosmith
<ul><li><strong>% Done</strong> changed from <i>30</i> to <i>60</i></li></ul> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=130372019-01-08T16:09:40Zosmith
<ul><li><strong>% Done</strong> changed from <i>60</i> to <i>90</i></li></ul><p>OsmoMSC changes pushed to Gerrit.</p>
<p>I've also implemented the GSUP dissector changes in Wireshark, tested them and submitted the patch:<br /><a class="external" href="https://code.wireshark.org/review/#/c/31445/">https://code.wireshark.org/review/#/c/31445/</a></p> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=130772019-01-16T10:02:49Zosmith
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>msc changes merged to master</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>update wireshark GSUP protocol</i> set to Done</li></ul> Cellular Network Infrastructure - Feature #3733: Send IMEI from MSC to HLRhttps://osmocom.org/issues/3733?journal_id=130782019-01-16T10:43:48Zosmith
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>90</i> to <i>100</i></li></ul><p>Done \o/</p>