#
# Guralp Configuration System
#   Copyright (c) 2008-2010 Guralp Systems Ltd. All rights reserved.
#

# Scream server

title		Scream server configuration

help_mode

body

heading		Scream server

if		$E:fatal$
error		$E:fatal$
else

error           $E$

section		General
heading2	General settings

field		desc	50
label		User description
prompt		User label for this Scream server instance
check		text

if		$V:change_enable$
checkbox	enable
label		Enable
prompt		Enable this Scream server at system startup
endif

if		$V:can_delete$
checkbox        delete
label           Delete
prompt          Delete this Scream server instance
endif



field		bind_host
label		Server hostname/IP address
prompt		The hostname or IP address the server socket will bind to. Leave empty for all.
check		nullok ipaddr ipv4 ipv6 hostname
help		Normally, this is left blank. If you want to restrict the server so that it
		only responds on a single IP address, enter that IP address (or a hostname that
		resolves to it) here.

field		bind_service
label		Server port/service name
prompt		The TCP and UDP port number or service name to listen on.
check		ipservice
help		Normally, this should be left as "scream" (port 1567). If you wish the server
		to respond on a different port, enter the port number (or the service name from
		/etc/services) here.

checkbox	v40_com_names
label		V4.0 COM names
prompt		Check this to use old V4.0 COMxx port names. Uncheck for meaningful names.
help		Versions of the Scream client software prior to v4.5 require each packet to
		contain a source name description in the form "HOSTNAME/COMxx/SERIAL". The
		xx part is required for terminal mode to function correctly but does not
		correspond to any physical port and does not cope with large numbers of
		attached instruments. Uncheck to use the v4.5 names, which use the physical
		port name (e.g. "Port A") and do not have limitations on attached instruments.

field		acquisition_host
label		Node name
prompt		The node name used in the block description field. Leave blank for hostname
check		nullok word

iselect         gcfout_dbdir gcfout_dbdir
label           GCF converter
prompt          Select which GCF converter instance to send data from.


section		Terminal
heading2	Terminal mode

checkbox	disable_terminal
label		Disable terminal access
prompt		Check this to disable terminal access through Scream clients.
help		Scream is an open, unauthenticated protocol. In deployments which are open to
		users who should not have access to instrument terminal mode, this should be
		checked to ensure those users cannot use the Scream client software to alter
		instrument configuration. Terminal access is still available through the
		commandline data-terminal program, which does require user authentication.

if $H$
help		Use the table below to limit terminal access by IP address. If the IP address of
		the host requesting a terminal matches a reject line, or does not match an 
		accept line, terminal requests from that address will be denied. If the table is
		left empty, all terminal requests will be accepted.

		IP addresses can either be IPv4 or IPv6, and must be followed by the number of
		significant bits to match on (CIDR format). For example, to match all hosts on
		the subnet 192.168.0.*, you would use 192.168.0.0/24. To match the specific host
		192.168.2.1, use 192.68.2.1/32. You can also use a hostname which will be
		resolved to an IP address at program startup, again with a CIDR mask.
else
text		Use the table below to limit terminal access to certain hosts. See help.
endif

table		terminal_ip_filter 2 3
field		terminal_ip_filter_address
label		IP address and mask
check		ipaddr ipv4 ipv6 hostname cidr

checkbox	terminal_ip_filter_reject
label		Reject


section		Push
heading2	Push destinations

text		It is possible to push Scream packets over UDP to several destinations without
		needing a client to send a GCFSEND request. Additionally, it is possible to
		broadcast to a network, although the broadcast option is turned off by default
		to avoid misconfiguration.


table		push 2 5

field		push_host
label		Host
prompt		Destination hostname or IP address
check		ipaddr ipv4 ipv6 hostname

field		push_service
label		Port
prompt		Destination service name from /etc/services or port number.
check		ipservice


checkbox	enable_broadcast
label		Enable broadcast
prompt		Check this to enable pushing Scream packets to network broadcast addresses.


section		Filter
heading2        Output filtering

text            This section allows you to choose whether to transmit all GCF blocks as they are
                received from the GCF converter, or only a subset.

select          filter_type
label           Output type
choice          none            All blocks.
choice          status          Only output status blocks.
choice          sample_rate     Discard blocks above specified sample rate.
choice          channel_name    Only blocks matching a list of channel names.
prompt          Select which types of block to transmit

field           filter_sample_rate 10
label           Max sample rate
rlabel          samples per second
prompt          If filtering by sample rate, the maximum sample rate to send
check           nullok decimal

text            If filtering by channel name, the channels to be transmitted should be entered
		below. An exact channel name may be given, in the format SYSID-STRID. Wildcard
		characters are supported; either _ (underscore) to match any one character or
		* (asterisk) to match zero or more characters.

table           filter_channels 1 10
field           filter_channel_name 15
label           Channel name
prompt		SYSID-STRID
check           nullok regex ^[0-9A-Z_*]{1,6}-[0-9A-Z_*]{1,6}$


endif


# vim: syntax=gconfig
