NS_Emulation: Prepare NSConfiguration for non-IP providers

NSConfiguration currently contains parameters relevant only for IP
based transport.  Move IP/UDP parameters into a sub-structure in
anticipation of Frame Relay support.

Change-Id: I6904520d8c2f546327029777d68b1907611a8cf5
diff --git a/library/RAW_NS.ttcn b/library/RAW_NS.ttcn
index d02f4ca..dca352f 100644
--- a/library/RAW_NS.ttcn
+++ b/library/RAW_NS.ttcn
@@ -50,14 +50,15 @@
 		g_nsconfig[idx] := ns_config;
 		/* adjust those parts different for each NS-VC */
 		g_nsconfig[idx].nsvci := ns_config.nsvci + idx;
-		g_nsconfig[idx].local_udp_port := ns_config.local_udp_port + idx + tc_offset;
+		g_nsconfig[idx].provider.ip.local_udp_port := ns_config.provider.ip.local_udp_port + idx + tc_offset;
 	}
 
 	map(self:NSCP[idx], system:NSCP);
 	/* Connect the UDP socket */
-	log("connecting NSCP[", idx, "] to ", g_nsconfig[idx]);
-	res := f_IPL4_connect(NSCP[idx], g_nsconfig[idx].remote_ip, g_nsconfig[idx].remote_udp_port,
-				g_nsconfig[idx].local_ip, g_nsconfig[idx].local_udp_port, 0, { udp := {}});
+	var NSConfiguration nscfg := g_nsconfig[idx];
+	log("connecting NSCP[", idx, "] to ", nscfg);
+	res := f_IPL4_connect(NSCP[idx], nscfg.provider.ip.remote_ip, nscfg.provider.ip.remote_udp_port,
+				nscfg.provider.ip.local_ip, nscfg.provider.ip.local_udp_port, 0, { udp := {}});
 	if (not ispresent(res.connId)) {
 		setverdict(fail, "Could not connect NS UDP socket, check your configuration ", g_nsconfig[idx]);
 		mtc.stop;