Dial Speed Testers

Prerequisite for either tester: version or later of the DAHDI-cnet drivers.

Russ's Version (in PHP)

This is my own implementation in PHP. Just make sure you have a command-line PHP interpreter installed, copy this into your agi-bin directory (usually /var/lib/asterisk/agi-bin), and add it to your dialplan. This version does not need any audio files or applications beyond what is standard in Asterisk-cnet. It does not play an announcement when it starts; that can be done in your dialplan, if you want it.

August 20, 2011 UPDATE:

  • There is now a feature to detect if your dial is slowing down or speeding up as it spins. If TTS is enabled, this will be announced directly; without TTS, tones are used. A steady tone indicates steady speed, while a high-low sequence indicates falling dial speed, and low-high indicates rising dial speed.
  • The tester now supports the use of text-to-speech synthesizers for better vocabulary flexibility. By default, TTS is disabled, but you can change that if you prefer.
  • An option is available to log test information to a CSV file for further analysis.


  • Download the AGI.
  • cp dspeed.agi /var/lib/asterisk/agi-bin
  • chmod +x /var/lib/asterisk/agi-bin/dspeed.agi

Max's Version (in Perl)

This is based on Max Parke's dial speed test code. However, instead of using the system log, it uses pulse logs accessable through the /proc filesystem, kept independently for each channel.


  • Download the dial speed tester.
  • Install asterisk-perl (included in the download) if necessary.
  • Follow the instructions in the README file.

Dialplan example

Note that you could use either of the dial speed testers. If you use the PHP version, you might want to play back an announcement.

exten => 031,1,NoCDR
exten => 031,n,Answer
exten => 031,n,AGI(dspeed.agi)
exten => 031,n,Hangup