Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/9471 )
Change subject: WIP: msc/USSD: add multi-transaction testcase ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/9471/1/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/#/c/9471/1/msc/MSC_Tests.ttcn@2227 PS1, Line 2227: invoke_id := 5, /* Phone may not start from 0 or 1 */ > why always use the same invoke_id? It doesn't matter which value to use while we have a single 'request-response' pair within transaction. But I am also going to implement a bit core complex test scenario with multiple messages, so then I will use different values. In other words, InvokeID is used to relate the response to request within a single transaction. https://gerrit.osmocom.org/#/c/9471/1/msc/MSC_Tests.ttcn@2278 PS1, Line 2278: BSSAP.send(ts_dtap_ussd_init_req(tid := 0, code := "*#100#")); > The more "TTCN native" way to handle this (I believe) would be to > create a new component type, where basically each component represents > one USSD dialogue/session, and the "BSC_ConnHdlr" dispatches to those > individual per-dialogue components based on TID. Yep, the current approach is a result of my imperative style of mind. It's a bit hard to start thinking in functional style immediately :) > This method is what we use in e.g. RSL_Emulation to de-multiplex > between different logical channels, or in BSSMAP_Emulation to > separate the different SCCP connections I like the idea to have a new component type, and I'll try to learn how it's implemented there, for sure. Thanks for this tip! But at the moment, I just figured out that my upcoming change for OsmoMSC, which enables multiple sessions handling, is not working properly. OsmoMSC closes MM-connection after handling of the first request, and then the pending ones are getting dropped... Something is wrong with the reference counting, and an ugly hack helped to make it work as expected. The code is here: https://git.osmocom.org/osmo-msc/log/?h=fixeria/ussd Also, the testcase itself has the following runtime error: > Dynamic test case error: Sending data on the connection of port > CLIENT to 12:BSSAP failed. (Broken pipe) Probably, this is related to some timer... -- To view, visit https://gerrit.osmocom.org/9471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa3cd1aeeb34ccf5864f78b76a88aaa6d5e51839 Gerrit-Change-Number: 9471 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy <axilira...@gmail.com> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy <axilira...@gmail.com> Gerrit-Comment-Date: Wed, 06 Jun 2018 20:21:39 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No