This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/5951 MNCC_Emulation: Make sure to connect to MNCC sokcket at start of main() Change-Id: I5f72031693915e4b869f8004404d8d6d276fd66c --- M library/MNCC_Emulation.ttcn 1 file changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/5951/1 diff --git a/library/MNCC_Emulation.ttcn b/library/MNCC_Emulation.ttcn index bcf6c0f..b368816 100644 --- a/library/MNCC_Emulation.ttcn +++ b/library/MNCC_Emulation.ttcn @@ -33,6 +33,7 @@ import from Osmocom_Types all; import from MNCC_CodecPort all; import from MNCC_Types all; +import from UD_Types all; /* General "base class" component definition, of which specific implementations * derive themselves by means of the "extends" feature */ @@ -183,12 +184,34 @@ } +function f_connect(charstring sock) runs on MNCC_Emulation_CT { + var UD_connect_result res; + timer T := 5.0; + + T.start; + MNCC.send(UD_connect:{sock, -1}); + alt { + [] MNCC.receive(UD_connect_result:?) -> value res { + if (ispresent(res.result) and ispresent(res.result.result_code) and res.result.result_code == ERROR) { + setverdict(fail, "Error connecting to MNCC socket", res); + self.stop; + } else { + g_mncc_ud_id := res.id; + } + } + [] T.timeout { + setverdict(fail, "Timeout connecting to MNCC socket"); + self.stop; + } + } +} + /* call-back type, to be provided by specific implementation; called when new SCCP connection * arrives */ type function MnccCreateCallback(MNCC_PDU conn_ind, charstring id) runs on MNCC_Emulation_CT return MNCC_ConnHdlr; -type function MnccUnitdataCallback(MNCC_PDU mncp) +type function MnccUnitdataCallback(MNCC_PDU mncc) runs on MNCC_Emulation_CT return template MNCC_PDU; type record MnccOps { @@ -196,8 +219,9 @@ MnccUnitdataCallback unitdata_cb } -function main(MnccOps ops, charstring id) runs on MNCC_Emulation_CT { +function main(MnccOps ops, charstring id, charstring sock) runs on MNCC_Emulation_CT { + f_connect(sock); f_call_table_init(); while (true) { @@ -328,6 +352,7 @@ return ret; } +/* server/emulation side function to create expect */ private function f_create_expect(charstring dest_number, MNCC_ConnHdlr hdlr) runs on MNCC_Emulation_CT { var integer i; @@ -342,5 +367,17 @@ setverdict(fail, "No space left in MnccMnccExpectTable"); } +/* client/conn_hdlr side function to use procedure port to create expect in emulation */ +function f_create_mncc_expect(charstring dest_number) runs on MNCC_ConnHdlr { + MNCC_PROC.call(MNCCEM_register:{dest_number, self}) { + [] MNCC_PROC.getreply(MNCCEM_register:{?,?}) {}; + } +} + +function DummyUnitdataCallback(MNCC_PDU mncc) +runs on MNCC_Emulation_CT return template MNCC_PDU { + log("Ignoring MNCC ", mncc); + return omit; +} } -- To view, visit https://gerrit.osmocom.org/5951 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5f72031693915e4b869f8004404d8d6d276fd66c Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>