ramswire
rdfwire/ramswire
RDFWIRE connects as a client to a Reuters RDF - Remote Data Feed server.
RAMSWIRE connects as a client to a Reuters Selectfeed Plus or Advanced Market
Service server.
It is normally used for Broadcast messages (NFCP_UBMS or N2_UBMS/N2_STORY) but
topic codes can be added to a watch list and any items mathcing that code can
be snapped.
Each item is parsed and the contents of FIDs are put in the FIP header fields
according to that described in the parameter file.
Normally the data is sent to ipramstxt which will put the jigsaw of packets
back together again.
Optionally the data file can be left in the queue named in the parameter file
and a stub file containing just the FIP Header is slotted into the
spool/2brouted queue for IPROUTE to process and route.
The parameter file in tables/wire is normally the name of the service. It
contains one or more of the following :
; comment lines preceeded by a semicolon
logon: The logon string for this Server
eg logon:000456
For Ramswire, normally no logon needs to be specified as we are only looking
for broadcast messages..
database-1: The database to connect to.
eg database-1:ATP 01
There can be up to 9 databases specified - only if
you are logged on.
dump-data: This makes a copy in /fip/dump of all incoming raw data
text-host: (tcp)
alt-text-host1: (udp)
alt-text-host2: (udp)
alt-text-host3: (udp)
Host name for forwarding to ipramstxt
text-port:
alt-text-port1:
alt-text-port2:
alt-text-port3: Port Number for forwarding to ipramstxt
There can be there separate ramstxt feeding off a ramswire. (blank and 1 are
the same)
The first port is TCP while the othes are UDP (ipramstxt -U).
escape-controls:yes/no default: no
if yes, ESC becomes 4 chr visible string \x1b
hash-in-hdr:\035
NL-in-hdr:\034
CR-in-hdr:\036
FF-in-hdr:\037
watch:(Ric)
Add this Ric to the watchlist
snapfilter:(Topic)
snaptopic:(Topic)
snapproduct:(Product)
Retreve data on the backchannel for Headlines/pnacs with this TOPIC or
PRODUCT
This is not required in broadcast mode.
The rest of the parameter file is alist of fiphdr fields and Fids :
fiphdr:(2 letter FipHdr Code) fid:(fid number)
fiphdr:(2 letter FipHdr Code) fid:(fid number) binary:(size,format,swapped)
fiphdr:(2 letter FipHdr Code) fid:(fid number) bits:(size)
fiphdr:(2 letter FipHdr Code) fid:(fid number) type: (a|n|u|l|p|t)
fiphdr:(2 letter FipHdr Code) fixed:(fixed data)
There are a couple of variations on the fiphdr parameter. Normally just a fid
will do.
eg Put contents of fid 254 (UNIQUE SN or PNAC) in JH
fiphdr:JH fid:254
Note there MUST be no spaces between the keyword 'fid' and the number.
If the data is in binary format, it can be made visible using the 'binary'
subparameter which takes parameters a size - 1,2,4 bytes, an output format -
o,d,h for octal, decimal (default) or hex and, if from an Intel or Dec box, 's'
to flag the bytes are swapped.
fiphdr:JK fid:333 binary:4,d,s
If the field is a bit sequence, this can be converted to visable '0' and '1'
using bits:. An optional size is the number of bytes to convert - default is
the size of the incoming data.
TYPE will force the contents of the field :
q - cleanup spaces - multiple NLs, CRs, tabs and spaces to a single space
a - alphabetic only
u - force all alphabetic uppercase
l - force all alphabetic lowercase
n - numbers only
p - printable only
s - space chrs only (TAB, VT, SPC, CR or NL)
t - punctuation only
b - allow all chrs
x - alphanumeric only
c - control chrs only
z - anpa (alphanumeric and dash) only
FIXED allows extra Fip Hdr fields to be added with no corresponding fid.
In order to use the extra code for finding locations and email in first and
last packets respecitively, the following fiphdrs should be used :
T1 - Next Link
T2 - Last or Previous Link
T4 - PNAC
B1 - Ric
TX - Text/Headline
Input Parameters :
Mandatory :
-n : name of this wire (usually the agency) default: none
either -s : 'px25', 'sx25', Spider name or TTY device name default: none
-p : Terminal Server port number (Not for TTY) default: none
or -P : Port on UnixBox to use for outbound default: none
This is only used where Terminal Servers canNOT run reverse telnet
correctly and need to set a Permanent Virtual Connection across
the ethernet to a fixed port number on the UnixBox
Optional :
-A : name of the archive file if not the -n name field default: 'name'
-d : the name of a DUPLICATE wire where 2 copies of the same
file is required (SD header field). default: none
-D : do NOT dump the data - this is a resend default: use dump-data
-f : Extra FIP header information default: none
For fixed header info in FIP. eg -f #QA:AA#QB:BASIC
As this flag is normally the last specified, its contents
can be used to overwrite any unique fields such as DU, DP, SN etc.
-I : wireId default: 0
-K : Ignore and do not expect the AMS Keep alive records default: do
Use this when replaying data using 'sffport' or 'ipprint'
-L : For Passive (-P) type connections, do NOT reestablish the
link after disconnection default: do
-o : Name of output format (DF field) default: RAMSWIRE or RDFWIRE
-O : Output folder if not default default: spool/2brouted
-r : the name of a DIFFERENT routing table to 'name'
(SR field : used by iproute) default: name
-t : interval vetween stats messgaes in the item log. default: 300
-x : Wakeup string for Pad/modem etc default: none
-y : Banner string to strip from terminal server.default: SpiderBanner
-Y : There is no banner to strip default: as above
-z : name of the parameter file in tables/wire default: same as -n
-Z : do NOT archive any incoming files default: archive
-v : Print the version number and exit
If resending from the dump file, first rename the dump file or (Note you will
need ipramstxt running beforehand) :
ramswire -s+ -P9089 -K -D -Z -n ams.fip
sffport -slocalhost -p9089 /fip/dump/20030712_amsfip
Version Control
; 1t10 27dec02 use UDP to send to ramstext or TCP
;i-l 21jul03 added -D disableDumps
;m-r9 30oct03 escapes better
;s12 28apr08 rdfwire version ;4-5 added snapproduct ;7+ rfa not sfc
;t1-7 3jun09 Linux version ;2 added -I wireId ;3-7 NFCP_UBMS and cfg/fip
parameter files
;8-10 28may15 added wire-id
;000l 23apr98 orriginal version
;k/l 27may02 added mangle_email and -O added
(copyright) 2025 and previous years FingerPost Ltd.