iprmq

iprmq

    Push copy out to a AMQP/Rabbit-MQ/Apache Qpid message queuing server

The parameter file in tables/wire, normally called 2AMQP_SERVER has the
following parameters :

    ; comment

    routing-key: (FipSeq)               default: none
        routing-key: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 !
NOPE    exchange-key: (FipSeq) - depends on exchange-type
                            default: none
    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, in FipSeq)
        channel to use
        this is used for the first connection only

AMQP metadata - please refer the AMQP doc for explanations
    All these are in FipSeq - so can include any FipHdr field etc

    amqp-content-type:
        combie:QM   BM,text/plain
        amqp-content-type:\QM
    amqp-content-encoding:
        (rarely used unless zip/gzipped)
    amqp-delivery-mode:
    amqp-locale: (FipSeq) language code     default: en_US
        (locale is amqp term NOT the Linux)
        combie:QJ   BJ,en_US
        amqp-locale:\QJ
    amqp-priority: - must resolve to a number 0-9
        combie:Q4   BP|XP|RP,5
        valid:Q5    Q4 1 2 3 4 5 6 7 8 9
        amqp-priority:\Q5
    amqp-correlation-id:
    amqp-reply-to:
    amqp-expiration:
    amqp-message-id:
        fixed:Q3    \QY/\QU/\QX/\QV
        combie:QI   BI|Q3
        amqp-message-id:\QI
    amqp-timestamp: (secs from the epoch)
        ; \$p use time-when-we-started-to-process-THIS-file
        amqp-timestamp:\$p
    amqp-type: anything you like
        combie:QY   BY,FIP-WIRES
        amqp-type:\QY

    amqp-virtual-host: (FipSeq) Virtual host to use     default: '/'

    amqp-custom-headers
        syntax is (key) : (value)
        To specify multiple headers :
            either  : add a PIPE as a sep and then the 2nd and subsq fields
            or  : specify another 'amqp-custom-header: (key):(value) line
        if you have spaces in a value, put the value in

amqp-custom-headers:fipProvider:'\QR'|fipSource:'\QU'|fipService:'\QS'|fipSubService:"\QB"|fipENPScode:\QA
        or  amqp-custom-headers:fipProvider:'\QR'
            amqp-custom-headers:fipSource:'\QU'

    done-queue: (FipSeq) done queue         default: none
    error-queue: (FipSeq) error queue       default: none
    retry-queue: (FipSeq)               default: offline_(input queuename)

    max-open-retries: (number)
        Number of retries to open a connection  - default is 3 (was 5)
    open-timeout:   (seconds)   default: 10 (was 120)
        Wait time in seconds before the remote host should allow a connection
        Reduce this to 10 or so if the remote is just across the computer room !
    timeout: (seconds)      default: 20 (was 120)
        Wait time in seconds before the remote host should ack a file once sent
        If sending large files over very noisy or busy or slow connections, try
        increasing this if you get lots of errors.

    timeout-message: no of seconds before logging a slow transmission
        default is 20   (parallel running only)
    log-line: Extra logging in FipSeq
        default is none

    extra-fiphdr: (FipSeq)
        Additional FipHdr info to be added to each incoming file. default: none

    use-ssl:yes/no
        The commends are for a ftp running over SSL/TLS on the remote server
        default is NO
        no  - normal, standard plain TCP
        yes - connect (normally) and immediately start SSL ontop

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

Input Parameters are (all optional):
Either
    -1 : (filename) send a single file and stop default: spool
or
    -q : queue to poll              default: spool/2amqp
other parameters
    -9 : on a FipSpeedy system, ignore speedyness       default: allow
    -d : done queue for raw files after processing      default: file is deleted
    -e : errpr queue for input files which the remote server flags in error
                                default: file is deleted
    -I : ignore any external file (SX: FipHdr field).   default: send contents of SX
if present
    -l : (el) log each file through             default: no
    -o : offline queue for input files when unable to connect to the remote server
                                default: retry_(name of the input queue)
    -w : file wait for files arriving via NFS etc       default: 0 secs
    -W : 10 ths/second - MUST wait if nothing processed default: 2 for 2/10ths
    -z : Parameter file                 default: tables/wire/2AMQP_SERVER
    -v : print version no and exit

-------------------------------------------------------------------------------------------------------
Version Control

 1a-e    5nov25 live version ;c -h extraFH ;d amqp-virtual-host added
 0i 14oct25 chris original version

(copyright) 2026 and previous years FingerPost Ltd.