<p><a href="https://gerrit.osmocom.org/9471">View Change</a></p><p>2 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/#/c/9471/1/msc/MSC_Tests.ttcn">File msc/MSC_Tests.ttcn:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/#/c/9471/1/msc/MSC_Tests.ttcn@2227">Patch Set #1, Line 2227:</a> <code style="font-family:monospace,monospace">                     invoke_id := 5, /* Phone may not start from 0 or 1 */</code></p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">why always use the same invoke_id?</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">It doesn't matter which value to use while we have a single<br>'request-response' pair within transaction. But I am also<br>going to implement a bit core complex test scenario with<br>multiple messages, so then I will use different values.</p><p style="white-space: pre-wrap; word-wrap: break-word;">In other words, InvokeID is used to relate the response<br>to request within a single transaction.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/#/c/9471/1/msc/MSC_Tests.ttcn@2278">Patch Set #1, Line 2278:</a> <code style="font-family:monospace,monospace">        BSSAP.send(ts_dtap_ussd_init_req(tid := 0, code := "*#100#"));</code></p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">The more "TTCN native" way to handle this (I believe) would be to<br>create a new component type, where basically each component represents<br>one USSD dialogue/session, and the "BSC_ConnHdlr" dispatches to those<br>individual per-dialogue components based on TID.</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">Yep, the current approach is a result of my imperative style of mind.<br>It's a bit hard to start thinking in functional style immediately :)</p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">This method is what we use in e.g. RSL_Emulation to de-multiplex<br>between different logical channels, or in BSSMAP_Emulation to<br>separate the different SCCP connections</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">I like the idea to have a new component type, and I'll try to learn<br>how it's implemented there, for sure. Thanks for this tip!</p><p style="white-space: pre-wrap; word-wrap: break-word;">But at the moment, I just figured out that my upcoming change for<br>OsmoMSC, which enables multiple sessions handling, is not working<br>properly. OsmoMSC closes MM-connection after handling of the first<br>request, and then the pending ones are getting dropped...</p><p style="white-space: pre-wrap; word-wrap: break-word;">Something is wrong with the reference counting, and an ugly hack<br>helped to make it work as expected. The code is here:</p><p style="white-space: pre-wrap; word-wrap: break-word;">https://git.osmocom.org/osmo-msc/log/?h=fixeria/ussd</p><p style="white-space: pre-wrap; word-wrap: break-word;">Also, the testcase itself has the following runtime error:</p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">Dynamic test case error: Sending data on the connection of port<br>CLIENT to 12:BSSAP failed. (Broken pipe)</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">Probably, this is related to some timer...</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/9471">change 9471</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9471"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: comment </div>
<div style="display:none"> Gerrit-Change-Id: Ifa3cd1aeeb34ccf5864f78b76a88aaa6d5e51839 </div>
<div style="display:none"> Gerrit-Change-Number: 9471 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Wed, 06 Jun 2018 20:21:39 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-HasLabels: No </div>