Asterisk is a very powerful media server for call routing and with great design and configuration can be used sustainably in a company,institution or office.
Case scenario 1:Call forwarding
Say you have two numbers.One for your phone and the other for you laptop and everyone in the office has a similar configuration.You can chose an appropriate numbering system to allow a simple dialplan where you don’t have to use a mysql database.Nevertheless, using a mysql/postgresql etc. is the best way for scalability concerns and using freepbx or elastix can allow you do all this easily.

Below is a context in our extensions.conf file that we’ll refer to on our configuration settings.

[finance_department]
exten=>_xxxx,1,Dial(SIP/${EXTEN},10,T) ;dial this extension
same=>n,NoOp(${DIALSTATUS}) ;output status one the console
same=>n,GotoIf($["${DIALSTATUS}"="BUSY"]?busy:unavail) ;check status busy i.e on another call for voicemail
same=>n,NoOp(I AM BUSY);output for debugging
same=>n(busy),VoiceMail(${EXTEN}@students-mail,b) ;store in voicemail
same=>n,Hangup() ;hangup after voicemail
same=>n(unavail),GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?channelunavailable)
;check if channel is available then branch to channel unavailable
;concatenate current number being dialled with 254 or your number of preference
same=>n(channelunavailable),Dial(SIP/$[254${EXTEN}],10,T)
;if the second number is unavailable too go to voicemail..where
same=>n,NoOp(I AM UNAVAILABLE)
same=>n,VoiceMail(${EXTEN}@students-mail,u)
same=>n,Hangup()

Case scenario 2:Call transfer
Asterisk comes with two forms of call tranfer
Blind call transfer
The call is transferred to another recipient with no intervention.Recipient could be unavailable or not
Supervised call transfer/Attended Call Transfer
The caller is placed on hold,a second call is placed to third party e.g manager or supervisor privately before first party is connected to the third party.
This is all very simple:
Jus head over to features.conf and set the following settings with your favorite editor.

vim /etc/asterisk/features.conf

Ensure that below configurations are set on features.conf file.

blindxfer => #1 ;This allows you to perform blind transfer e.g while call is connected #11012
;Dont forget to set T in Dial() Dial(SIP/${EXTEN},10,T)
atxfer => *2
;Attended transfer *21012 during call .Dont forget to set T in Dial()

We’ve been posting tutorials regularly on Asterisk PBX and VoIP network design for SOHO to Enterprise.Other tutorials include:

How to install Asterisk PBX 13.x on CentOS 7 step by step guide

Complete guide on how to Install Openfire XMPP chat server on Centos 7 

How to Install Latest Kamailio SIP Server on CentOS 7

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!


As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here