rmqwire
rmqwire
The parameter file in tables/wire, normally called RMQWIRE has the following
parameters :
; comment
exchange-key: (FipSeq) default: none
exchange-name:fip_wires_\SU
exchange-name: (FipSeq) default: none
one of these flavours :
amqp.fanout
amqp.direct
topic
headers (topic keys)
system (routing key)
x-(yourname) your own !
routing-key: (FipSeq) - depends on exchange-type default: none
queue-name: (FipSeq) default: none
the AMQP server will generate one if you do NOT supply one
consumerTag: (FipSeq) default: none
the AMQP server will generate one if you do NOT supply one
amqp-version: (FipSeq) default: rabbitmq
currently either 0.9.1, rabbitmq or 1.0.1
send-heartbeats: time in seconds in FipSeq default: spooled=60 ; single=0/none
No heartbeats required ? : make the value Zero or -ve
amqp-logon: (FipSeq) logon
amqp-password: (FipSeq) password
Logon and password for the exchange default: fip, fip
These can be FipSeq and be in an external LOOKUP file
amqp-logon:\P1
amqp-password:\P2
fixed:P0 amqp-fanout3-auth
lookup:P1 P0 file=AMQP.LOOKUP key=1 value=2
lookup:P2 P0 file=AMQP.LOOKUP key=1 value=3
; and a line in tables/setup/AMQP.LOOKUP :
; auth for fanout
amqp-fanout3-auth,dontcallme,shirley
amqp-channel: (number) channel to use default: next unused number - usually
1
amqp-virtual-host: (FipSeq) Virtual host to use default: '/'
Optional keywords / parameters :
grab-every:(seconds)
Connect, logon and check for news every X seconds.
The default is 600 seconds (5 mins) while the minimum
is 5 seconds.
The '-t' input switch can also be used.
defdest: (default Fip Destination (DU FipHdr field) default: "woops"
chrset: (Source character set ie SC header field) default: ascii
connection-timeout: (timeout in seconds wanting to connect to the remote)
default: 120 secs
connection-retries: (no of connection attempts before erroring default: 5
response-timeout: (timeout in seconds wanting for the remote to respond to a
command) default: 60 secs
extra-fiphdr: (more FipHdr information to add) default: none
archive: yes/no default: yes
Archive the data in log/data
This parameter will override the -Z switch of that is also specified
output-folder: (folder name)
output-folder1: (folder name)
..
output-folder9: (folder name)
if the folder does NOT start with a '/', it is assumed to be
Note these override the default and '-o' input switch..
save-data-path: (Fipseq pathname for data)
This puts the data of the incoming file into this folder and creates a FipHdr
file that contains 2 FipHdrs containing the full path/filename
SX: and FTP_EXTERNAL_FILE:
(ipbalan uses SX and ipftp uses FTP_EXTERNAL_FILE)
eq save-data-path:/fip/data/jpegs/\$e\$y\$i\$d/
Use this for big files that you do not want to copy around the Fip Spool
area.
save-data-filename: (FipSeq name)
Use this to specify exactly what the the 'save-data-path' name should be
default is (incoming filename).(time).(seqno)
eg save-data-filename:\HR-\SU.raw
save-data-balance-group: (Balance group)
Balance all save-data files to the following group. default: do not balance
save-data-balance-folder: (Balance folder)
If balancing, put the token in this folder under spool. default: 2balance
use-oauth:yes/no
Use OAUTH to grab/use an access-token or Bearer token eg for Gmail access
default is NO
use-ssl:yes/no
default is NO
ssl-method: (1,2,3,23,999)
Version number to use for TLS/SSL default: 999 for current default (2 or 3)
ssl-password: (password)
ssl-passwd: (password) default: none
Optional password if the handshake requires a shared secret
ssl-key: (name of a certiticate key file) default: none
ssl-cert: (name of a certificate file) default: none
ssl-root-cert: (name of a root PEM certificate file) defaunt: none
Optional certificates are in tables/ssl unless name starts with '/'
ssl-verify: yes/no verify server certificates default: yes
ssl-ciphers: (list) acceptable ciphers
(use 'openssl ciphers' to list)
default: "HIGH:!aNULL:!kRSA:!SRP:!PSK:!CAMELLIA:!RC4:!MD5:!DSS"
(from feb2021
ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:ECDH+AES128:!aNULL:!SHA1:!AESCCM
ssl-display: yes/no display SSL connection details default: no
For Socks 4/5 - use these parameters to control
use-socks:4/5 yes/no (yes is same as 5)
socks-host: (hostname of the socks proxy) no default
socks-port: (port number of the socks proxy) default: 1080
socks-user: (user name for the socks proxy) no default
if nothing specified, assumed that there is none
socks-pwd: (password for the socks proxy) no default
For old-style HTTP Proxies :
proxy-server: If using a proxy, these are the name and port to aim at.
proxy-port:
proxy-logon: This is the logon and password to get thru the firewall if
required. The format is (logon) (colon) (password) and is converted to base 64
proxy-is-squid:yes/no Is the proxy a Squid ? default: no
proxy-handshake:yes/no Does the proxy need to CONNECT first ? default: no
If the proxy is a Squid, this MUST be NO
-- For accessing Oauth protected assets
; We need an access token
use-oauth:yes
; which flavour of Oauth2 ? - only the first letter is meaningful
; oauth-flavour: Google (Gmail) or Microsoft (Office365)
oauth-flavour:microsoft for office 365
; Current token file will be saved in /fip/fix/goauth2
oauth-token-file:\OT
; Credentials file in /fip/tables/cert
oauth-credentials-file:\OC
; sffoauth and rmqwire
oauth-scope:https://outlook.office365.com/.default
; Script to run when token expires - approximately every 12 hours
oauth-refresh-script: (Script in FipSeq) script to generate the access_token
using a refresh_token
oauth-refresh-script:/fip/bin/sffoauth -z wire/RMQ.O365.OAUTH.SEA -c \OC -t
\OT -H '#WN:\WN' -a
These 5 FipHdrs are use to generate, check, add/renew permissions to access
the remote data - normally Gmail or Office365
oauth-client-fiphdr: (FipHdr) default: IC
oauth-secret-fiphdr: (FipHdr) default: IS
oauth-access-fiphdr: (FipHdr) default: IA
oauth-refresh-fiphdr: (FipHdr) default: IR
oauth-expiry-fiphdr: (FipHdr) default: IX
-- Where sections of FipHdr fields are required or changes to the output style,
use keywords : fixed, partial, combie, optional, repeat, newdate and/or style.
(see The SysAdmin manual for more information).
They are normally specified :
fixed:QZ 1234543
partial:QT ST,3,2,U,<,>
combie:QY ep|na,(0000000)a
option:QE ep,11,7,s
repeat:QK XK,-,3
or repeat:QP PK,,4,#X
style:QS XN,%.03d
replace:QN NN abc=DEF def=GHI
newdate:QT hours+3 "\ZD"
--- Input switches are :
Mandatory :
-s : Hostname where the AMQP server is running. default: none
Optional :
-1 : one single pass and then stop default: continuous
-d : display the conversation with the remote server default: no
and pause between files for you to hit return to continue
valid ONLY with the -1 for single shot; used for debugging troublesome
connections
-D : display the conversation with the remote server default: no
-h : extra FipHdr information default: none
This is in FipSeq and should normally be quoted
Note this is the means that 'iptimer' sends variable information to rmqwire
eg : -h"SN:hello#TC:200401031"
-l : do NOT log anything except errors default: log files only
-L : log every file and every connection default: log files only
-n : name of the service default: name of the parameter file
-o : (first) output queue for incoming files default: spool/2brouted
-p : port number on the remote host default: 143
-t : sleep in seconds between connections/accesses default: 600 secs
-V : do NOT grab any files - used with -D -1 to test only default: run and
grab
-z : parameter file default: wire/RMQWIRE
-Z : do NOT archive any incoming files default: archive
-v : display version number and exit.
------------------------------------------------------------------------------
Version Control
1b 19nov25 -h extraFH ;b amqp-virtual-host added
0a-i 30oct25 original ;g fiphdrs from meta ;h minor ;i better size management
(copyright) 2026 and previous years FingerPost Ltd.