Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

EchoMac is a client program for OS X that allows connection to the Echolink system.

branch: master
Octocat-spinner-32 EchoMac.pbproj Botched SVN import...
Octocat-spinner-32 English.lproj Botched SVN import...
Octocat-spinner-32 Help Botched SVN import...
Octocat-spinner-32 MikePics Botched SVN import...
Octocat-spinner-32 echogui Botched SVN import...
Octocat-spinner-32 echolinux Botched SVN import...
Octocat-spinner-32 echomac.xcodeproj Botched SVN import...
Octocat-spinner-32 gsm Botched SVN import...
Octocat-spinner-32 portaudio Botched SVN import...
Octocat-spinner-32 tools Botched SVN import...
Octocat-spinner-32 Changes.rtf Botched SVN import...
Octocat-spinner-32 Credits.rtf Botched SVN import...
Octocat-spinner-32 EchoMac-AquaMike.icns Botched SVN import...
Octocat-spinner-32 EchoMac-DonsMikeIcon.icns Botched SVN import...
Octocat-spinner-32 EchoMac-MikeBlue.icns Botched SVN import...
Octocat-spinner-32 EchoMac-mikeonly.icns Botched SVN import...
Octocat-spinner-32 EchoMac-tower.icns Botched SVN import...
Octocat-spinner-32 EchoMac.gif Botched SVN import...
Octocat-spinner-32 EchoMac.icns Botched SVN import...
Octocat-spinner-32 EchoMac.jpg Botched SVN import...
Octocat-spinner-32 EchoMac.tif Botched SVN import...
Octocat-spinner-32 EchoMacController.h Botched SVN import...
Octocat-spinner-32 EchoMacController.m Botched SVN import...
Octocat-spinner-32 EchoMac_Prefix.h Botched SVN import...
Octocat-spinner-32 Info-EchoMac.plist Botched SVN import...
Octocat-spinner-32 Info-EchoMac__Upgraded_.plist Botched SVN import...
Octocat-spinner-32 README Renaming the README so Github picks it up, though rtf might be an iss…
Octocat-spinner-32 echolinkServer.h Botched SVN import...
Octocat-spinner-32 echolinkServer.m Botched SVN import...
Octocat-spinner-32 globals.h Botched SVN import...
Octocat-spinner-32 info.txt Botched SVN import...
Octocat-spinner-32 main.m Botched SVN import...
Octocat-spinner-32 stationListController.h Botched SVN import...
Octocat-spinner-32 stationListController.m Botched SVN import...
README
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fnil\fcharset77 LucidaGrande;
\f3\fnil\fcharset77 LucidaGrande-Bold;}
{\colortbl;\red255\green255\blue255;}
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural

\f0\fs72 \cf0 EchoMac
\fs38 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\f1\b\fs26 \cf0 http://EchoMac.sourceforge.net/
\f0\b0 \
\
This is a program for MacOS X to access the Echolink system. If you don't know what Echolink is, then you should first visit their web site at http://www.echolink.org. \
\
The first time you use the Echolink network, you need to be verified. This is accomplished by simply putting in your information (call, name, location, password) in the program preferences and connecting to the network. This will queue you up for approval. Then you can visit http://www.echolink.org/validation/ to continue the process.  Be patient.  It can take anywhere from a few minutes to a few days to have your callsign processed. However, eventually you should be able to log in successfully. When you run it the first time and put in your information, you can either leave the software running while awaiting validation and eventually you will see the list of active stations appear, or you can quit and come back later to check if you are validated.\
\

\f1\b I have been requested by Johnathan Taylor, K1RFD, the author of Echolink, to have you visit his web site:\
\
http://www.echolink.org/el/register_data.asp\
\
Please register your call and e-mail address with him, even though you are not downloading the software from there.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\f0\b0 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs34 \cf0 System Requirements:
\fs26 \
\
EchoMac requires MacOS X with the BSD Subsystem installed. It is installed by default when a new system is installed, so unless you de-selected it during your install, you should be okay. Everything else you should need is included in the EchoMac.app bundle.\
\
Whatever sound input and output devices are set in your System Preferences when the program is launched are used for the duration of the session. Set them to what you would like before you run EchoMac. If you need to change them, you need to stop and re-start EchoMac.\
\

\fs34 Firewall/Router Issues:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs26 \cf0 \
If you are using a router between your computer and the Internet, you need to set it up to forward ports 5198 through 5200 to the computer you are running EchoMac on. Specifically it uses UDP, but most routers don't care what transport you are using. This is *VERY* important or else you will not be able to make connections. Also, I've seen some routers stop forwarding certain ports, like 5200, and then things get confused in EchoMac and it cannot tell if you are connected to a remote station, even though audio may come through. Resetting the router was the only fix, this is not a bug in EchoMac.\
\
For more information, please see the EchoMac Help, and if that doesn't answer your questions, check:  http://www.echolink.org/el/firewall_solutions.htm\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs34 \cf0 Apple Airport Issues:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs26 \cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\cf0  It has to do with the requirement that ports 5198-5200 be forwarded by any router through to your end computer. The AirPort is a router, so the same requirement applies.\
\
 The document that explains this is on Apple's web site:\
\
 http://www.info.apple.com/kbnum/n120146\
\
 The procedure for the AirPort base station is detailed starting on page 50 of this document. I'll paste the relevant text in here:\
\
Using Port Mapping\
\
 AirPort uses Network Address Translation (NAT) to share a single IP address with the computers that join the AirPort network. To provide Internet access to multiple computers with one IP address, NAT assigns private IP addresses to each computer on the AirPort network, then matches these addresses with port numbers. The base station creates a port-to-private IP address table entry when a computer on your AirPort (private) network sends a request for information to the Internet.\
\
If you are running a Web, AppleShare, or FTP server on your AirPort network, other computers initiate communication with your server. Since the base station has no table entries for these requests, it has no way of directing the information to the appropriate computer on your AirPort network.\
\
To ensure that requests are routed to your Web, AppleShare, or FTP server properly, you need to establish a permanent IP address for your server and provide inbound port mapping information to the AirPort Base Station.\
\
To set up inbound port mapping:\
\
1 Open the AirPort Admin Utility and open your base station\'d5s configuration.\
\
2 Click the Port Mapping tab.\
\
 In the Port Mapping window, click Add and enter the following information:\
\
   * Public Port: The port number other computers will use to access the services provided\
     by your computer. For example, computers look for Web services on port 80.\
\
   * Private IP Address: The manually assigned, private IP address of your computer.\
\
   * Private Port: The port that will be used on your computer to provide services. In most\
     cases, you can use the same number as the public port.\
\
So, in the port mapping table for EchoMac, you would need the following:\
\
 Public Port  5198\
 Private IP   \{the IP address your computer was assigned by AirPort\}\
 Private Port 5198\
\
 Public Port  5199\
 Private IP   \{the IP address your computer was assigned by AirPort\}\
 Private Port 5199\
\
 Public Port  5200\
 Private IP   \{the IP address your computer was assigned by AirPort\}\
 Private Port 5200\
\
 The easiest way to find your computer's IP address may be to open the "Sharing" panel in System Preferences. This will open the window where you can turn on/off various file/web sharing services. All you care about is the text at the top which shows the Network Address.\
\
 Alternately, in System Preferences, you can go into the "Network" panel. Just make sure the "Show" list is set to AirPort, and the TCP/IP tab will show your IP address.\
\
 Create the three entries above using the Airport configuration/administration software, and after it resets the AirPort base station it should be all ready for you.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural
\cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs36 \cf0 What does it do?
\fs26 \
\
It is designed as a single user, single connect application. It is meant as a means to allow you to connect to any other station or conference server on the Echolink system. It can only connect to one station at a time, but if you connect to a conference server you can talk to as many stations as that conference server supports - just make sure every connects to that same conference server and you can have a group chat.\
\
Even though you are on your computer, anytime you connect to a -L, -R, or even a conference room there is almost always some radio retransmitting, so you need to adhere to ID requirements. It's safest (even in a computer-to-computer conversation) to always treat it as a radio and ID on interval. And if you connect to a remote system (-L or -R especially), you are very often causing it to make a transmission (it will usually say "connected" over the air), so it's a common courtesy to identify yourself before you leave. Don't just connect and disconnect, that is considered bad operating etiquette.\
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs34 \cf0 How do I use it?
\fs26 \
\
The first time you launch it, it should open the preferences window where you put in your Amateur Radio call sign, name, location, and a password. There is also a tab area in the preferences to put in your station information. There is another tab with the servers listed, but the defaults should be okay. If you do not see this when you initially launch EchoMac, please manually open the preferences from the EchoMac menu.\
\
When you launch the program, you are not connected to the network until you toggle the "Online?" checkbox in the upper left corner. Doing so will attempt to connect to the Echolink servers and get a list of active stations. If something goes wrong, it may take several minutes to determine it, as the program attempts to connect to each listed server in turn until it either gets connected or gives up after trying them all. When successfully logged in, the checkbox changes to reflect the online status. Press it again to log off. You can not access the Preferences menu while you are connected to the network, and the menu will be disabled. To access your preferences, please disconnect from the Echolink network first.\
\
If you do not wish to accept connections from remote stations, you can click on the checkbox under the "Online?" one labeled "Busy?". Checking this will update your directory listing so remote stations do not try to contact you. If you connect to a remote station, you will also be listed as "BUSY", and when you disconnect, you will be returned to "FREE" status.\
\
Currently, there is no verification that a station trying to connect to you is actually logged into the Echolink directory servers. This shouldn't be a problem, but it is worth mentioning.\
\
After you are logged in, the list will show all active stations. If a station is busy and cannot take any connects at the moment, it will be displayed with an orange background. Otherwise, you can double click on the station to make a connection attempt, simply highlight their listing and click the 'Connect' button in the lower left portion of the screen, or type their call sign or node number into the "Connect To:" box under the station list and press ENTER/RETURN.\
\
Over the list of stations is a box "Filter On:". Anything you type in here (and press enter) will limit the station display to only include stations that include that text in their call sign or location information. If you wish to return to the entire list of stations, just delete all the text from the "Filter On:" text field and press enter.\
\
When you are successfully connected, your default system alert beep will sound and the "Connected To:" field will show the name of the remote station. Also, the top display area on the right side of the screen should show the station information file from the remote system. In the case of conference servers, this will be a list of the connected users as well. Occasionally this information does not update until the next audio transmission.\
\
You can use a "text chat" to talk to the remote stations. Anything you type in the "Type CHAT text" field will be sent when you press enter. Keep it short, or else it will be truncated.  Some conference servers accept commands via this mechanism, such as ".help" (without quotes) to get a list of supported commands. I know that theBridge server software supports this, I don't know about others.\
\
Any time a station transmits, you will hear their audio. To talk back, simply press the big button in the lower right "Push to Toggle Transmit/Receive". It is a toggle, you do not have to hold it down. When you press it, a red box saying "TRANSMITTING" will appear below it. Anything you say is now sent to the connected station. When you press the button again, you stop transmitting.\
\
If you want to disconnect from the remote station, just press the "Disconnect" button in the lower left corner. This does a "polite" disconnect, in that it requests a disconnect from the remote side. When you are disconnected, the "Connected To:" Field will go blank, as will the text area in the upper right. Sometimes a remote server may have stopped operating, the network has gone down, or something else, so there is a "Force Disconnect" button to unconditionally terminate the connection.\
\
While you are logged on to the system
\f2 , whether connected to another station or not, it will automatically update the list of active stations every five minutes. There is a button labeled "UPDATE" to do this manually if you must use it. However, you cannot request an update without waiting at least 30 seconds from the last one, whether it was manual or automatic.\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs34 \cf0 Does it have bugs?
\fs26 \
\
Probably. I'm not worried about the bugs I've encountered, I'm worried about the ones I haven't seen yet. EchoMac actually uses two background programs derived from the echoLinux project (http://cqinet.sourceforge.net), and so there can be any of a number of things that may cause problems.\
\
If you should have errors, please check the system log using the "Console.app" located in /Applications/Utilities to see if there are any messages there which are relevant. Also, in the Preferences for Console.app, there is an option to turn on Crash Logging. If you can reproduce the crash, sending the contents of this "crash log" can be very helpful.\
\

\fs34 Will there be a MacOS 9 version?\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs26 \cf0 \
No. Not by me, anyway. Too much of how this works is based around technologies that only exist in MacOS X.\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs34 \cf0 Who is responsible for this thing?\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\sl240\ql\qnatural

\fs26 \cf0 \
EchoMac was written by Steve Palm, N9YTY.\
\
He put this together so that Mac users could access the Echolink network. There are no promises it won't crash, or destroy your system, but we haven't seen anything like that in my testing here or elsewhere.\
\
Much of the code used is based on code written by Jeff Pierce for echoLinux (http://cqinet.sourceforge.net). EchoMac also uses the portaudio library (http://www.portaudio.com) for cross platform audio support. Many thanks to Phil Burke for his great work on the MacOS X version of portaudio.\
\
Special thanks to Don Agro, VE3VRW, of Dog Park Software for the microphone graphic used in the icon and for hosting/designing the program web site. (Not to mention the great Ham Radio software he has written for the Mac!)\
\
Starting in November, 2004, Jim Tittsler 7J1AJH/AI8A is taking care of the maintenance for EchoMac.  He can be contacted on the 
\f3\b echomac-users@lists.sourceforge.net
\f2\b0  mailing list or directly at 
\f3\b 7J1AJH@OnJapan.net
\f2\b0 .\
\
}
Something went wrong with that request. Please try again.