Difference between revisions of "PTTLink FAQ"

From "PTTLink Wiki"
Jump to navigation Jump to search
(add to install via apt-get)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
  
:'''Q''': What is AllStarLink Asterisk (ASL)?
+
{{Infobox PTTLink
:'''A''': ASL is the software used to create an AllStar node. It consists of Linux, Asterisk and app_rpt. ASL uses the Debian version of Linux. Asterisk is the OpenSource PBX. App_rpt is an Asterisk application giving it the radio node functions. ASL runs on x86 or on the Raspberry Pi (ARM version).
+
| image = Frequently_Asked_Questions.jpeg
 +
| caption = Frequently Asked Questions
 +
| category = How to
 +
}}
 +
The AllStarLink/PTTLink Frequently Asked Questions (FAQ
  
:'''Q''': What does ASL stand for?
+
== What is AllStarLink Asterisk (ASL)? ==
:'''A''':  AllStarLink
+
:ASL is the software used to create an PTTLink node. It consists of Linux, Asterisk and app_rpt. ASL uses the Debian version of Linux. Asterisk is the OpenSource PBX. App_rpt is an Asterisk application giving it the radio node functions. ASL runs on x86 or on the Raspberry Pi (ARM version).
  
:'''Q''': How do I install ASL?
+
== What does ASL stand for? ==
:'''A''': ASL is available as a installer for i386/AMD (PC) and as a SD card image for Raspberry Pi and other ARM boards.If you have ever installed Linux you know how to install ASL. The images are available from the [[Main Page]] Related Links.
+
:AllStarLink
  
:'''Q''': Can ASL be installed on an existing Linux install, for example on a VM running Debian?
+
== How do I install PTTLink? ==
:'''A''': Yes it can. More information to follow. But if you have no other option you could do this:
+
:PTTLink is available as a installer for i386/AMD (PC) and as a SD card image for Raspberry Pi and other ARM boards.If you have ever installed Linux you know how to install PTTLink. The images are available from the [[Main Page]] Related Links.
  
<pre>
+
== Can PTTLink be installed on an existing Linux install, for example on a VM running Debian? ==
 +
:Yes it can. More information to follow. But if you have no other option you could do this:
 +
 
 +
<syntaxhighlight lang="bash">
 
cd /tmp
 
cd /tmp
wget https://github.com/AllStarLink/Asterisk/raw/develop/allstar/repository/install-repository
+
wget http://dvswitch.org/install-allstarlink-repository
chmod +x /install-repository
+
 
./install-repository
+
chmod +x install-allstarlink-repository
 +
./install-allstarlink-repository
  
 
If Raspbian: apt-get install raspberrypi-kernel-headers -y
 
If Raspbian: apt-get install raspberrypi-kernel-headers -y
  
Otherwise: apt-get install linux-headers-uname -r -y
+
Otherwise: apt-get install linux-headers-`uname -r` -y
  
 
apt-get update
 
apt-get update
 
apt-get install allstarlink -y
 
apt-get install allstarlink -y
</pre>
+
</syntaxhighlight>
  
:'''Q''': Will ASL run on Windows?
+
== Will PTTLink run on Windows? ==
:'''A''': No, ASL is a Linux application.
+
: No, PTTLink is a Linux application.
  
:'''Q''': How do I login to ASL once it is installed?
+
== How do I login to PTTLink once it is installed? ==
:'''A''': The initial user  login ID is '''repeater''' with a password of '''allstarlink'''. When you login the first time you will be forced to change the password. The user repeater has sudo rights. You can then continue the customization process. To enable console root login you will need to set a password for user root.
+
:The initial user  login ID is '''repeater''' with a password of '''pttlink'''. When you login the first time you will be forced to change the password. The user repeater has sudo rights. You can then continue the customization process. To enable console root login you will need to set a password for user root.
  
:'''Q''': How is a ASL Node configured?  
+
== How is a PTTLink Node configured? ==
:'''A''': Briefly, a single node configuration is straight forward. Once you are logged in run asl-menu. The system will walk you through a first time setup of your node by asking you a number of questions. You'll need to have created an AllStar account, created a server, requested a node number and have your node's password.  
+
:Briefly, a single node configuration is straight forward. Once you are logged in run ptt-menu. The system will walk you through a first time setup of your node by asking you a number of questions. You'll need to have created an PTTLink account, created a server, requested a node number and have your node's password.  
  
:'''Q''': How many nodes can ASL support on a single server?
+
== How many nodes can PTTLink support on a single server? ==
:'''A''': It depends on the hardware. A high power Intel box may support 25 or more RTCM clients. A the other end of the spectrum, a Raspberry Pi 3 would be good for 2 USB nodes.
+
:It depends on the hardware. A high power Intel box may support 25 or more RTCM clients. A the other end of the spectrum, a Raspberry Pi 3 would be good for 2 USB nodes.
  
:'''Q''': When using ACID I had (insert feature here) Now it's gone. When will ASL support this feature?
+
== When using ACID I had (insert feature here) Now it's gone. When will PTTLink support this feature? ==
:'''A''':  ASL supports all the same channel drivers, features and apps that ACID supported. Under ASL, modules are not loaded by default. They must be enabled in /etc/asterisk/modules.conf.  
+
:PTTLink supports all the same channel drivers, features and apps that ACID supported. Under PTTLink, modules are not loaded by default. They must be enabled in /etc/asterisk/modules.conf.  
  
:'''Q''': Will ASL run as a hub / reflector?
+
== Will PTTLink run as a hub / reflector? ==
:'''A''': YES, ASL will run as a hub. To build a hub set rxchannel = dahdi/pseudo in rpt.conf and set noload => chan_simpleusb.so in modules.conf
+
: Yes, PTTLink will run as a hub. To build a hub set rxchannel = dahdi/pseudo in rpt.conf and set noload => chan_simpleusb.so in modules.conf
  
:'''Q''': Do I need a monitor and keyboard to run ASL?
+
== Do I need a monitor and keyboard to run PTTLink? ==
:'''A''': No, ASL can be managed via SSH on port 22. The port can be changed in /etc/ssh/sshd.conf. ASL for the Raspberry Pi does require a monitor and keyboard to install.
+
:No, PTTLink can be managed via SSH on port 22. The port can be changed in /etc/ssh/sshd.conf. PTTLink for the Raspberry Pi does require a monitor and keyboard to install.
  
:'''Q''': What is the IP address of my new node?
+
== What is the IP address of my new node? ==
:'''A''': ASL configures the machine via DHCP. Check your DHCP server for the address. The machine defaults to repeater.allstarlink.org. This can be changed with asl-menu.
+
:PTTLink configures the machine via DHCP. Check your DHCP server for the address. The machine defaults to repeater.pttlink.org. This can be changed with ptt-menu.
  
:'''Q''': Does my remote access program (insert IAXRPT, Web Transceiver, Zoiper, AndroidIAX here) work with ASL?
+
== Does my remote access program (insert IAXRPT, Web Transceiver, Zoiper, AndroidIAX here) work with PTTLink? ==
:'''A''': Yes, either using the sample configuration files or your custom files.
+
:Yes, either using the sample configuration files or your custom files.
  
:'''Q''': What about SIP support?
+
== What about SIP support? ==
:'''A''': By default, SIP is not enabled. If you want to enable it, see /etc/asterisk/modules.conf
+
:By default, SIP is not enabled. If you want to enable it, see /etc/asterisk/modules.conf
  
:'''Q''': What audio file format does ASL use?
+
== What audio file format does PTTLink use? ==
:'''A''': By default, ASL installs the ulaw formatted audio files installed in /var/lib/asterisk/sounds/.
+
:By default, PTTLink installs the ulaw formatted audio files installed in /var/lib/asterisk/sounds/.
  
:'''Q''': What version of app_rpt is ASL built with?
+
== What version of app_rpt is PTTLink built with? ==
:'''A''': ASL is built from the current version of asterisk taken from the github. As of now, The version of the code from the github is 1.01 2/13/2018
+
: PTTLink is built from the current version of asterisk taken from the github. As of now, The version of the code from the github is 1.01 2/13/2018
  
:'''Q''': ASL is built on Debian 9, why Debian, why not (insert distro here)?
+
== PTTLink is built on Debian 9, why Debian, why not (insert distro here)? ==
:'''A''': There are a lot of great Linux distributions available. Debian is a 20+ year old distribution with a large developer base. Many of the other distributions are based on Debian.
+
: There are a lot of great Linux distributions available. Debian is a 20+ year old distribution with a large developer base. Many of the other distributions are based on Debian.
  
:'''Q''': I run a custom script (insert script here). Does it work with ASL?
+
== I run a custom script (insert script here). Does it work with ASL/PTTLink? ==
:'''A''': Unless the script does something really strange or uses something specific to only one Linux distribution, The script should be made to work. We will be happy to work with script writers to move their script to ASL.
+
: Node operators have the freedom to use and install any custom scripts that run on Linux. Unless the script does something really strange or uses something specific to only one Linux distribution, the script can be modified to work. We will be happy to work with script writers to move their script to ASL.
  
:'''Q''': I updated my kernel now what?
+
== I updated my kernel now what? ==
:'''A''': ASL uses DKMS to manage the installation of kernel modules. DKMS will update when you install a new kernel.
+
:PTTLink uses DKMS to manage the installation of kernel modules. DKMS will update when you install a new kernel.
  
:'''Q''': I need a Linux program that is not in ASL, what do I do?
+
== I need a Linux program that is not in PTTLink, what do I do? ==
:'''A''': apt-get is the Debian utility to install, remove and upgrade programs. apt-get install foo will install the program foo if it is available.
+
:apt-get is the Debian utility to install, remove and upgrade programs. apt-get install foo will install the program foo if it is available.
  
:'''Q''': I have a question not covered in this FAQ, how do I get an answer?
+
== I have a question not covered in this FAQ, how do I get an answer? ==
:'''A''': There is a wealth of information on AllStar Asterisk at http://wiki.allstarlink.org[http://docs.allstarlink.org/drupal/ /] There is also a user mail list at http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users
+
: There is a wealth of information on PTTLink Asterisk at on this [[Main Page|wiki]] There is also a user mail list at [http://lists.keekles.org/cgi-bin/mailman/listinfo/app_rpt-users http://lists.keekles.org/]
  
:'''Q''': How do I change my network (adapter) setup?
+
== How do I change my network (adapter) setup? ==
:'''A''': Use asl-menu
+
:Use ptt-menu
  
:'''Q''': How do I change my DNS setup?
+
== How do I change my DNS setup?==
:'''A''': Use asl-menu
+
:Use ptt-menu
 
:
 
:
:'''Q''': How do I restart Asterisk?
+
==  How do I restart Asterisk? ==
:'''A''': Asterisk can be restarted by running the script <code>astres.sh</code> or stoped with <code>astdn.sh</code> and started with <code>astup.sh</code>.
+
:Asterisk can be restarted by running the script <code>astres.sh</code> or stoped with <code>astdn.sh</code> and started with <code>astup.sh</code>.
 +
 
 +
== What are the specific differences between a single node, and a hub, to which can accept many connections? ==
 +
:Any node can be a "HUB". A node is not limited to one connection. There may be hardware limitations about the number of connections a given piece of hardware and internet connection can support. Typically, a HUB is located on a higher bandwidth Internet connection and is running a more "stout" piece of hardware. A HUB usually does not have a node radio connected to it, but there is no reason it can't. A HUB usually runs DAHDI/pseudo for it's rxchannel. This is changed in the rpt.conf file.
 +
 
 +
== On some x86 and some raspberry pi2's, I have noticed dtmf falsing and would like to recompile app_rpt to set the radio relax feature off to reduce/eliminate the false dtmf tones that get decoded from voice transmissions. ==
 +
: PTTLink has radio relax turned off..
 +
 
 +
== I exited the first-time script for setting up a PTTLink system, and would now like to run it. How is this accomplished? ==
 +
: Do the following:  sudo touch /etc/asterisk/firsttime && sudo /usr/local/sbin/first-time
 +
 
 +
== Q. How do I obtain the software? ==
 +
:The easy way is to download the iso image from [https://github.com/pttlink/Asterisk/releases PTTLink Github Repository], make an install CD, follow the instructions, and run the auto install disk.
 +
 
 +
For those who are technically savvy, and want to control the installation process to a fine level of granularity, app_rpt is an application which comes bundled with Asterisk, however, a later version may be available on our source repository. All you need to do is go to asterisk.org, download asterisk, configure the asterisk to build app_rpt by modifying the Makefile in the asterisk/apps directory, and then compile and install it. You can get the latest version of app_rpt.c along with the sound files, and sample configuration files from our repository mentioned in the developers section of this website.
 +
 
 +
== What are the hardware interface board options? ==
 +
:There are three different ways to interface your radio with app_rpt/Asterisk. The first (and most preferred) way is to use our Quad Radio PCI card. The audio quality the best when the Quad Radio PCI card is used. The second way is to purchase the ready-made DMK Engieering URI, and the third way is to modify a generic USB fob using the instructions on this website. See the next question.
 +
 
 +
==Can I build my own hardware interface board? ==
 +
:You can modify a CM-108 USB sound fob to bring out PTT and use that as your hardware interface. The modification procedure is located here
 +
 
 +
==How fast does the computer need to be? ==
 +
:This is going to depend on the number of simultaneous connections you wish to support. For USB interfaces, more processor horsepower is necessary. If you are going to use a USB interface, then the CPU speed should ne no less than 1.2GHz. For the quad radio PCI card, the system will work just fine with 800MHz CPU's.
 +
 
 +
== What type of Internet connection is required? ==
 +
:A broadband connection is required. The connection should support at least 512 kilobits down and 128 kilobits up.
 +
 
 +
== How much bandwidth is required per connection? ==
 +
:Because we use the ADPCM (g726aal2) codec in Asterisk, each connection from/to a remote node will require about 55 kilobits/sec (at the IP packet level) of bandwidth in both directions. Optionally, the GSM codec can be used and the bandwidth requirement will be 35 kilobits/sec, but the audio quality will suffer.
 +
 
 +
== How is the audio quality? ==
 +
:The frequency response when ADPCM is used will be very close to telephone voice grade (telephone voice grade is defined as 3db points at 300-3400Hz, 1000Hz 0db reference). Additionally, we optionally support the G.711 codec which is superior ro ADPCM at the expense of bandwidth.
 +
 
 +
==Is there any audio delay incurred in the system? ==
 +
: Yes. Due to the fact that the system is TDM (Time Domain Multiplexed) and there is overhead involved to perform DSP functions in Asterisk, there is audio delay for both local connections and there is additional audio delay from connections made over the Internet.
 +
 
 +
== What ports need to be opened on my router? ==
 +
: If you wish to have incoming connections to your node, you must forward:
 +
 
 +
: <code>Port 4569 UDP</code>
 +
 
 +
: You may optionally forward port 22 for external SSH access, '''but do this at your own risk. Ensure you have a strong password set on your account.'''
 +
 
 +
== Does app_rpt work through NAT routers? ==
 +
Yes. Port 4569 should be forwarded to the Asterisk machine behind the router to accept incoming connections. In addition, it will work when both ends are behind a NAT router.
 +
 
 +
== Is a static IP address required? ==
 +
No. In fact, direct dynamic-IP to dynamic-IP connections are possible using standard authentication (see next question).
 +
 
 +
== How are incoming PTTLink connections authenticated? ==
 +
: Authentication is done by verifying source and destination node number and IP address and the intrinsic security features of the IAX2 protocol. A table of valid PTTLink nodes is periodically downloaded from one of several PTTLink Link servers. No call will be connected unless the IAX2 call is completed without failure, and the calling node number, called node number, and source IP address all match what is in the table.
 +
 
 +
== How does a node know how to connect to another node on PTTLink? ==
 +
: PTTLink has an IP address distribution mechanism to periodically update all valid PTTLink nodes. This information is automatically retrieved from a set of redundant PTTLink node servers by a script which runs in the background on the PTTLink node. Additionally, each node periodically informs an PTTLink registration server of its current IP address using the IAX register statement in iax.conf. In this way, all nodes in the PTTLink system are kept up to date with everyone's latest IP address.
 +
 
 +
== Will app_rpt interconnect with Echolink? ==
 +
:Yes. There are two channel drivers chan_echolink for Echolink connections. Echolink incoming and outgoing connections are supported through this channel driver. Incoming connections are made from any Echolink node in the usual manner. An app_rpt user dials an additional prefix digit in the connect command to distinguish between PTLink ([2,4-5]), Echolink (3) node numbers.
 +
 
 +
== Do I have to join the PTTLink Network? ==
 +
:No. You may implement your own private network, or allow connections to many networks including or not including PTTLink.
 +
 
 +
== Can I use app_rpt/Asterisk on an existing Asterisk PBX setup? ==
 +
: Yes. You just have to have compatible Asterisk hardware installed for both the phones and the radio.
 +
 
 +
== Can I use a SIP ATA in place of a Zaptel Interface? ==
 +
: This is a popular question. The short answer: No. Even though Asterisk supports SIP, the SIP protocol currently does not support signalling to detect COR state changes and to key and unkey the transmitter. This is really unfortunate as there are lots of SIP analog telephone adapters available inexpensively.
 +
 
 +
== Why would I use app_rpt instead of IRLP or Echolink? ==
 +
: To have control of your radio network, and understand how it works and be able to change it.
 +
 
 +
To be able to:
 +
*Change something if you don't like the way it works.
 +
*Use full duplex audio connections everywhere.
 +
*To be able to connect to a remote base anywhere in the world.
 +
*To make phone calls over VOIP from any node.
 +
*Remotely command any node from any other node.
  
:'''Q''': What are the specific differences between a single node, and a hub, to which can accept many connections?
+
== Can I connect to an app_rpt node with my computer? ==
:'''A''': Any node can be a "HUB". A node is not limited to one connection. There may be hardware limitations about the number of connections a given piece of hardware and internet connection can support. Typically, a HUB is located on a higher bandwidth Internet connection and is running a more "stout" piece of hardware. A HUB usually does not have a node radio connected to it, but there is no reason it can't. A HUB usually runs DAHDI/pseudo for it's rxchannel. This is changed in the rpt.conf file.
+
: Yes. See our Iaxrpt project
  
:'''Q''': On some x86 and some raspberry pi2's, I have noticed dtmf falsing and would like to recompile app_rpt to set the radio relax feature off to reduce/eliminate the false dtmf tones that get decoded from voice transmissions.
+
== Do I have to be an Linux wiz, Asterisk wiz, Radio wiz, and TCP/IP wiz to use app_rpt effectively? ==
:'''A''': ASL has radio relax turned off..
+
: Yes, it certainly helps, but with the auto-install CD available from [[Main Page#Downloads|wiki.allstarlink.org]], all you do to get a single node system up and running is follow our instructions, burn the ISO image, plug in your interface hardware, and boot from the ISO image to install everything.
  
:'''Q''': I exited the firsttime script for setting up a ASL system, and would now like to run it. How is this accomplished?
+
== Why did we fork Asterisk? ==
:'''A''': Do the following:
+
:Asterisk is undergoing a significant amount of change at Digium. Because of this, and the long time it takes to get patches approved, we decided to drive a stake in the ground and archive the Asterisk and Zaptel/Dahdi sources on our repository with the required changes to support the latest version of app_rpt. If the need arises, we may fetch a later version of Asterisk and Dahdi from Digium and make the necessary changes to it to support app_rpt (a forward port). Back pointing changes to support app_rpt into the Digium source tree at this point does not seem likely at least at this point in time.
touch /etc/asterisk/firsttime
 
/usr/local/sbin/first-time
 

Latest revision as of 06:02, 28 January 2022

PTTLink FAQ
Frequently Asked Questions.jpeg
Frequently Asked Questions

The AllStarLink/PTTLink Frequently Asked Questions (FAQ

What is AllStarLink Asterisk (ASL)?

ASL is the software used to create an PTTLink node. It consists of Linux, Asterisk and app_rpt. ASL uses the Debian version of Linux. Asterisk is the OpenSource PBX. App_rpt is an Asterisk application giving it the radio node functions. ASL runs on x86 or on the Raspberry Pi (ARM version).

What does ASL stand for?

AllStarLink

How do I install PTTLink?

PTTLink is available as a installer for i386/AMD (PC) and as a SD card image for Raspberry Pi and other ARM boards.If you have ever installed Linux you know how to install PTTLink. The images are available from the Main Page Related Links.

Can PTTLink be installed on an existing Linux install, for example on a VM running Debian?

Yes it can. More information to follow. But if you have no other option you could do this:
cd /tmp
wget http://dvswitch.org/install-allstarlink-repository

chmod +x install-allstarlink-repository
./install-allstarlink-repository

If Raspbian: apt-get install raspberrypi-kernel-headers -y

Otherwise: apt-get install linux-headers-`uname -r` -y

apt-get update
apt-get install allstarlink -y

Will PTTLink run on Windows?

No, PTTLink is a Linux application.

How do I login to PTTLink once it is installed?

The initial user login ID is repeater with a password of pttlink. When you login the first time you will be forced to change the password. The user repeater has sudo rights. You can then continue the customization process. To enable console root login you will need to set a password for user root.

How is a PTTLink Node configured?

Briefly, a single node configuration is straight forward. Once you are logged in run ptt-menu. The system will walk you through a first time setup of your node by asking you a number of questions. You'll need to have created an PTTLink account, created a server, requested a node number and have your node's password.

How many nodes can PTTLink support on a single server?

It depends on the hardware. A high power Intel box may support 25 or more RTCM clients. A the other end of the spectrum, a Raspberry Pi 3 would be good for 2 USB nodes.

When using ACID I had (insert feature here) Now it's gone. When will PTTLink support this feature?

PTTLink supports all the same channel drivers, features and apps that ACID supported. Under PTTLink, modules are not loaded by default. They must be enabled in /etc/asterisk/modules.conf.

Will PTTLink run as a hub / reflector?

Yes, PTTLink will run as a hub. To build a hub set rxchannel = dahdi/pseudo in rpt.conf and set noload => chan_simpleusb.so in modules.conf

Do I need a monitor and keyboard to run PTTLink?

No, PTTLink can be managed via SSH on port 22. The port can be changed in /etc/ssh/sshd.conf. PTTLink for the Raspberry Pi does require a monitor and keyboard to install.

What is the IP address of my new node?

PTTLink configures the machine via DHCP. Check your DHCP server for the address. The machine defaults to repeater.pttlink.org. This can be changed with ptt-menu.

Does my remote access program (insert IAXRPT, Web Transceiver, Zoiper, AndroidIAX here) work with PTTLink?

Yes, either using the sample configuration files or your custom files.

What about SIP support?

By default, SIP is not enabled. If you want to enable it, see /etc/asterisk/modules.conf

What audio file format does PTTLink use?

By default, PTTLink installs the ulaw formatted audio files installed in /var/lib/asterisk/sounds/.

What version of app_rpt is PTTLink built with?

PTTLink is built from the current version of asterisk taken from the github. As of now, The version of the code from the github is 1.01 2/13/2018

PTTLink is built on Debian 9, why Debian, why not (insert distro here)?

There are a lot of great Linux distributions available. Debian is a 20+ year old distribution with a large developer base. Many of the other distributions are based on Debian.

I run a custom script (insert script here). Does it work with ASL/PTTLink?

Node operators have the freedom to use and install any custom scripts that run on Linux. Unless the script does something really strange or uses something specific to only one Linux distribution, the script can be modified to work. We will be happy to work with script writers to move their script to ASL.

I updated my kernel now what?

PTTLink uses DKMS to manage the installation of kernel modules. DKMS will update when you install a new kernel.

I need a Linux program that is not in PTTLink, what do I do?

apt-get is the Debian utility to install, remove and upgrade programs. apt-get install foo will install the program foo if it is available.

I have a question not covered in this FAQ, how do I get an answer?

There is a wealth of information on PTTLink Asterisk at on this wiki There is also a user mail list at http://lists.keekles.org/

How do I change my network (adapter) setup?

Use ptt-menu

How do I change my DNS setup?

Use ptt-menu

How do I restart Asterisk?

Asterisk can be restarted by running the script astres.sh or stoped with astdn.sh and started with astup.sh.

What are the specific differences between a single node, and a hub, to which can accept many connections?

Any node can be a "HUB". A node is not limited to one connection. There may be hardware limitations about the number of connections a given piece of hardware and internet connection can support. Typically, a HUB is located on a higher bandwidth Internet connection and is running a more "stout" piece of hardware. A HUB usually does not have a node radio connected to it, but there is no reason it can't. A HUB usually runs DAHDI/pseudo for it's rxchannel. This is changed in the rpt.conf file.

On some x86 and some raspberry pi2's, I have noticed dtmf falsing and would like to recompile app_rpt to set the radio relax feature off to reduce/eliminate the false dtmf tones that get decoded from voice transmissions.

PTTLink has radio relax turned off..

I exited the first-time script for setting up a PTTLink system, and would now like to run it. How is this accomplished?

Do the following: sudo touch /etc/asterisk/firsttime && sudo /usr/local/sbin/first-time

Q. How do I obtain the software?

The easy way is to download the iso image from PTTLink Github Repository, make an install CD, follow the instructions, and run the auto install disk.

For those who are technically savvy, and want to control the installation process to a fine level of granularity, app_rpt is an application which comes bundled with Asterisk, however, a later version may be available on our source repository. All you need to do is go to asterisk.org, download asterisk, configure the asterisk to build app_rpt by modifying the Makefile in the asterisk/apps directory, and then compile and install it. You can get the latest version of app_rpt.c along with the sound files, and sample configuration files from our repository mentioned in the developers section of this website.

What are the hardware interface board options?

There are three different ways to interface your radio with app_rpt/Asterisk. The first (and most preferred) way is to use our Quad Radio PCI card. The audio quality the best when the Quad Radio PCI card is used. The second way is to purchase the ready-made DMK Engieering URI, and the third way is to modify a generic USB fob using the instructions on this website. See the next question.

Can I build my own hardware interface board?

You can modify a CM-108 USB sound fob to bring out PTT and use that as your hardware interface. The modification procedure is located here

How fast does the computer need to be?

This is going to depend on the number of simultaneous connections you wish to support. For USB interfaces, more processor horsepower is necessary. If you are going to use a USB interface, then the CPU speed should ne no less than 1.2GHz. For the quad radio PCI card, the system will work just fine with 800MHz CPU's.

What type of Internet connection is required?

A broadband connection is required. The connection should support at least 512 kilobits down and 128 kilobits up.

How much bandwidth is required per connection?

Because we use the ADPCM (g726aal2) codec in Asterisk, each connection from/to a remote node will require about 55 kilobits/sec (at the IP packet level) of bandwidth in both directions. Optionally, the GSM codec can be used and the bandwidth requirement will be 35 kilobits/sec, but the audio quality will suffer.

How is the audio quality?

The frequency response when ADPCM is used will be very close to telephone voice grade (telephone voice grade is defined as 3db points at 300-3400Hz, 1000Hz 0db reference). Additionally, we optionally support the G.711 codec which is superior ro ADPCM at the expense of bandwidth.

Is there any audio delay incurred in the system?

Yes. Due to the fact that the system is TDM (Time Domain Multiplexed) and there is overhead involved to perform DSP functions in Asterisk, there is audio delay for both local connections and there is additional audio delay from connections made over the Internet.

What ports need to be opened on my router?

If you wish to have incoming connections to your node, you must forward:
Port 4569 UDP
You may optionally forward port 22 for external SSH access, but do this at your own risk. Ensure you have a strong password set on your account.

Does app_rpt work through NAT routers?

Yes. Port 4569 should be forwarded to the Asterisk machine behind the router to accept incoming connections. In addition, it will work when both ends are behind a NAT router.

Is a static IP address required?

No. In fact, direct dynamic-IP to dynamic-IP connections are possible using standard authentication (see next question).

How are incoming PTTLink connections authenticated?

Authentication is done by verifying source and destination node number and IP address and the intrinsic security features of the IAX2 protocol. A table of valid PTTLink nodes is periodically downloaded from one of several PTTLink Link servers. No call will be connected unless the IAX2 call is completed without failure, and the calling node number, called node number, and source IP address all match what is in the table.

How does a node know how to connect to another node on PTTLink?

PTTLink has an IP address distribution mechanism to periodically update all valid PTTLink nodes. This information is automatically retrieved from a set of redundant PTTLink node servers by a script which runs in the background on the PTTLink node. Additionally, each node periodically informs an PTTLink registration server of its current IP address using the IAX register statement in iax.conf. In this way, all nodes in the PTTLink system are kept up to date with everyone's latest IP address.

Will app_rpt interconnect with Echolink?

Yes. There are two channel drivers chan_echolink for Echolink connections. Echolink incoming and outgoing connections are supported through this channel driver. Incoming connections are made from any Echolink node in the usual manner. An app_rpt user dials an additional prefix digit in the connect command to distinguish between PTLink ([2,4-5]), Echolink (3) node numbers.

Do I have to join the PTTLink Network?

No. You may implement your own private network, or allow connections to many networks including or not including PTTLink.

Can I use app_rpt/Asterisk on an existing Asterisk PBX setup?

Yes. You just have to have compatible Asterisk hardware installed for both the phones and the radio.

Can I use a SIP ATA in place of a Zaptel Interface?

This is a popular question. The short answer: No. Even though Asterisk supports SIP, the SIP protocol currently does not support signalling to detect COR state changes and to key and unkey the transmitter. This is really unfortunate as there are lots of SIP analog telephone adapters available inexpensively.

Why would I use app_rpt instead of IRLP or Echolink?

To have control of your radio network, and understand how it works and be able to change it.

To be able to:

  • Change something if you don't like the way it works.
  • Use full duplex audio connections everywhere.
  • To be able to connect to a remote base anywhere in the world.
  • To make phone calls over VOIP from any node.
  • Remotely command any node from any other node.

Can I connect to an app_rpt node with my computer?

Yes. See our Iaxrpt project

Do I have to be an Linux wiz, Asterisk wiz, Radio wiz, and TCP/IP wiz to use app_rpt effectively?

Yes, it certainly helps, but with the auto-install CD available from wiki.allstarlink.org, all you do to get a single node system up and running is follow our instructions, burn the ISO image, plug in your interface hardware, and boot from the ISO image to install everything.

Why did we fork Asterisk?

Asterisk is undergoing a significant amount of change at Digium. Because of this, and the long time it takes to get patches approved, we decided to drive a stake in the ground and archive the Asterisk and Zaptel/Dahdi sources on our repository with the required changes to support the latest version of app_rpt. If the need arises, we may fetch a later version of Asterisk and Dahdi from Digium and make the necessary changes to it to support app_rpt (a forward port). Back pointing changes to support app_rpt into the Digium source tree at this point does not seem likely at least at this point in time.