[installation] Init with inital config for global

This commit is contained in:
2025-10-30 15:08:17 +01:00
commit 7640b452ed
3678 changed files with 2200095 additions and 0 deletions

View File

@ -0,0 +1,353 @@
.. highlight:: rst
.. _rtpd2caps:
#########
rtpd2caps
#########
**CAPS import module for MRF packets from RTPD server.**
Description
===========
The RTPD plugin for CAPS collects DT and MRF packets through the REN protocol. It
is supposed to have very low latency suitable for real-time data transmission.
The RTPD plugin needs a configuration file which is usually created by its init
script. This configuration files lives under
:file:`$SEISCOMP_ROOT/var/lib/rtpd2caps.cfg`.
The init script reads the configuration from :file:`$SEISCOMP_ROOT/etc/rtpd2caps.cfg`
and the bindings from :file:`$SEISCOMP_ROOT/etc/key/rtpd2caps/*` and prepares the
above final configuration file.
The configuration used by rtpd2caps looks like this:
.. code-block:: sh
# Number of records to queue if the sink connection is not available
queue_size = 20000
# Define the channel mapping. Each item is a tuple of source id composed
# of stream and channel and target location and stream code. The target code
# can be a single channel code (e.g. HNZ) or a combination of location and
# channel code (e.g. 00.HNZ). In case of DT packets the sampling interval
# must be specified after the channel code separated by '@'
# channels = 1.0:HNZ, 1.1:HN1, 1.2:HN2 MRF
# Starts a particular unit configuration. channel mapping can be overridden
# in a unit section as well.
unit 200B3
# Defines the output network code for this unit.
network = "RT"
# Defines the output station code for this unit.
station = "TEST1"
# The RTPD server address.
address = 1.2.3.4:2543
# The CAPS server address.
sink = localhost:18003
# Another unit.
unit 200B4
network = "RT"
station = "TEST2"
address = 1.2.3.4:2543
sink = localhost
A user does not need to create this configuration file manually if using the
plugin integrated into |scname|. The rtpd2caps plugin can be configured as any other
|scname| module, e.g. via :program:`scconfig`.
An example |appname| configuration to generate the configuration above can look like this:
:file:`$SEISCOMP3_ROOT/etc/rtpd2caps.cfg`
.. code-block:: sh
# RTP server address in format [host]:[port]. If port is omitted, 2543 is
# assumed. This is optional and only used if the address in a binding is
# omitted.
address = 1.2.3.4
# CAPS server address to send data to in format [host]:[port]. If port is
# omitted, 18003 is assumed. This is optional and only used if the sink in a
# binding is omitted.
sink = localhost:18003
# Channel mapping list where each item maps a REFTEK stream/channel id to a
# SEED channel code with optional location code. Format:
# {stream}.{channel}:[{loc}.]{cha}, e.g. 1.0:00.HHZ. This is the default used
# if a station binding does not define it explicitly.
channels = 1.0:HNZ,1.1:HN1,1.2:HN2
# Number of packets that can be queued when a sink is not reachable.
queueSize = 20000
:file:`$SEISCOMP3_ROOT/etc/key/rtpd2caps/station_RT_TEST1`
.. code-block:: sh
# Mandatory REFTEK unit id (hex).
unit = 200B3
:file:`$SEISCOMP3_ROOT/etc/key/rtpd2caps/station_RT_TEST2`
.. code-block:: sh
# Mandatory REFTEK unit id (hex).
unit = 200B4
Test examples
=============
To test a server and check what packages are available, rtpd2caps can be ran
in test and verify mode.
.. code-block:: sh
$ rtpd2caps -H 1.2.3.4 --verify --test
Requested attributes:
DAS 'mask' (at_dasid) = 00000000
Packet mask (at_pmask) = 0x00004000
Stream mask (at_smask) = 0x0000FFFF
Socket I/O timeout (at_timeo) = 30
TCP/IP transmit buffer (at_sndbuf) = 0
TCP/IP receive buffer (at_rcvbuf) = 0
blocking I/O flag (at_block) = TRUE
2013:198-08:32:40 local [2195] Parameters:
2013:198-08:32:40 local [2195] * queue_size = 10000 records
2013:198-08:32:40 local [2195] * backfilling_buffer_size = 0s
2013:198-08:32:40 local [2195] Configured 1 source(s) and 0 sink(s)
[RTP 69.15.146.174:2543]
XX.YYYY unit 0
2013:198-08:32:40 local [2195] started reading from RTP server at 1.2.3.4:2543
2013:198-08:32:42 local [2195] Commands may not be sent
2013:198-08:32:42 local [2195] connected to 1.2.3.4:2543
Actual parameters:
DAS 'mask' (at_dasid) = 00000000
Packet mask (at_pmask) = 0x00004000
Stream mask (at_smask) = 0x0000FFFF
Socket I/O timeout (at_timeo) = 30
TCP/IP transmit buffer (at_sndbuf) = 0
TCP/IP receive buffer (at_rcvbuf) = 0
blocking I/O flag (at_block) = TRUE
200B3 stream 1
chamap: 7
chacnt: 3
cha : 99
dtype : 50
time : 2013.198 08:33:39.714000
nsamp : 20
bytes : 512
rate : 100
chans : 0, 1, 2
200B3 stream 1
chamap: 7
chacnt: 3
cha : 99
dtype : 50
time : 2013.198 08:33:39.914000
nsamp : 20
bytes : 512
rate : 100
chans : 0, 1, 2
200B3 stream 1
chamap: 7
chacnt: 3
cha : 99
dtype : 50
time : 2013.198 08:33:40.114000
nsamp : 20
bytes : 512
rate : 100
chans : 0, 1, 2
200B3 stream 1
chamap: 7
chacnt: 3
cha : 99
dtype : 50
time : 2013.198 08:33:40.314000
nsamp : 20
bytes : 512
rate : 100
chans : 0, 1, 2
...
Module Configuration
====================
.. note::
* rtpd2caps is a standalone module and does not inherit
:ref:`global options <global-configuration>`.
* Modules/plugins may require a license file. The default path to license
files is :file:`@DATADIR@/licenses/` which can be overridden by module
configuration of the parameter :confval:`gempa.licensePath`. Example: ::
gempa.licensePath = @CONFIGDIR@/licenses
| :file:`etc/defaults/rtpd2caps.cfg`
| :file:`etc/rtpd2caps.cfg`
| :file:`~/.seiscomp/rtpd2caps.cfg`
.. confval:: address
Type: *string*
RTP server address in format [host]:[port]. If port
is omitted, 2543 is assumed. This is optional and only used
if the address in a binding is omitted.
.. confval:: sink
Type: *string*
CAPS server address to send data to in format [host]:[port].
If port is omitted, 18003 is assumed. This is optional and only used
if the sink in a binding is omitted.
.. confval:: channels
Type: *list:string*
Channel mapping list where each item maps a REFTEK
stream\/channel id to a SEED channel code with optional
location code. Format: {stream}.{channel}:[{loc}.]{cha}, e.g.
1.0:00.HHZ. This is the default used if a station binding does
not define it explicitly.
.. confval:: queueSize
Default: ``10000``
Type: *int*
Number of packets that can be queued when a sink is not reachable.
.. confval:: backFillingBufferSize
Default: ``0``
Unit: *s*
Type: *int*
Length of backfilling buffer. Whenever a hole is detected, records
will be held in a buffer and not sent out. Records are flushed from
front to back if the buffer size is exceeded.
Bindings Parameters
===================
.. confval:: unit
Type: *string*
Mandatory REFTEK unit id \(hex\).
.. confval:: address
Type: *string*
RTP server address in format [host]:[port]. If port
is omitted, 2543 is assumed.
.. confval:: sink
Type: *string*
CAPS server address to send data to in format [host]:[port].
If port is omitted, 18003 is assumed.
.. confval:: channels
Type: *list:string*
Channel mapping list where each item maps a REFTEK
stream\/channel id to a SEED channel code with optional
location code. Format: {stream}.{channel}:[{loc}.]{cha}, e.g.
1.0:00.HHZ.
Command-Line Options
====================
.. _:
.. option:: -h, --help
Print program usage and exit.
.. option:: -H, --host address
RTP server to connect to in format [host]:[port]. If port
is omitted, 2543 is assumed.
.. option:: -S, --sink address
CAPS server to send data to in format [host]:[port]. If port
is omitted, 18003 is assumed.
.. option:: -n, --queue-size arg
Default: ``10000``
Maximum number of packages queued before
the sink connection becomes blocking.
.. option:: -b, --backfilling-buffer-size arg
Default: ``0``
Buffer size in seconds for backfilling holes.
.. option:: -s, --syslog
Logs to syslog.
.. option:: -f, --config-file path
Path to configuration file to be used.
.. option:: --log-file path
Path to log file.
.. option:: --verbosity level
Log verbosity, 4\=DEBUG, 3\=INFO, 2\=WARN, 1\=ERR, 0\=QUIET.
.. option:: --debug
Set log level to DEBUG and log everything to stderr.
.. option:: --verify
Dump package contents. This option is only useful for testing and debugging.
.. option:: --test
Do not send any data to CAPS.