Echolink Channel Driver
The chan_echolink channel driver allows AllStar nodes to register on and communicate with the EchoLink network. The following information is originally from echolink.conf.
echolink.conf
With the addition of the chan_echolink Asterisk channel driver direct connections to and from echolink to Asterisk/app_rpt are now supported. No other programs (e.g. rtpDir, or the link box) are required. With chan_echolink, EchoLink nodes become part of the AllStar link number space.
From an app_rpt/Allstar node, Echolink connections look just like Allstar/App_rpt connections except the Echolink node numbers have been prefixed with a 3 and padded out to 7 digits with leading zeroes. For instance, if you want to connect to Echolink node 1234 on your app_rpt system you would dial *3 followed by 3001234. If you have a 6 digit Echolink node number 123456, you would dial *3 followed by 3123456. As you can see we have reserved Allstar node numbers with a leading 3 for the Echolink number space.
For users originating from an Echolink node using Echolink supplied software, nothing changes for them, they just dial the 4 or 6 digit Echolink node number assigned to your app_rpt system and they get connected!
Setup
First, if you are behind a NAT router, please make sure the ports for Echolink service are correctly forwarded to your asterisk system.
Port To Forward | Service |
---|---|
5198 | UDP |
5199 | UDP |
Additionally, if you are running a firewall and not a consumer grade router which is configured to limit outbound access to a specific number of ports, you must enable UDP outbound access for 5198, and 5199, and TCP outbound access for port 5200.
Current documentation on what ports need to be forwarded can be found on echolink.org in the EchoLink, Firewalls, and Routers section.
To activate the Echolink channel driver, all that's required is a properly formatted configuration file. A base configuration file has been included with Both ACID and Limey Linux and is located in /usr/src/configs/examples/echolink. Copy this file to /etc/asterisk, and edit it to match your callsign, password and node number assignment from Echolink.org. The sample echolink.conf file is as follows:
[el0] confmode=no call=W6ABC-R ; Change this! pwd=XXXXX ; Change this! name=Asterisk-EL-channel-driver ; Change this to your real name! qth=Asterisk-EL-channel-driver ; Change this to your actual QTH! email=foo@bar.com ; Change this! maxstns=20 rtcptimeout=10 node=123456 ; Change this! recfile=/tmp/recorded.gsm astnode=2345 ; Change this to your active Allstar node number! context=radio-secure server1=server1.echolink.org server2=server2.echolink.org server3=server3.echolink.org freq=145.000 ; Freq in MHz tone=100.0 ; CTCSS Tone (0 for none) lat=34.74978 ; Latitude in decimal degrees lon=-92.27666 ; Longitude in decimal degrees power=0 ; 0=0W, 1=1W, 2=4W, 3=9W, 4=16W, 5=25W, 6=36W, 7=49W, 8=64W, 9=81W (Power in Watts) height=0 ; 0=10' ,1=20',2=40',3=80' ,4=160' ,5=320' ,6=640' ,7=1280',8=2560',9=5120' (AMSL in Feet) gain=7 ; Gain in db (0-9) dir=0 ; 0=omni, 1=45deg, 2=90deg, 3=135deg, 4=180deg, 5=225deg, 6=270deg, 7=315deg, 8=360deg (Direction)
Once you have made the changes, restart Asterisk, and within a few minutes time, the node should show up on the echolink.org website under Current Logins.
Controlling Access
Echolink connections may be denied on a per-callsign basis. This is done by using the deny and permit key values in the above [el0] stanza. The default is to allow all connections if the permit and deny keywords are not present. If a permit is specified, then only the callsigns specified in the permit statement will be allowed to connect. If deny is specified, then the callsign(s) specified will be denied access and the connection will be terminated. Commas are used to delimit multiple callsigns for permit and deny keys. Wildcards are supported so that whole classes of connections can be rejected. Examples:
Examples:
To deny w6xxx you would add the statement: deny=w6xxx
To prohibit computer-based connections you would write: permit=*-*
To allow access to only a select group of callsigns: permit=w6abc,w6def,...
Setting Audio Levels
The audio gain going to and coming from the Echolink system may be set from within a Node Stanza as follows:
erxgain=-3.0 ; defaults to -3.0 db etxgain=3.0 ; defaults to 3.0 db.
Debugging
The chan_echolink driver supports debugging output.
Debugging can be a activated with the command echolink debug level x (Where x = 0-7. 0=off). With debugging turned on, chan_echolink will output various messages to the terminal related to connecting to nodes, etc.
In addition to turning on debugging, you can use the following commands to query your node's copy of the EchoLink database:
Description | Command |
---|---|
Dump EchoLink database | echolink dbdump |
Query for EchoLink station by callsign | echolink dbget callsign <EchoLink Callsign> (i.e., KG7QIN-R) |
Query EchoLink station by nodename | echolink dbget nodename <EchoLink node number> (i.e., 407301) |
Query EchoLink station by ip address | echolink dbget ip <EchoLink node ip address> |