The Walkietalkie manual Walkietalkie is a simple program for streaming voice communications over the internet. It uses minimal CPU/memory and bandwidth. It works at about a telephone level of quality, conserving bandwidth. NOTE (12-5-2010): This manual is grossly out of date. A lot of what is discussed here no long applies. Just FYI... General: When WT starts up, it is waiting to be called. When someone calls you, it makes a noise, and logs a message to indicate who the caller is. Calls are placed by entering either a username, an IP address, or the host name of another computer. Optionally, you can specify a port number (other than the default) by appending a colon ':' and a number afterwards. (172.16.31.2:51982, for example). After entering the calling information, you hit the call button. If a hostname or username is entered, WT will try and locate the corresponding IP/port combination. If it is unable to, a log message will indicate it. If the other party is running the program, they will hear a noise and see a log message. The log message should also include the username you have specified in the configuration area. They can pull down the answer-menu to select from a list of callers. The call is accepted, and audio begins streaming between the two parties. To set up a conference, have multiple parties call a single host, and he can accept one after the other. All parties should be able to hear each other. If you want to set up a 'conference server' which will automatically answer all calls and put them into one room, hold the push-to-talk (default control) key while clicking the call button. This will enable auto-answer mode. Have everyone call the server and start conferencing. When in a call, you can switch to push-to-talk mode by toggling the SPKR/PTT button. You hold the control key to transmit your voice. This should work without requiring WT to be in the foreground. Configuration: * Name: - The user-name you want other people to see when you call them, or they should enter in order to call you (if using a WT-locator server, see below). The name is in effect with the specific locator-server you specify for as long as you run the program. * Encryption key: - An optional key (password) that two parties can enter to encrypt communications. the key must match, and it is case-sensitive. Encryption uses 256-bit AES. To disable encryption, leave this field blank. * Port #: - The UDP port number that WT will start up listening for calls (and initiating outgoing) calls on. You have to restart WT after changing this. Defaults to 51981. Must be in the range 1-65535. Wt-locator server: - This is the address (and optionally port) of another copy of WT running which can coordinate finding user based on the username they have configured. When WT starts up, it will attempt to contact the address specified and register your name, and the IP you are reachable at. Other parties can then call using this name, and if you use the same locator server, the call should be set up. This is only used for mapping a name to an IP/port, no call data passes thru. Each copy of WT runs a small locator server, so setting up your own server is just a matter of leaving a copy of WT running for others to use. The author runs one at walkietalkie.domain17.net:51981. Troubleshooting: ***A note about NAT*** Some routers have no problems with Walkietalkie, and others you have to open ports for. The majority of the problems I get are related to NAT/PAT problems. I recommand having the receiving end of the call open port 51981 on their router/firewall if having problems calling their username. In some cases, this might not be possible.. one workaround is to set up a conference-server who is reachable, and use him as the middle-man. This not ideal, but it works pretty well. To read more about Network Address translation, see http://en.wikipedia.org/wiki/Network_address_translation (Newer versions will indicate that a network connection problem is likely by saying that the peer did not ring, indicating it was unreachable.) * Calling by username, but (no answer/disconnected/timed out) - The first thing to try when unable to set up a call is to open a port on your router/firewall. With most routers this is not necessary. Even when it is, usually only the person receiving the call *has* to do it. By default the port is UDP 51981. See google for how to open ports on your router. * User not found - Make sure that both parties are using the same wt-locator server address, and that a copy of walkietalkie is running on that address, and is accessible on the port specified (or 51981 if no port is specified). The author runs an open server on walkietalkie.domain17.net:51981. * The program doesn't start up - Your computer must have a proper sound card with input sources, and the audio driver must be set up correctly. If WT is unable to access the audio system, it will quit. Check that your audio drivers are set up correctly. * I don't hear any sound, or the remote end doesn't hear any sound - Both ends must select the correct audio input device (usually a microphone input). On a windows PC, you can do this by choosing your default input device in the sound control panel. On a mac (os X), go to the sound control panel under system preferences, and under the input tab, choose the device to use. Restarting WT after making this change may be necessary. You can test that audio is being recorded by blowing into the microphone, and observing the input-level bars in WT, or by calling yourself at '127.0.0.1' to test. * Feedback loops - A feedback loop occurs when audio being output is picked up on the input on both ends. This is tolerable on one end, (you may hear yourself on your friend's headphone), but if it happens on both sides, it can get louder and louder quickly. At least one user should use a headphone, or switch to PTT mode. * Audio is choppy - Check that the audio hardware is set up correctly by calling yourself at 127.0.0.1. If this is smooth, then check that no other software is monopolizing your network bandwidth. P2P software commonly does this. WT requires about 15kbit/sec (1.5Kbps), and should work pretty well over a dial up connection. * Other problems: - I would love to lend what help I can. Send me an email at justin@domain17.net and I'll respond as soon as I'm able. I sincerely hope you find this software useful. I have enjoyed writing it. If you have comments/suggestions/criticisms please email them my way. Even if it's just to let me know you use it. take care, ~Justin