AmTALK ****** Welcome to AmTALK II, the AmigaOS Talk client. Amtalk II - v2.3 (5.12.2001) Copyright ********* AmTALK has been designed, developed and written by Oliver Wagner E-Mail: (owagner@vapor.com) and Marcin Orlowski E-Mail: (carlos@amiga.com.pl) All Rights Reserved. This document compiled by Adam Hough © 1996-2001 Oliver Wagner © 1999-2001 Marcin Orlowski All Rights Reserved Installer Script © 1996-2001 Robert Reiswig All Rights Reserved Brought together in a heavy overnight operation Textinput class © 1998-2001 Oliver Wagner All Rights Reserved Popplaceholder class © 1999-2001 Marcin Orlowski All Rights Reserved The sampled sexy voice belongs to © 1998-2001 Allan 'Drool' Versaevel License ======= AmTALK Registered Software License Agreement ------------------------------------------- AmTALK-2 is Copyright © 1996-2001 by Oliver Wagner, Marcin Orlowski, All Rights Reserved. The producer of this software will grant the Licensee a limited, non-exclusive right to use the program AmTALK-2 and it's associated files on a single machine. The producer will hand out a special identification file called the key file to the Licensee. This key file will enable the Licensee to fully use the AmTALK-2 package according to the terms of this license. The key file is stricly for personal use by the Licensee only. Any disclosure of they key file will invalidate the license and the key file itself. The Licensee will be held liable of any damage arising out of the disclosure of the key file. No warranty expressed or implied. You use this software at your own risk and discretion. Any damage to you, your machine, house, universe or reality is completely your own problem. Vaporware and its related authors are not responsible for anything whatsoever that happens to you, even if the software destroys everything you hold dear. Using this software is considered to be acceptance of these terms. Ignorance is no excuse. The product is provided as is without warranty of any kind, either express or implied, statutory or otherwise, including without limitation any implied warranties of non-infringement, merchantability and fitness for a particular purpose. The entire risk as to use, results and performance of the product is assumed by you and should the product prove to be defective, you assume the entire cost of all necessary servicing, repair or other remediation. In no event shall the producer of this product or its resellers be liable for any property damage, personal injury, loss of use or other indirect, incidental or consequential damages, including without limitation, any damages for lost profits, business interruption or data which may be lost or rendered inaccurate, even if we have been advised of the possibility of such damages. This agreement shall exclusively be governed by the laws of the Federal Republic of Germany. Support ======= There is a support mailing list to discuss AmTALK related issues; write to and put "SUBSCRIBE" in the mail body. Please join the list if you want to report bugs or have suggestions. About Authors ============= Olli Wagner is a sausage munching German who writes really good Amiga software like AmIRC and Voyager (along with several others.) This is shareware so if you like it, send Olli a large slice of bratwurst to the address in the registration info in the about window. Also send him email asking what happened to Knabber and if VNG will ever ship. Marcin Orlowski is the outter space invader and leave him alone, unless you want you machine to become M$ compatible. If you wish to nuke someone for system crash, problems with your children or a dog, better nuke Olli, as you used before ;)) Description *********** AmTALK is an enhanced version of the UNIX talk program. This program was the precursor of IRC in that it permitted remote users to chat with one another in real time. While IRC extends the basic functionality such that many people can talk to each other simultaneously, the basic need for a direct one on one method of communication is still there. However, using talk is rather like using the phone in that people aren't always available so wouldn't it be nice to have an answering machine. Vaporware introduces... AmTALK. AmTALK has the following features: * fully multithreaded for several talk sessions at once. * Auto answer facility to accept talk requests and store incoming messages. Can be triggered manually or by a user-definable timeout. Optional auto answer information icon on workbench displaying number of new and unread messages. * "Locate" function to locate a user on a dynamic IP address even if you don't know which IP he is using right now. * History of last used talk addresses for easy access. * user configurable sounds for notifying of incoming talk requests and successfully established talk links. * Userlist to store frequently used talk partners, with aliasing for easy talk start and specificable access privilleges (override auto answer, refuse/ignore always, locate always etc.) * Can be started from inetd, or reside resident in the background, activated by hotkey. * Supports clipboard Cut & Paste from talk windows. * Keeps a full log of incoming talk requests. * nice and friendly GUI to start talks, control operation and configuration. * handles incoming talk requests with "wrong" usernames gracefully. * works with Miami, AmiTCP and as225r2-derived TCP/IP stacks. Installation ************ The easiest way of installation is of course using the provided Installer script. Note that the provided Installer script doesn't work with the old OS 1.3 1.24/1.25 versions of Installer. Please get Installer-43_3.lha from AmiNet (/util/misc) or from ftp.vapor.com, /pub/misc/Installer-43_3.lha. You may also want to add this to your startnet or startup.miami script: IF SHOW('P','AmTALK') THEN DO /* Already there */ DELAY(5) END ELSE DO ADDRESS COMMAND 'run >nil: AmTALK ' END This means that the program will be run automatically when you start up your TCP/IP stack so the ability to handle incoming chat requests will be there automatically. AmTALK can also be started from inetd "on demand". Add the following line to your inetd.conf file: ntalk dgram udp wait root AmTALK AmTALK inetd=1 Note that you have to specify the full path to the AmTALK executable, and it's right that you have to specify it twice. Your inetd will then start AmTALK when a talk requests comes in. Running the program ******************* In order to talk with someone, you can start AmTALK from a shell window by typing amtalk user@host This requires that the AmTALK executable is somewhere in your path. Also, when started manually, you will be presented with the Talk window, which is thoroughly explained in the next section. When AmTALK is lurking in the background, you can open it everytime with the specified hotkey. This defaults to lamiga t The GUI ******* The default window opened up gives you access to the address of the user you'd like to speak to, a drop down window (an arrow pointing to a line) which is a history of people you've talked to in the past so you don't have to type their addresses in again by hand but double click the selected person on the list. Underneath that are three buttons: Talk This opens up a direct chat to the person specified in the address field above. Locate and Talk This allows you to 'find' a person on a dynamic link such as those provided by most ISPs. It also needs a full address but will search through all the addresses in that level of addressing until it finds the person you'd like to talk to. It can take a little bit more time though. Userlist This brings up another menu that allows you to enter aliases for addresses - similar in style to the way Mail programs do it. This means that you can type in "Olli" rather than "olli@hurz.wupper.de" at the address line. Once you've chosen to talk another window comes up which is the chat window itself. This is dominated by two sections - the top one which contains what your chatee has to say to you and the lower one which is what you're saying to them. Scroll bars on both allow you to look at what's moved off the top of the screen. In the dragbar at the top is the address of the person you're talking to. The Talk Received Window: ========================= This pops up when someone else tries to start a Talk session with you. Ignore Press this if you don't want to talk to the person. He will get a message stating that you're not available. Ignore Always Press this if you never want to talk to the person ever again. He will get a message stating that you're never available. Refuse Press this if you don't want to talk to the person. He will get a message stating you're ignoring incoming requests. Refuse Always Press this if you never want to talk to the person ever again. He will get a message stating you're ignoring incoming requests. Answering Machine Route the call to the answering machine. AA Always Always route this person's calls to the answering machine. Accept Start the talk session. Program Menu ************ Project Menu ============ Start Talk This brings up the window mentioned earlier on and allows you to have multiple talk sessions going on with other people at the same time. Review AA Messages This is a list of all messages that have been sent to you while you've been away from your computer. It tells you the address of the talkee, when the chat attempt happened, how long the message was and whether you've read it or not. The window to the bottom contains the text of the message. The three buttons at the bottom allow you to start a talk session with the person who left the message. If you double click on the name that two will start a chat session with the person who left the message. Review Log This is a list of all the chat sessions that have been started recently and list the time, date, addressee and what happened to the session. The three buttons at the bottom allow you to delete the list that's stored, or talk to the originator again. About AmTalk Displays detailed information about the version of AmTalk you are currently using, copyrights and credits. Take a look at least once. About MUI Opens MUI related "About" window. Quit Terminates AmTalk. You may be asked for confirmation (depends on the state of the "Settins/Quick Quit" switch) Windows Menu ============ Here you find all the options related to the currently active talk window. When there's no talk session, all the items won't be available. Copy to Clipboard Copy selected contents of the current window to the clipboard. Paste From Clipboard Copy the contents of the clipboard to the talk session. The contents must be ascii format. Save plain text as Saves the contents the talk session to the file. The contents will be saved as plain text, with all ANSI codes (bold etc) stripped. Save with styles as Saves the contents the talk session to the file. The contents will be saved as is, with all ANSI codes (bold etc). Terminate connection Terminates you current talk session, as window's Close gadget does, but keeps your talk window opened. This shall be helpful for all of you wanting to save the log of the session when you finished talking. [1] xxxxxx This is a list of all the current talk sessions in progress. To just to the appropriate one, just choose the option. Settings ======== Settings menu splits into few sub parts. Grouped into subwindows: and standalone switches: Show AA Infowindow This is a tiny little window that displays messages left for you to read in the format "read messages/unread messages" - double clicking on it brings up the AutoAnswer message window documented earlier. Snapshot AutoAnswer Window This ensures the program remembers where you left the window. Auto Answer All This means that the Answering Machine handles all incoming calls rather than bringing up the Talk requester so you aren't bothered by them. The default is off so you get the option of answering people's chat requests. Pop screen to front on Beep Since release 2.1, AmTalk intercepts CTRL-G (BELL code) code sent by your party and according to your current settings does DisplayBeep() or plays sample to wake you up and to remind your party is getting nervous ;-) When this option is activated, AmTalk will automatically pop its window (and screen) to front, helping you to understand what was the cause of all the sounds you hear. That feature is useful when you no sample attached to "Beep" event (which force AmTalk to do DisplayBeep(), which is unfortunately non-customizable). Echo Beep's If you want to see "beeps" in you talk window while your party is sending them, turn this option on. When CTRL-G will be pressed on remote side, you will see "" text in your talk window (and, depending on your configuration, you will hear the sound/sample). Quick Quit When turned on, AmTalk won't ask you for confirmation when "Project/Quit" menu item will be choosen. Single file session save Since v2, AmTalk lets you save the log of your talk session. You may want to have separate files (".1" and ".2" will be automatically appended to the file name) for each speaker, or write all the texts in one file. If you prefer the first way, turn this option off. If second, check that menu item. Ignore empty messages AmTalk 2 is now smart enough to filter out all empty messages your parties left on your Auto Answering Machine. When you don't want your AA to keep empty messages, just keep this option active. General ******* Hotkey Set the keyboard option that you want to call up AmTALK. This defaults to lamiga t. Click on the button next to the string gadget, to open PopHotkey panel, which simplifies the whole process (requires installed PopHotkey.mcc class) Host history buffer Specify how many host entries you want AmTalk to remember in host history buffer. Unread messages notification Specify the way you want be notified about unread messages remaining in your Auto Answering Machine Colors Here you can set the colour of your text and background. Click on the line to bring up the options for changing them. Sound ***** Sounds AmTALK can play samples for when a connection is attempted and for when it succeeds. Type the location of the sound files or use the document button to bring up a file requester. The number refers to the replay volume and typically changes to an appropriate value automatically. Test allows you to try out the sample. As AmTalk uses Datatypes for playing sounds (OS3+), you can use any sound type as long as you got the proper datatype installed that can handle that sound type. Announce Window *************** In this window you can determine the behaviour of AmTalk's announce window (which pop ups everytime you got incomming talk request). You can specify which gadget you want to become default one (accepted by hitting ENTER key), specify exact shortcuts for all the buttons in that window and determine the sample which you want to hear whenever you press the given button. I strongly advice to not use the "Default Button" (Prefs/Announce Window) feature (just set it to NONE). It's better to set set up own shortcuts instead for every separate action, mostly because it offten happen that you are doing something different (on other screen maybe etc) while the incoming talk request appears (e.g. you write email etc), and when announce window suddenly pop up, it may happen you was just about to hit the ENTER key. As you will mostly be unable to stop your hand you accidentaly perform the action you sat as "Default Button". And voila. You made blind decision ;-( Using hotkeys prevent you from rejecting requests from your friends or accepting talks from people you can't stand. Complex hotkeys (e.g. with extra qualifiers like Control or Shift) are harder to be typed by accident, and therefore are much safer. Auto Answer *********** AutoAnswer In the text window to the top, you can type in the message that people will get when they try to reach you if you're not paying attention, don't want to talk to them and so on. The two sliders set how long their message can be and how long it'll take the answering machine to kick in. User List ********* UserList See the section about this earlier on. MUI *** MUI Set your preferences for all MUI related gagetry in this program. Read the MUIPrefs documentation for further details. AREXX ***** In addition to the standard MUI Arexx commands, AmTALK provides the following two commands: talk Template: RemoteUser/A,RemoteHost/A,RemoteTTY,Locate/S findalias Template: AliasName/A Locate ****** Many people seem to have problems understanding how the "Locate and Talk" facility in AmTALK works, so I try to give a more thorough explanation. One of the reasons that the talk protocol went out of fashion recently is tied to the more and more advancing usage of dynamic IP addresses. Since you must know the exact host name of a party you want to "talk" to, it's nearly impossible to talk to someone which normally uses a dynamic IP address without a means of finding out the address he currently uses. You can, for example, find this out if you meet in IRC, but it's pretty pointless to use talk if you could use the more efficient DCC CHAT anyway. AmTALK tried to provide a solution to this problem, the so-called "Locate facility". How does it work? Let's assume you want to talk to MrFitz, which ISP's has the domain "ifx.net". ifx.net provides dynamic IP addresses to it's users, so everytime MrFitz logs on, he gets a different host name - "ip69.ifx.net", "ip42.ifx.net" etc. So, when you want to talk to MrFitz, you don't know which address he's currently using. Locate, however, does the trick of asking all of the potential IPs he may be on for a user with the name of "MrFitz", and if you're lucky, the correct AmTALK at the remote end will respond with "Here I am!" and voilá, you know where to talk to. Actually, in order for "Locate" to work, you must know at least one of the IP addresses that MrFitz normally has - you might have gotten it from the last time you saw him on IRC, or when he "talk"ed to you etc. You can't use "*.ifx.net" or just "ifx.net" as a anchor address to Locate, btw - it must be a valid hostname which results in a IP address record. Also, you must know the exact username that he uses at his end, because this is the anchor at which the identification takes place. If you try to locate "mike@ip42.ifx.net", you will fail, because his AmTALK will only responds to queries for the username "Mike". The local username is normally equivalent to the email name of the person, or the username in his IRC userhost address. If you are unsure, just ask. Technically, "Locate" works by assuming that the ISP gives out all his Dynamic IP addresses from within a single Class-C network. It takes the host name you feed to it, masks out the network part and then queries all 254 IP addresses of this net with a short UDP packet bearing the username. If the correct site is hit, it will respond with a acknowledge packet. This is a very brute force approach to the problem, but has the advantage of not relying to any global or ISP-local "talk hostname servers". The bandwidth waste caused by the packet flood is comparable to WWW or usenet comp.sys.*.advocacy hierarchies, and therefore "Locate" should not be used lightly. Index ***** Announce Window settins Announce Window ARexx commands AREXX Auto Answering machine settins Auto Answer Contents, Table of Top Copyright Information Copyright Description Description Features Description General settings General GUI The GUI Installation Installation MUI settings MUI Progrm Menu Program Menu Settings The GUI Sound settings Sound Support Copyright TALK protocol Description The Locate function Locate User List settings User List