[PATCH] osmo-ttcn3-hacks[master]: MNCC_Emulation: Make sure to connect to MNCC sokcket at star...

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.org
Sun Jan 21 18:12:15 UTC 2018


Review 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>



More information about the gerrit-log mailing list