Add comments with short module description on top of each file

Change-Id: Id934d7a763b619d52cbec7de439b3708225b81f3
This commit is contained in:
Harald Welte 2018-01-03 21:07:52 +01:00
parent df32723446
commit 35bb716610
18 changed files with 233 additions and 6 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 {

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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",

View File

@ -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;

View File

@ -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 */

View File

@ -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;

View File

@ -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;

View File

@ -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;