In asterCC IP PBX, we have feature codes and hot keys, feature codes means you can dial when your phone is on hook, hot keys means you can dial during a call.
The key can be modified as you need
Besides Voicemail, Transfer Config, you can have following useful features:
*61 call pick up: When other extension ringings in same account group, you can dial *61 to pick up the call, if no account group is configured, it means it can pick up any calls in its team
*62 play the extension number
*64 agent login, use this extension to login as agent, when you login, you need enter agent number and agent password, then you can choose if you want to log into a specific agent group or all agent groups you belongs to
*65 agent logout, log out from all agent groups it belongs to
*73 call back the latest number
*67 enable DND
*68 disable DND
*69 switch agent to normal mode (outbound/inbound)
*71 switch agent to outbound mode, in this mode, queue would not send calls to this agent
*72 switch agent to inbound mode, in this mode, agent could not dial out
For useful hot key we have
*81 Skip DNC and dial, when the number you dialed is in Do Not Call list, system will give the prompt that you are not allowed to dial the number, but if you know this code, you can dial the code then system will dial anyway
*51 Blind Transfer(Device Mode)
*52 Attent-Transfer(Device Mode)
*54 Consult to agent number(Agent Mode)
*55 Consult to phone number(Agent Mode)
There are tips in GUI
Use “Esc” you can close the current window
Use “Ctrl+Z” in agent portal, system will show the dial panel
Log in the system page, enter the agent interface. Find the campaign pannel(Queue ) below the campaign corresponding to the queue number, and the two options, login, pause.
After elected “login”, then the current agent has been logged into the queue which belongs to the queue number, the queue was according to the state of all the agent be logged to assign the calls. After elected “pause”, then the agent has been logged are not be assigned phone calls whether he is busy or free. When elected logoff, the current agent were logged off from the queue, the queue will not assign any phone calls to the agent.
Return to the management interface, enter the dial list below campaign find the queue number corresponding to the campaign name, click on the campaign “edit” to open.
Find queue number, indicate the agent to be logged in the queue number; Queue Context, the crew used the queue context, freePBX use the latest version is the current from-queue; Use Extension Channel For Queue, where there are two cases. One case is logged in default, do not be checked before “Use Extension Channel For Queue”, in the asterisk CLI to perform queue show.
Another case is to use” Use Extension Channel For Queue”, checked before “Use Extension Channel For Queue”, in the asterisk CLI to perform queue show.
Back to the management interface, enter the extension to find the user name of current agent, click “edit”
Channel option, sip/8003, 8003 is the current agent extension.
1.Some dependencies error (1).configure: error: no acceptable C compiler found in $PATH Solution:
apt-get install gcc (2).configure: error: C++ preprocessor “/lib/cpp” fails sanity check Solution:
apt-get install g++ or
apt-get install build-essential (3). configure: *** XML documentation will not be available because the ‘libxml2’ development package is missing. configure: *** Please run the ‘configure’ script with the ‘–disable-xmldoc’ parameter option configure: *** or install the ‘libxml2’ development package. Solution:install libxml2-dev doesn’t help,run
./configure '--disable-xmldoc' (4). configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing) Solution:
apt-get install ncurses-dev (5). [FATAL] PEAR must be install (reauires DB.php). Include path: .:/usr/share/pear:/usr/local/src/PEAR Solution:
pear install db 2.Unknown SQL engine Problem:After installing the FreePBX,admin page show the following message: FATAL ERROR Unknown SQL engine:  Trace Back /var/www/html/admin/common/db_connect.php:57 die_freepbx() : Unknown SQL engine:  /var/www/html/admin/bootstrap.php:75 require_once() : /var/www/html/admin/common/db_connect.php /var/www/html/admin/config.php:61 require()
vi /etc/apache2/httpd.conf default it’s a empty file,add two lines
Group asterisk Restart apache service.
/etc/init.d/apache2 restart 3.Softphone registration error Problem:After adding Extensions in FreePBX,soft phone can’t register extensions. Solution: Log in your asterisk (
asterisk -r) and press
sip show peers,if no such command, run
module load chan_sip.so,load the sip module. Restart the asterisk service.
core restart now If nothing changes,maybe firewall blocks asterisk,you should disable the firewall and prevent it from starting on reboot.
chkconfig iptables off 4.Soft phone can’t connect to eachother Problem:Softphone can register freepbx extensions but can’t connect to eachother. Log in your asterisk (
asterisk -r),when soft phone registering,asterisk show error: chan_sip.c:8876 process_sdp: No compatible codecs, not accepting this offer! Solution: Make sure that you have selected a-law or u-law in soft phone selected codecs or select the proper codecss in a FreePBX EXTENSION configuration.
1.Unknown SQL engine
Problem:After installing the FreePBX,admin page show the following message:
Unknown SQL engine: 
/var/www/html/admin/common/db_connect.php:57 die_freepbx(): Unknown SQL engine: 
/var/www/html/admin/bootstrap.php:75 require_once(): /var/www/html/admin/common/db_connect.php
vim +231 /etc/httpd/conf/httpd.conf
change User apache and Group apache to User asterisk and Group asterisk.
vim +327 /etc/httpd/conf/httpd.conf
change None to All.
or use sed to replace.
sed -i '231,232s/apache/asterisk/i;327s/none/All/i' /etc/httpd/conf/httpd.conf
Restart apache service.
service httpd restart
2.Asterisk is not running,
Problem:After installing the FreePBX,the Server Status Panel of admin page show the following message:
Asterisk is not running, this is a critical service!
vim +$ /etc/asterisk/manager.conf
dddd to delete the last two lines and press
ZZ to save&quit.
or use sed to delete the last line twice.
sed -i '$d' /etc/asterisk/manager.conf
sed -i '$d' /etc/asterisk/manager.conf
Restat the asterisk service.
service asterisk restart
3.Softphone registration error
Problem:After adding Extensions in FreePBX,soft phone can’t register extentsions.
Log in your asterisk (
asterisk -r) and press
sip show peers,if no such command,
module load chan_sip.so,load the sip module.
Restat the asterisk service.
core restart now
If nothing changes,maybe firewall blocks asterisk,you should disable the firewall and prevent it from starting on reboot.
service iptables stop
chkconfig iptables off
4.Soft phone can’t connect to eachother
Problem:Softphone can register freepbx extensions but can’t connect to eachother.
Log in your asterisk (
asterisk -r),when soft phone registering,asterisk show error:
chan_sip.c:8876 process_sdp: No compatible codecs, not accepting this offer!
Make sure that you have selected a-law or u-law in soft phone selected codecs
or select the proper codecss in a FreePBX EXTENSION configuration.
astercc provides a multi-way call system based asterisk, using this sytem, you could build a multilingual telephone interpretation system.
1. billing invoice
2. multi language IVR
3. calling card
4. part-time agent
5. different rate
6. low-cost (VoIP support)
7. web site integration
8. full conversation recording
9. multi-party conference
10. support reseller
11. detail report
12. inbound/outbound popup
we have improved the auto-recyle feature in new version, now you could config auto-recyle by campaign.
auto-recyle is used to recyle the number from table campaigndialedlist to diallist, so system could re-dial customer phone in some conditions, it has the following parameters:
Max trytime: the maximum time the dialer will try dial
Recyle time: it will start recyle when “Recyle time” seconds after the call is done
Enable Auto Recyle: set to “yes” if you want to enalbe auto-recyle
Min Duration: number will be recyled when the full duration is less than this value, this duration including ring time
Agent Answer Min Duration: number will be recyled when agent talking time is less than this value
Customer Answer Min Duration: number will be recyled when customer answering time is less than this value
* number will be recyled only when it meets all conditions above
the most feature in astercc is the predictive dialer, using the dialer you could improve the work efficiency. In this tutorial, I will introduce how to setup a dialer with a pre-configed IVR: when dialer start work, customers will hear a IVR which you configed in Freepbx, so we could also config in the IVR to accept customer input, and we can forward to an new IVR or agents in a queue.
1. config a Queue in freepbx
usually you want to config a queue to resonpse customer if they want to reach some live agent, so we config a queue first
2. config an IVR in freepbx
2.1 first we will add some voice in the IVR, you’d like to use a recording software, just notice that in asterisk, it requires to use wav format and 16bit, 8000HZ mono
2.2 add a recording
you can either upload the recording you finished in your pc, or use a ext. in system to record a new one
2.3 add IVR
now queue and recording is ready, we could add the IVR
in announcement, we select the recording we just done, and also we added two options to accept customer input, when customer hits 1, he will go queue 900, and when hits 2, he will go to ext. 5001.
4. add misc
then we need add a misc so the dialer could reach the IVR
remember this feature code 800, we will use it when configing campaign in astercc, you could use some other code as you like, just make sure it’s unique in your freepbx
now we finished the job in freepbx, you’d like to dial 800 from any extension, it supposes to bring you to the IVR.
5. config the campaign in astercc
login as admin, and go to campaign, add a campaign as following
make sure in “Inexten” you put the same code as in “misc application”, and in “Queue number” put the same queue number as your freepbx queue
6. add agent user in astercrm
you’d like to add some account for your agents if you want them get a popup form when they start answer customer calls, go to “Extension” to add astercrm account for your agents, make sure the account “extension” match the ext. in your freepbx
7. start dialer and test agent
before start dialer, you’d like to check your astercc.conf
make sure this parameter is configed as
doublecheckcampaign = yes
then restart astercc daemons
ask your agent login and as admin go to dialer page, start the dialer
as an agent, he will get a popup when customer answered the call and hit 1 for queue
8. check report
you could go to dialedlist to check the campaign status
* to get a working freepbx and asterisk easily, you could choose astercc box, elastix, pbxinaflash or trixbox
you’d like to check campaign config, make sure you put correct context in Queue Content, this value should reach your agent device, like from-internal or from-queue
in the new asterbilling, we provide a reselleroutbound.agi, so you can specific different reseller use different trunk (ex. each reseller use a account in a2billing), and you can config a failover trunk for the reseller.
a) in your asterisk, add a context in your dialplan for reselleroutbound.agi, in directory scripts, we also provided a conf file named “extensions_astercc.conf”, [asterbilling- outbound] is the context for reselleroutbound.agi, if you have installed astercc via the shell script install.sh, this conf file will be moved to your asterisk etc folder, and add a new line in your extensions.conf “#include extensions_astercc.conf”, now you can use [asterbilling-outbound] as the context for asterbilling, if you are using asterCC-Box, it’s configed already. If you installed astercc manually, you would like to copy extensions_astercc.conf to asterisk etc folder(usually it’s /etc/asterisk ), and add the include line in your extensions.conf (#include extensions_astercc.conf, if it’s a system based freepbx, please add this line to /etc/asterisk/extensions_custom.conf)
b)config the trunk for reseller
when clid dialout, it’ll use turnk1 first and if dail failed, it’ll try to dial by trunk2
There are three type of trunk: auto，default and customize
auto：reselleroutbound.agi don’t proccess anything，and goto next step of context
default：your can select a default trunk that set in [resellertrunk] segment asterbilling.conf.php, could be set tow default system trunk:[resellertrunk] trunk1_type = sip
trunk2_type = sip
customize：add new trunk for this reseller，should click “reload” button to generate asterisk conf file when saved trunk infomation
when you add the trunk for the first time, when you reload, if will have two conf file: sip_astercc_registrations.conf and sip_astercc_trunks.conf , if you are not using astercc-box, please include these files to your sip.conf(for freepbx based system, please add #include sip_astercc_registrations.conf to /etc/asterisk/sip_registrations_custom.conf, and add #include sip_astercc_trunks.conf to /etc/asterisk/sip_custom.conf, and then do sip reload in asterisk , for the next time you add trunk, just need click the “reload” button.