MGCP_Emulation: Add comment + license disclaimer

Change-Id: Ibf1a1ed80a99c8d8754cce3b47b11b5186b9c52d
diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn
index 1209ff6..beef9e8 100644
--- a/library/MGCP_Emulation.ttcn
+++ b/library/MGCP_Emulation.ttcn
@@ -1,5 +1,32 @@
 module MGCP_Emulation {
 
+/* MGCP Emulation, runs on top of MGCP_CodecPort.  It multiplexes/demultiplexes
+ * the individual connections, so there can be separate TTCN-3 components handling
+ * each of the connections.
+ *
+ * The MGCP_Emulation.main() function processes MGCP primitives from the MGCP
+ * socket via the MGCP_CodecPort, and dispatches them to the per-connection components.
+ *
+ * For each new inbound connection, the MgcpOps.create_cb() is called.  It can create
+ * or resolve a TTCN-3 component, and returns a component reference to which that inbound
+ * connection is routed/dispatched.
+ *
+ * If a pre-existing component wants to register to handle a future inbound call, it can
+ * do so by registering an "expect" with the expected destination phone number.  This is e.g. useful
+ * if you are simulating BSC + MGCP, and first trigger a connection from BSC side in a
+ * component which then subsequently should also handle the MGCP emulation.
+ *
+ * Inbound Unit Data messages (such as are dispatched to the MgcpOps.unitdata_cb() callback,
+ * which is registered with an argument to the main() function below.
+ *
+ * (C) 2017-2018 by Harald Welte <laforge@gnumonks.org>
+ * (C) 2018 by sysmocom - s.f.m.c. GmbH, Author: Daniel Willmann
+ * All rights reserved.
+ *
+ * Released under the terms of GNU General Public License, Version 2 or
+ * (at your option) any later version.
+ */
+
 import from MGCP_CodecPort all;
 import from MGCP_CodecPort_CtrlFunct all;
 import from MGCP_Types all;