diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-01-03 21:07:52 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-01-03 21:09:29 +0100 |
commit | 35bb7166109774108cfe6b8112f34500d5881775 (patch) | |
tree | caa0970d66607b859856a0cf4cf9fe4ef9f80ed5 | |
parent | df32723446f5280fe65bd0ef4f25790e39ec8087 (diff) |
Add comments with short module description on top of each file
Change-Id: Id934d7a763b619d52cbec7de439b3708225b81f3
-rw-r--r-- | library/BSSAP_CodecPort.ttcn | 11 | ||||
-rw-r--r-- | library/BSSMAP_Emulation.ttcn | 30 | ||||
-rw-r--r-- | library/BSSMAP_Templates.ttcn | 9 | ||||
-rw-r--r-- | library/GSUP_Types.ttcn | 12 | ||||
-rw-r--r-- | library/IPA_CodecPort.ttcn | 11 | ||||
-rw-r--r-- | library/IPA_Emulation.ttcn | 16 | ||||
-rw-r--r-- | library/IPA_Types.ttcn | 13 | ||||
-rw-r--r-- | library/IuUP_Emulation.ttcn | 14 | ||||
-rw-r--r-- | library/IuUP_Types.ttcn | 11 | ||||
-rw-r--r-- | library/L3_Templates.ttcn | 9 | ||||
-rw-r--r-- | library/MGCP_CodecPort.ttcn | 11 | ||||
-rw-r--r-- | library/MGCP_Templates.ttcn | 10 | ||||
-rw-r--r-- | library/MGCP_Types.ttcn | 12 | ||||
-rw-r--r-- | library/Osmocom_CTRL_Functions.ttcn | 21 | ||||
-rw-r--r-- | library/Osmocom_CTRL_Types.ttcn | 10 | ||||
-rw-r--r-- | library/RSL_Emulation.ttcn | 17 | ||||
-rw-r--r-- | library/RSL_Types.ttcn | 11 | ||||
-rw-r--r-- | library/RTP_CodecPort.ttcn | 11 |
18 files changed, 233 insertions, 6 deletions
diff --git a/library/BSSAP_CodecPort.ttcn b/library/BSSAP_CodecPort.ttcn index 7470dd47..41bd1719 100644 --- a/library/BSSAP_CodecPort.ttcn +++ b/library/BSSAP_CodecPort.ttcn @@ -1,5 +1,16 @@ module BSSAP_CodecPort { +/* Simple BSSAP Codec Port, translating between raw SCCP primitives with + * octetstring payload towards the SCCP provider, and BSSAP-SCCP primitives + * which carry the decoded BSSAP data types as payload. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from General_Types all; import from Osmocom_Types all; diff --git a/library/BSSMAP_Emulation.ttcn b/library/BSSMAP_Emulation.ttcn index ba7e27c3..153fb86a 100644 --- a/library/BSSMAP_Emulation.ttcn +++ b/library/BSSMAP_Emulation.ttcn @@ -1,5 +1,35 @@ module BSSMAP_Emulation { +/* BSSMAP Emulation, runs on top of BSSAP_CodecPort. It multiplexes/demultiplexes + * the individual connections, so there can be separate TTCN-3 components handling + * each of the connections. + * + * The BSSMAP_Emulation.main() function processes SCCP primitives from the SCCP + * stack via the BSSAP_CodecPort, and dispatches them to the per-connection components. + * + * Outbound BSSAP/SCCP connections are initiated by sending a BSSAP_Conn_Req primitive + * to the component running the BSSMAP_Emulation.main() function. + * + * For each new inbound connections, the BssmapOps.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 connection, it can + * do so by registering an "expect" with the expected Layer 3 (DTAP) payload. This is e.g. useful + * if you are simulating BTS + MSC, and first trigger a connection from BTS/RSL side in a + * component which then subsequently should also handle the MSC emulation. + * + * Inbound Unit Data messages (such as are dispatched to the BssmapOps.unitdata_cb() callback, + * which is registered with an argument to the main() function below. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + import from SCCP_Emulation all; import from SCCPasp_Types all; import from BSSAP_Types all; diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index bb1b5372..cb6dde8c 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -1,5 +1,14 @@ module BSSMAP_Templates { +/* BSSMAP Templates, building on top of BSSAP_Types from Ericsson. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index b994d1f4..fc524a1f 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -1,5 +1,17 @@ module GSUP_Types { +/* GSUP_Types, defining abstract TTCN-3 data types for the GSUP protocol. + * + * GSUP is a non-standard protocol used between OsmoMSC/OsmoSGSN and OsmoHLR + * in order to replace the complex TCAP/MAP protocol. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from General_Types all; import from Osmocom_Types all; diff --git a/library/IPA_CodecPort.ttcn b/library/IPA_CodecPort.ttcn index 9ba9d185..f9a242b7 100644 --- a/library/IPA_CodecPort.ttcn +++ b/library/IPA_CodecPort.ttcn @@ -1,5 +1,16 @@ module IPA_CodecPort { +/* Simple IPA Codec Port, translating between raw TCP octetstring payload + * towards the IPL4asp port provider, and IPA primitives + * which carry the decoded IPA data types as payload. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from IPL4asp_PortType all; import from IPL4asp_Types all; import from IPA_Types all; diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcn index 9bad69fe..b40818fa 100644 --- a/library/IPA_Emulation.ttcn +++ b/library/IPA_Emulation.ttcn @@ -2,10 +2,18 @@ module IPA_Emulation { /* This module implements the IPA multiplex protocol on top of TCP, using the IPL4asp * test-port as provider. It implements both client and server roles, as well was the CCM - * handshake for establishing the identity of the client to the server. It already knows - * certain well-known sub-protocols such as A-bis RSL, MGCP and SCCP and transcodes messages - * so the user can work with abstract data types rather than binary messages. It handles - * multiple packets inside one TCP segment */ + * handshake for establishing the identity of the client to the server. + * + * It already knows certain well-known sub-protocols such as A-bis RSL, MGCP and SCCP and + * GSUP. IT hence transcodes messages so the user can work with abstract data types rather + * than binary messages. It handles multiple packets inside one TCP segment. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ import from IPA_Types all; import from IPA_CodecPort all; diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index 5522e87f..933a3fe6 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -1,7 +1,16 @@ -/* (C) 2017 by Harald Welte <laforge@gnumonks.org> */ - module IPA_Types { +/* Definitions of abstract data types for the IPA multiplex protocol. + * Uses the TITAN "RAW" codec syntax to auto-generate encoder and decoder + * functions. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from Osmocom_Types all; type enumerated IpaStreamId { diff --git a/library/IuUP_Emulation.ttcn b/library/IuUP_Emulation.ttcn index ec25e49e..77cd7393 100644 --- a/library/IuUP_Emulation.ttcn +++ b/library/IuUP_Emulation.ttcn @@ -1,5 +1,19 @@ module IuUP_Emulation { +/* IuUP emulation, uses the encoding/decoding from IuUP_Types. + * + * rather than running in a separate component with related primitives, + * we just implement a set of functions and data types which can be used + * by other code (such as an RTP endpoint) to implement IuUP support. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + import from Osmocom_Types all; import from IuUP_Types all; diff --git a/library/IuUP_Types.ttcn b/library/IuUP_Types.ttcn index 933b64fd..b822ddf1 100644 --- a/library/IuUP_Types.ttcn +++ b/library/IuUP_Types.ttcn @@ -1,5 +1,16 @@ module IuUP_Types { +/* Definition of abstract types for the IuUP protocol as specified in + * 3GPP TS 25.415. Uses the TITAN "RAW" codec to auto-generate encoder/decoder + * functions. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from Osmocom_Types all; import from General_Types all; diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index f0f3d380..19cb99f3 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -1,5 +1,14 @@ module L3_Templates { +/* L3 Templates, building on top of MobileL3*_Types from Ericsson. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from General_Types all; import from MobileL3_Types all; import from MobileL3_CommonIE_Types all; diff --git a/library/MGCP_CodecPort.ttcn b/library/MGCP_CodecPort.ttcn index 06072af7..416ac36c 100644 --- a/library/MGCP_CodecPort.ttcn +++ b/library/MGCP_CodecPort.ttcn @@ -1,5 +1,16 @@ module MGCP_CodecPort { +/* Simple MGCP Codec Port, translating between raw UDP primitives with + * octetstring payload towards the IPL4asp provider, and MGCP primitives + * which carry the decoded MGCP data types as payload. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from IPL4asp_PortType all; import from IPL4asp_Types all; import from MGCP_Types all; diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn index 3fa7bd12..f4c6e0fd 100644 --- a/library/MGCP_Templates.ttcn +++ b/library/MGCP_Templates.ttcn @@ -1,5 +1,15 @@ module MGCP_Templates { +/* MGCP Templates, building on top of MGCP_Types (Osmocom) and SDP_Types from Ericsson. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + import from MGCP_Types all; import from SDP_Types all; diff --git a/library/MGCP_Types.ttcn b/library/MGCP_Types.ttcn index 22141f45..9d1a4e13 100644 --- a/library/MGCP_Types.ttcn +++ b/library/MGCP_Types.ttcn @@ -1,4 +1,16 @@ module MGCP_Types { + +/* Definition of abstract types for the MGCP protocol as specified in + * IETF RFC 3435. Uses the TITAN "TEXT" codec to auto-generate encoder/decoder + * functions, as well as the SDP type definitions and coder from Ericsson. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from SDP_Types all; type charstring MgcpVerb ("EPCF", "CRCX", "MDCX", "DLCX", "RQNT", "NTFY", diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index b8e68e3f..70885c92 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -1,4 +1,25 @@ module Osmocom_CTRL_Functions { + +/* Definition of helper functions for the Osmocom CTRL interface. + * + * As opposed to many other parts of the Osmocom TTCN-3 code base, this module + * implements blocking functions, instead of asynchronous functions. The + * rationale for this is simple: One normally wants to inquire a value or set + * a value and not continue the main program until that operation is complete. + * + * CTRL is a machine-type protocol on how external programs can interact with + * an Osmocom program in a structured way. It is intended for programmatic + * access (by other software), as opposed to the VTY interface intended for + * human consumption. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + import from Osmocom_CTRL_Types all; import from IPA_Emulation all; diff --git a/library/Osmocom_CTRL_Types.ttcn b/library/Osmocom_CTRL_Types.ttcn index 4d2406d4..1d776689 100644 --- a/library/Osmocom_CTRL_Types.ttcn +++ b/library/Osmocom_CTRL_Types.ttcn @@ -1,5 +1,15 @@ module Osmocom_CTRL_Types { +/* Definition of abstract types for the CTRL protocol as used in Osmocom. + * Uses the TITAN "TEXT" codec to auto-generate encoder/decoder functions. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + type charstring CtrlVerb ("GET", "SET") with { /* see https://www.eclipse.org/forums/index.php/t/1088893/ on why this * match expression is needed here */ diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index a42ca1ea..7c5a1681 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -1,5 +1,22 @@ module RSL_Emulation { +/* RSL Emulation, runs on top of IPA_Emulation. It multiplexes/demultiplexes + * the individual connections (logical channels), so there can be separate TTCN-3 components + * handling each of the connections. + * + * The RSL_Emulation.main() function processes RSL messages from the IPA demultiplex + * stack via the IPA_RSL_PT, and dispatches them to the per-connection components. + * + * Outbound RSL connections are initiated by sending a RSLDC_ChanRqd primitive + * to the component running the RSL_Emulation.main() function. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 0604440e..f42b7fda 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1,5 +1,16 @@ module RSL_Types { +/* GSUP_Types, defining abstract TTCN-3 data types for the A-bis RSL protocol. + * + * RSL is a 3GPP standard protocol used between BTS and BSC in a GSM network. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; diff --git a/library/RTP_CodecPort.ttcn b/library/RTP_CodecPort.ttcn index f9293f4d..8f85fd9a 100644 --- a/library/RTP_CodecPort.ttcn +++ b/library/RTP_CodecPort.ttcn @@ -1,5 +1,16 @@ module RTP_CodecPort { +/* Simple RTP Codec Port, translating between raw UDP primitives with + * octetstring payload towards the IPL4asp provider, and RTP primitives + * which carry the decoded abstract RTP data types as payload. + * + * (C) 2017 by Harald Welte <laforge@gnumonks.org> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + import from IPL4asp_PortType all; import from IPL4asp_Types all; import from RTP_Types all; |