astrtr
astrtr allows Asterisk to route inbound calls like a telco switch. Based on astcc source.
You can define trunks, dial-patterns, and routes.
NEW : version 0.3 now supports multiple routing tables.
NEW : version 0.4 now supports max connections per trunk and add more reports (ACD, Live Calls, etc.).
NOTE : These new versions assume that the httpd server is running as 'asterisk' user (see Fixing AsteriskNOW/1.5 below).
TODO : max connections per trunk, NATing, etc.
Download
astrtr - obsolete
astrtr is now Obsolete!

I've found out that Asterisk can route calls without an add-on like astrtr. All you have to do is create a trunk with a few special options.
Like this:
  context=from-internal
  host=x.x.x.x or hostname
  type=friend
  insecure=port,invite
This will allow incoming calls from trunk to be processed like normal internal calls. This is called IP Authentication. Little things I didn't know...
I'll keep astrtr here since it may have some features not available in Asterisk.
astcc
astcc is a plugin available from Digium. It's only available in SVN so to make it easier to install I've placed it into a FreePBX module.
Latest version now assumes that httpd server is running as 'asterisk' user (see Fixing AsteriskNOW/1.5 below).
Also includes some fixes and improvements.
Download
astguiclient(vicidial)
asguiclient(vicidial) is now available as a FreePBX module. Please read everything here before trying it.
First if you are using AsteriskNOW/1.5 you should fix your install (see below).
Secondly, astguiclient REQUIRES a working conference system in Asterisk which in many cases is broken. Try creating a simple conference in FreePBX using all default values and then dial it. If all you here is 'invalid conference number' your system is broken. Most likely the issue is your pseudo dahdi is not working. In AsteriskNOW/1.5 I've had troubles after upgrading Asterisk. If your using Zaptel(ztdummy) you are probably okay. ViciDialNOW is using Zaptel. Asterisk use of Zaptel or Dahdi is compiled into the binary.
Good luck!
Download
Fixing AsteriskNOW/1.5
To fix errors in AsteriskNOW/1.5 after installation you should:
edit /etc/php.ini
 - increase post_max_size to 16M
 - increase upload_max_filesize to 16M
 - increase memory_limit to 100M
edit /etc/httpd/conf/httpd.conf and change User/Group to 'asterisk' and then run:
 chown -R asterisk:asterisk /var/www/html
 chown -R asterisk:asterisk /var/lib/php
 chown -R asterisk:asterisk /etc/asterisk
 chown -R asterisk:asterisk /var/lib/asterisk/agi-bin
 chown -R asterisk:asterisk /var/lib/asterisk/bin
 service httpd restart
change default 'amp111' password in:
 /etc/amportal.conf
 /etc/asterisk/manager.conf
This should clear all errors in the FreePBX notifications area (it can take upto 1 hr for them to clear).
Using this approach should work better than trying to use the 'apache' user because sometimes the asterisk server creates files under the 'asterisk' username and FreePBX needs access to them (ie: recordings). Also the apache user doesn't have access to some commands in scripts that FreePBX runs periodically.

Make sure you install "Asterisk SIP Settings" in FreePBX and add this custom setting : "autocreatepeer"="yes". This fixes a bug which causes all agents to appear as "unavailable" in queues.

Also note that upgrading asterisk ("yum upgrade asterisk*") will result in your conferences not working anymore (a dahdi issue I think). If you know how to properly upgrade then let me know (My HomePage).