Difference between revisions of "PTTLink FAQ"

From "PTTLink Wiki"
Jump to navigation Jump to search
m
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
  
:'''Q''': What is DIAL?
+
== What is AllStarLink Asterisk (ASL)? ==
:'''A''': DIAL is the software used to make an AllStar node. It consists of Linux, Asterisk and app_rpt. DIAL uses the Debian version of Linux. Asterisk is the OpenSource PBX. App_rpt is an Asterisk application giving it the radio node functions. DIAL runs on x86 or on the Raspberry Pi 3 (ARM version).
+
: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''': What does DIAL stand for?
+
== What does ASL stand for? ==
:'''A''':  Debian Installation for AllStar Link.
+
:AllStarLink
  
:'''Q''': How do I install DIAL?
+
== How do I install PTTLink? ==
:'''A''': If you have ever installed Linux you know how to install DIAL. The DVD/SD image is available from the [[Main Page]] Related Links.  
+
: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.  
  
:'''Q''': How many nodes can DIAL support?
+
== Can PTTLink be installed on an existing Linux install, for example on a VM running Debian? ==
:'''A''': It depends on the hardware. A high power Intel box may support 25 or mode RTCM clients. A the other end of the spectrum, a Raspberry Pi 3 would be good for 2 USB nodes.
+
:Yes it can. More information to follow. But if you have no other option you could do this:
  
:'''Q''': How is a DIAL Node configured?
+
<pre>
:'''A''': Briefly, a single node configuration is straight forward. The install 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.
+
cd /tmp
 +
wget http://dvswitch.org/install-allstarlink-repository
  
:'''Q''': How do I login to DIAL once it is installed?
+
chmod +x install-allstarlink-repository
:'''A''': With earlier versions of DIAL you can login as user debian with a password of debian (normal user) or loging as root with a password of debian (super user). This has been deprecated. The current version has the root account blocked from network login and it's "locked" from the console login. You must login as user repeater and sudo root commands. 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.
+
./install-allstarlink-repository
  
:'''Q''': When using ACID I had (insert feature here) Now it's gone. When will DIAL support this feature?
+
If Raspbian: apt-get install raspberrypi-kernel-headers -y
:'''A''':  DIAL supports all the same channel drivers, features and apps that ACID supported. Under DIAL, modules are not loaded by default. They must be enabled in /etc/asterisk/modules.conf. This is the single biggest configuration change from ACID.
 
  
:'''Q''': Will DIAL run as a hub / reflector?
+
Otherwise: apt-get install linux-headers-`uname -r` -y
:'''A''': YES, DIAL 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 DIAL?
+
apt-get update
:'''A''': No, DIAL can be managed via SSH on port 222. The port can be changed in /etc/ssh/sshd.conf. DIAL does require a monitor and keyboard to install.
+
apt-get install allstarlink -y
 +
</pre>
  
:'''Q''': What is the IP address of my new node?
+
== Will PTTLink run on Windows? ==
:'''A''': DIAL configures the machine via DHCP. Check your DHCP server for the address. The machine defaults to repeater.allstarlink.org. This can be changed with /usr/local/sbin/netsetup
+
: No, PTTLink is a Linux application.
  
:'''Q''': Does my remote access program (insert IAXRPT, Web Transceiver, Zoiper, AndroidIAX here) work with DIAL?
+
== How do I login to PTTLink once it is installed? ==
:'''A''': Yes, either using the sample configuration files or your custom files.
+
: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''': What about SIP support?
+
== How is a PTTLink Node configured? ==
:'''A''': By default, SIP is not enabled. If you want to enable it, see /etc/asterisk/modules.conf
+
: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''': What audio file format does DIAL use?
+
== How many nodes can PTTLink support on a single server? ==
:'''A''': By default, DIAL installs the ulaw formatted audio files installed in /var/lib/asterisk/sounds/.
+
: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''': What version of app_rpt is DIAL built with?
+
== When using ACID I had (insert feature here) Now it's gone. When will PTTLink support this feature? ==
:'''A''': DIAL is built from the current version of asterisk taken from the SVN. As of now, The version of the code from the SVN is 1520 and app_rpt is version 0.325 10/19/2014
+
: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''': DIAL is built on Debian 8, why Debian, why not (insert distro here)?
+
== Will PTTLink run as a hub / reflector? ==
:'''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.
+
: 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''': I run a custom script (insert script here). Does it work with DIAL?
+
== Do I need a monitor and keyboard to run 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. I'll be happy to work with script writers to move their script to DIAL.
+
: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''': I updated my kernel now what?
+
== What is the IP address of my new node? ==
:'''A''': You must have the kernel headers for the version of the kernel you installed. Install the headers, recompile and install DAHDI.
+
: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''': I need a Linux program that is not in DIAL, what do I do?
+
== Does my remote access program (insert IAXRPT, Web Transceiver, Zoiper, AndroidIAX here) work with PTTLink? ==
:'''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.
+
:Yes, either using the sample configuration files or your custom files.
  
:'''Q''': I would like to create my own custom version of DIAL. Can you help me?
+
== What about SIP support? ==
:'''A''': There are a number of new versions in the works. The scripts, patches and configuration files used to build DIAL are at https://github.com/N4IRS/AllStar
+
:By default, SIP is not enabled. If you want to enable it, see /etc/asterisk/modules.conf
  
:'''Q''': I have a question not covered in this FAQ, how do I get an answer?
+
== What audio file format does PTTLink use? ==
:'''A''': There is a wealth of information on AllStar Asterisk at http://docs.allstarlink.org/drupal/ There is also a user mail list at http://ohnosec.org/cgi-bin/mailman/listinfo/app_rpt-users
+
:By default, PTTLink installs the ulaw formatted audio files installed in /var/lib/asterisk/sounds/.
  
:'''Q''': How do I change my network (adapter) setup?
+
== What version of app_rpt is PTTLink built with? ==
:'''A''': /usr/local/sbin/netsetup
+
: 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''': How do I change my DNS setup?
+
== PTTLink is built on Debian 9, why Debian, why not (insert distro here)? ==
:'''A''': Edit /etc/resolvconf, which updates /etc/resolv.conf. Edit line #name_servers= by removing the # and adding the desired DNS (e.g. 8.8.8.8, which works for many applications); "name_servers=8.8.8.8" ;Save and reboot.
+
: 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''': How do I restart Asterisk?
+
== I run a custom script (insert script here). Does it work with PTTLink? ==
:'''A''': New versions of DIAL 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>.
+
: 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 PTTLink.
  
Older versions of DIAL you will need to stop it and start it like so:
+
== I updated my kernel now what? ==
service asterisk stop
+
:PTTLink uses DKMS to manage the installation of kernel modules. DKMS will update when you install a new kernel.
service asterisk start
 
  
If it does not stop:
+
== I need a Linux program that is not in PTTLink, what do I do? ==
killall -9 asterisk
+
: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.
  
To see if it's running:
+
== I have a question not covered in this FAQ, how do I get an answer? ==
ps ax | grep asterisk
+
: 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''': What are the specific differences between a single node, and a hub, to which can accept many connections?
+
== How do I change my network (adapter) setup? ==
:'''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.
+
:Use ptt-menu
  
:'''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.
+
== How do I change my DNS setup?==
:'''A''': Here's how to recompile with RADIO_RELAX off in DIAL.
+
:Use ptt-menu
Stop asterisk:
+
:
service asterisk stop
+
==  How do I restart Asterisk? ==
 +
: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>.
  
Verify asterisk is stopped:
+
== What are the specific differences between a single node, and a hub, to which can accept many connections? ==
ps ax | grep asterisk If you see /usr/sbin/asterisk it is not stopped
+
: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.
killall -9 asterisk
 
ps ax | grep asterisk If you see /usr/sbin/asterisk it is not stopped
 
  
Change compiler setting:
+
== 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. ==
cd /usr/src/astsrc-1.4.23-pre/asterisk
+
: PTTLink has radio relax turned off..
make menuselect
 
select 10. Compiler Flags
 
select 6. RADIO_RELAX set to off
 
x
 
make
 
make install
 
  
service asterisk start
+
== 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''': I exited the firsttime script for setting up a DIAL system, and would now like to run it. How is this accomplished?
+
== Q. How do I obtain the software? ==
:'''A''': Do the following:
+
:The easy way is to download the iso image from [[PTTLink|https://github.com/pttlink/Asterisk/releases]], make an install CD, follow the instructions, and run the auto install disk.
touch /etc/asterisk/firsttime
+
 
/usr/local/sbin/firsttime
+
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? ==
 +
:Port 4569/UDP for IAX2, and optionally port 22/TCP for SSH.
 +
 
 +
== 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 [[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.
 +
 
 +
== 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.

Revision as of 15:50, 1 January 2021

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 PTTLink?

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 PTTLink.

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 https://github.com/pttlink/Asterisk/releases, 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?

Port 4569/UDP for IAX2, and optionally port 22/TCP for SSH.

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.