@  #$ About T42
T42 is our Win32 implementation of unixntalk protocol.
It features:
•  Multihoming - works properly on multihomed machines (ie. accepts connections/issues requests on all interfaces);
•  Your personal secretary - technically speaking, something like answering machine;
•  Sleep function - be notified of activities in backgrounded windows;
Designed to be compatible with our TFTP client/server, PumpKIN, that allows you to exchange files with your party while having talk sessions.

Enjoy!
Copyright (c) 1998-2005 Klever Group (http://www.klever.net/)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Author: Michael Krelin (hacker@klever.net)
Fan mail send to gefilte@klever.net
#$
1.5.1 - August 6th, 2005
• Fixed uninstall procedure so that it works on XP
1.5 - July 11th, 2004
• Change of license and opening the source
#$ Using T42
Once you've installed T42, run it from Programs/Klever Group menu. A small cup icon will appear in the notification tray area.
Left-click on the icon will get you to the Main Window, right-click  brings up the following menu:
•  Order some tea - Initiates talk session. This will open new Conversation Window and prompt you for request details.
•  Away - Toggle your away mode. It affects the way T42 handles incoming calls. See Main Window for details.
•  Show Main Window - Toggle visibility of the Main Window from which you can control some of T42 options and read/maintain your recorded messages.
•  Options - Select this to bring up Options dialog so that you can customize T42 to suit your needs.
•  Exit - This is not likely to happen, but if you want to exit T42 and unload it from memory - that's what Exit is for.
#$ Main T42 Window
Main Window is a T42 Control Center, it's exactly mouse-click away from most of T42 functions. It consists of
•  On Call and On Call when away dropdown lists let you select the action to take when incoming call occurs in 'normal' and 'away' mode. Chose one of    
•  Prompt - Ask you what to do before taking any actions;
•  Secretary - Relay incoming calls to your personal secretary. Some prefer to call it answering machine.
•  Not here - Tell the caller you're not here (not logged in) and terminate connection.
•  Refuse - Tell the caller you're not accepting messages and terminate connection.
•  Ignore - Pretend that you didn't notice.
•  Away button toggles your away mode. When an incoming call occurs T42 takes action based upon away mode and options selected in On Call and On Call when away dropdown lists.
•  Tea button initiates new talk session. This will open new Conversation Window and prompt you for request details.
•  Options button brings up Configuration Dialog that lets you customize T42 according to your needs.
•  Exit - button closes T42 windows and removes T42 from memory.
•  Help button enters the help system. If you got this far, you probably don't need further explanations.
•  Recorded messages list this is the list of messages recorded by your secretary. Messages are sorted by age, last ones first. Unanswered messages have a brighter cup icon unless you've explicitly marked the message as processed (see below for details). Right-click on the list entry presents you with popup menu from which you can:    
•  Call back the person who left the message. This is identical to initiating new talk session and entering caller's data manually. Note: if the caller has a dynamic IP address and have already disconnected from his ISP and reconnected back this may not work.
•  Delete selected message(s). If you don't need recorded message anymore you can throw it away by selecting this.
•  Save to file.. menu option lets you save message into RTF file. Then you may print message text, import it into your MS Word documents or do with it whatever you want.
•  Mark as new message lets you force message state to 'unprocessed' which means that it will have brighter cup icon in front of it which is supposed to help you keep track of messages that you need to take care of.
•  Mark as processed message is the reverse of Mark as new command.
•  Empty Log simply removes all messages from the log.
•  Message preview window - the recorded message itself is shown in this window.
#$ Announce Dialog Window
When incoming call occurs and you're set to get a prompt this dialog pops up. This dialog lets you chose what further actions you want T42 to take and see the request details. The dialog looks like this:
{bmct announce.bmp}
Incoming call details are in bold. The details are:
•  callee name - this is your name, or what caller thinks it is. (kamel in this example)
•  tty - terminal on which remote thinks you're logged on. This is not important for incoming requests. Normally this is only used on unix machines. (tty0 in this example)
•  caller's name - local username and hostname/IP address of caller. (hacker@localhost in this example)
Use Yes, I'd appreciate some milk button to answer the call and establish talk connection with caller, Not now, have a cup of tea with secretary to relay the call to your secretary and No, thanks, I'm out to coffee house to ignore call.
If you don't answer in 30 seconds the call is relayed to the secretary.
#$ Options
Options is a tabbed dialog box where you're supposed to change T42 settings. It consists of
•  General tab - tune general T42 options. Not much to set there so far.
•  Format tab - set up text formats (fonts, colors, etc.) for various windows.
•  Sounds tab - customize T42 bells and whistles in this dialog.
•  Secretary tab - teach your secretary manners here.
Note: you might need to restart T42 for some options to take effect.
#$ General Options
Currently you can only set up talk port here. Talk port is the UDP> port talk daemon listens for incoming connections at. You can enter either number of port or service name (as specified in your services file) here. Do not change this if you don't know what you're doing and don't understand the instructions above.
Note: you have to restart T42 for this option to take effect.
#$ Fonts
Set up various fonts for T42 to use according to your own preferences. There are three formats for you to set:
•  Local - this is what your typing appears as.
•  Remote - this is what your party's typing should look like.
•  System - this is what system messages, like disconnection cause, etc. in talk windows look like.
For each format you can set up Font face, Font size, bold, italic, underline, strikeout and character set to use. For some formats you can also set foreground and background colors.
Note: these settings only affect new windows.
#$ Sounds
This is where you customize T42 bells and whistles, specifically:
•  Bell in T42 window - the sound to produce when you or your party sends ASCII BELL characters (Ctrl-G).
•  Prompt sound alert the sound used to notify you of incoming call. You may also set loop for this sound to make it continuous for the Announce Window lifetime.
•  Wake-up sound alert the sound used to let you know that T42 leaves sleep mode (see Conversation Window for details).
For each sound you can either specify .WAV file (use browse button to choose it) or internal sound from drop-down list. You can also use play button to check what it sounds like.
#$ Secretary
This is the place to teach your secretary how to behave. The things you can ask for are:
•  Greeting message - this is the message your secretary greets caller with. When greeting is transferred your secretary will automatically substitute time limit (see below) instead of %t and characters limit (see below) instead of %c.
•  After greeting the caller your secretary will record the message until the caller will exceed either time limit or character limit. You may choose to disable either or both limits.
•  You may also limit your secretary's ability to handle multiple calls to provide each caller with better service. Normally the optimal limit depends on your system resources and your callers' activities.
#$ Remote Dialog
Whenever you want to issue talk request you're presented with a dialog in which you can enter your request details, it looks like this:
{bmct invite.bmp}
The call details are:
•  Callee address - The address is in the form user@host, kamel@192.168.168.192 in this example.
•  tty - terminal line your party is logged on. It's only relevant when the callee is on unix system. If you don't know what to put in there - just leave it blank.
•  Your username - this is how your call will appear to caller. Just don't leave it empty.
Note: your party address is not your party's email address, even if it looks similar. host part is either hostname your party logged in or IP address of the host. If your party has dynamically assigned IP address, one way to determine it is too look up in the headers of e-mail sent after your party's established internet connection last time (i.e. very recent one) and find something like
Received: from 209.203.65.22 (ppp22.kross.klever.net [209.203.65.22]) by mail.elsinore.klever.net (8.8.7/8.8.7) with SMTP id RAA15788
In this case the IP address would be 209.203.65.22 and the host name ppp22.kross.klever.net
So, you're advised to talk to whoever@209.203.65.22 or whoever@ppp22.kross.klever.net. You don't need to worry if your party has a static IP address.
#$ Conversation Window
This is the window where actual conversation takes place. It is split into two panes for you and for your party. It is split either horizontal or vertical. In the former case you type in the upper half and see what your party does in the lower. In case of vertical orientation your part is the leftmost one. All control actions are done via menu bar. Here goes an explanation for each command:
•  Tea
•  Remote user - initiate talk session for this window. You will be prompted for your party's whereabouts.
•  Close connection - terminate talk session. This puts window into inactive state until you initiate new session.
•  Re-connect - re-initiate talk session to the same party, for instance if you've lost connection.
•  Save - if there was something important said you can save the whole conversation into RTF formatted file for future reference.
•  Exit - will close conversation window and terminate the connection.
•  Edit
•  Copy - copy currently selected text into windows clipboard.
•  Paste - paste window selection into your current conversation.
•  Sleep
•  Sleep - put your session to sleep. When your party shows some kind of activity Wake-up action will be taken (see below).
•  Sleep on minimize - check this if you want to activate sleep mode whenever you minimize conversation window.
•  Minimize on sleep - check this if you want to minimize window whenever you put it into sleep mode.
•  Wake-up action - Actions to take whenever remote user shows activity in sleep mode. Possible actions are:      
•  Make sound - check this if you want T42 to produce sound (as specified in Sounds Options) whenever it leaves sleep mode.
•  Pop-up - check this if you want T42 to bring conversation window to foreground and restore if it is minimized whenever it leaves sleep mode.
•  Window
•  Split equally split local and remote panes in equal propotions.
•  Save layout - save window position, size and split proportions for future sessions.
•  Autosave layout - automatically save layout whenever you close conversation window.
•  Horizontal split/Vertical split - chose your orientation.
•  Hide on minimize - set T42 to hide window into notification tray icon whenever you minimize it.