*** preliminary documentation for MiamiRemind BETA *** Some users consider the automatic warning and disconnect after 30/60 minutes in the Miami demo version a useful feature, to save telephone/ISP costs. MiamiRemind is a tool that introduces this kind of functionality in the registered version of Miami, but in addition to the simple warning/disconnect it offers several other useful features: - The number of warnings, plus the interval between subsequent warnings can be freely configured. - It is possible to disconnect after a certain amount of time, to only display a finite number of warnings (without disconnecting) or to keep displaying warnings at regular intervals. - In addition to fixed time intervals it is possible to show warnings after a certain amount of *inactivity* on the link. Both types of warnings (warnings after fixed amounts of time and warnings after inactivity) can be enabled at the same time. - Using the inactivity timer directly with the "disconnect" option provides the functionality of a "disconnect on inactivity" option, something many users have requested for Miami. The term "inactivity" is difficult to define for a TCP/IP connection. The default definition used by MiamiRemind is "lack of TCP traffic". With this definition MiamiRemind requires extremely little overhead and memory. For users who need more sophisticated definitions of "inactivity", MiamiRemind provides an expression parser and compiler identical to the one in MiamiTCPDump, i.e. you can e.g. use expressions like "(tcp[13] & 3 != 0) or udp" The above expression would consider all TCP SYN packets, all TCP FIN packets, and all UDP packets "activity". All other packets are not considered. The expression parser/compiler requires miamibpf.library and miamipcap.library, and thus introduces slightly higher memory and cpu overhead than the hardcoded "TCP traffic" definition. Usage: MiamiRemind [-f fixed_timer_spec] [-i inactivity_timer_spec] [-p pcap_spec] Option "-f" defines the parameters for the fixed timer, i.e. the timer that starts when MiamiRemind is started, without considering activity on the link. The default is to disable the fixed timer. Option "-i" defines the parameters for the inactivity timer. This timer is reset to zero whenever a packet is transmitted or received that is considered "activity" on the link. The default is to disable the inactivity timer. Option "-p" defines the inactivity expression, in MiamiPCap format (see the example above). The expression should be enclosed in double quotes ("). If this parameter is specified then MiamiRemind uses miamipcap.library and miamibpf.library to parse, compile and evaluate the expression. Otherwise the hardcoded definition "TCP traffic" is used, and both libraries are not needed. "timer_spec" (for options "-f" and "-i") is a string that consists of numbers representing time intervals (measured in minutes), separated by commas (","). Each time interval in the string represents the delay between subsequent events. "event" usually refers to a warning requester. However it is also possible to prefix numbers with the letter "D", to indicate that MiamiRemind should disconnect the line at the next event, or with the letter "L", to indicate that MiamiRemind should loop, i.e. use the next time interval repeatedly, to define a sequence of events. Examples: MiamiRemind -f 30,D30 This is identical in behavior to the demo version of Miami, i.e. show a warning after 30 minutes, and disconnect after another thirty minutes. MiamiRemind -f 30,20,L10 Display a warning after 30 minutes, then again after 20 minutes, and from then on every 10 minutes (loop). Never disconnect the line. MiamiRemind -f 60,60 -i L10 Display a warning after 60 minutes and another one after another 60 minutes. After that disable the fixed timer. Also show a warning whenever there have been multiples of 10 minutes of inactivity (lack of TCP traffic) on the link. MiamiRemind -i D30 Disconnect the link after 30 minutes of inactivity (lack of TCP traffic). MiamiRemind -i D20 -p "tcp or udp" Disconnect the link after 20 minutes of inactivity. "inactivity" refers to TCP or UDP traffic. MiamiRemind automatically quits when the interface goes offline (regardless of the reason), when Miami tries to quit, when the program receives a Ctrl-C signal, or when both timers are disabled. The easiest way to use MiamiRemind is to start it directly from Miami whenever Miami goes online, i.e. as "run >nil: Miami:MiamiRemind [options]" in a Shell script launched from Miami (configured in Events->Online). MiamiRemind requires - Miami 2.92c or higher (registered version) - miamipcap.library 2.0 or higher - miamibpf.library 2.0 or higher MiamiRemind is © Copyright 1997 by Nordic Global Inc. All rights reserved. Please send comments to kruse@nordicglobal.com