Todo lo que debe saber
para empezar a implantar
FreePBX
Agenda
• Introduccion
• El Portal de Miembros
• Opciones disponibles de Instalación
• Instalando el Distro
• Registrando y Activando su implementación
• Agregando funcionalidades y módulos comerciales
• ZULU!!! Anuncio
• Preguntas y Respuesta
© 2015 Sangoma Technologies 2
Rápida revisión del Proyecto
• Open Source
– GPLv3 +
• Base Instalada
– Base instalada estimada en mas de 2,000,000
– Crecimiento estimado de 50 mil por mes
• Estabilidad probada con alta madurez
– 10/14/2004 – 1.1 (AMP)
– 03/17/2006 – 2.0 (FreePBX)
– 05/16/2006 – 2.1
– 01/05/2007 – 2.2
– 08/25/2007 – 2.3
– 02/10/2008 – 2.4
– 09/19/2008 – 2.5
– 2.6, 2.7, 2.8. 2.9, 2.10, 2.11, 12
• …. … he perdido la cuenta ☺
© 2015 Sangoma Technologies 3
FreePBX Distros
Algunas palabras sobre los
Distros
• Distros populares
– FreePBX Distro
– AsteriskNOW
– PBX-in-a-Flash
– Elastix
– TrixboxCE
• Appliances de Sangoma
– FreePBX
– PBXAct
© 2015 Sangoma Technologies 4
Para esta sesión:
FreePBX Distro
• Módulos Comerciales
• Plataformas
soportadas
• Actualizaciones
Regístrese en el Portal
© 2015 Sangoma Technologies 5
Objetivos del Portal:
• Proveer a usuarios y canales un
punto de acceso para registrar
cada instalación de FreePBX
• Tener acceso a recursos de
soporte
• Tener acceso a software y
hardware para adquirir online
• Abrir tickets y dar segumiento a
casos de soporte
• Etc… (cambios ocurriendo….)
Acceda el Portal
• Toda implementación de
FreePBX tiene asociado un
Deployment ID
• El Deployment ID es una
identificación única y se
asocia a un usuario del portal
• El Deployment ID se obtiene
mediante la activación de la
instalación
…..Veremos los beneficios de
esto en un momento
© 2015 Sangoma Technologies 6
Anunciando Zulu!!
FreePBX Zulu UC
• Integración Outlook y Browser…
• Desarrollado por el mismo team que
esta detrás de la PBX mas popular y
usada del mundo de Open Source.
Permite fácil integración con aplicación
que la gente usa diariamente.
• Precio de promoción pre-reléase de
US$ 199.00 usuarios ilimitados. Valido
hasta Octubre 31.
© 2015 Sangoma Technologies 7
Obteniendo el Distro
© 2015 Sangoma Technologies 8
Obteniendo el Distro
© 2015 Sangoma Technologies 9
Creando su Instalación
© 2015 Sangoma Technologies 10
• Inicie su computador o VM usando el
ISO/USB
• Efectúe un “full Install”
• Apóyense en wiki.freepbx.org
• Full Install: Automáticamente activa
RAID 1 si hay dos discos presentes
• No RAID: no activa el RAID 1 a pesar
que existan discos.
• Advanced: Permite particinamiento
manual y definición de los discos, RAID,
etc.
• HA: Para instalar una maquina que va a
formar parte de una configuración HA
Configurado la instancia
© 2015 Sangoma Technologies 11
• Pueden usar los valores
por defecto
• O seleccionar la
configuración IP que les
convenga
Configurando la Instancia
• Seleccione la zona horaria
correspondiente
• Asigne el Password del “root”
© 2015 Sangoma Technologies 12
Iniciando la Instancia
• Al final se produce un reboot y se inicia la
nueva maquina
• Es deseable que la maquina tenga
conectividad internet para completar la
actualización de módulos
© 2015 Sangoma Technologies 13
Proceso de Instalación
• El proceso puede
tomar nos 15 minutos
© 2015 Sangoma Technologies 14
Primer boot
• Estamos listos para el primer
Login
• Observen la IP asignada por
el DHCP de su red o
predefinida por ustedes en
forma estatica
© 2015 Sangoma Technologies 15
Primeros pasos GUI
• Acceda via http la IP indicada en el Login
• Defina un usuario y password para la cuenta
del administrador
© 2015 Sangoma Technologies 16
Login como Administrador
• Hagamos Login con la cuenta de
administrador recién creada
© 2015 Sangoma Technologies 17
Inicio en el dashboard
• Estado del Sistema
• Observar si existe alguna
alarma que deba tener
nuestra atención
– Modulos sin actualizar
– Fallas en Asterisk o inicio de
algun modulo
– Acividades pendientes de
registro
– Etc…
© 2015 Sangoma Technologies 18
Algunos ajustes iniciales
• System Admin
© 2015 Sangoma Technologies 19
Algunos Ajustes Iniciales
• Activacion
© 2015 Sangoma Technologies 20
The FreePBX Distro
Commercial Modules
• Purchase Commercial Add on modules to expand and
enhance your FreePBX System.
• We will spend a small amount of time talking about this in
more detail later on in the class and in the Sales and
Marketing and Reseller Section.
• Helps fund the project and allows us to keep the lights on.
• Don’t worry we are not here to pitch you for 3 days on buying
modules or anything else.
© 2015 Sangoma Technologies 21
The FreePBX Distro
Support
• Purchase Support Contracts from the FreePBX Project
with SLA contracts.
• Purchase Hourly Support credits
• You can view support options at
http://www.freepbx.org/support-and-professional-services
• Like commercial modules this helps fund the project and
allows us to keep the lights on.
© 2015 Sangoma Technologies 22
The FreePBX Distro
Upgrades
• FreePBX GUI updates can never touch anything at the operating system level
such as kernel, Asterisk or any of the other 500 packages used to make up your
phone system.
• To update the Distro we publish upgrade scripts for each track version of the
Distro. We create a new track for each OS or FreePBX GUI major release and
inside a track will have multiple versions. For more information on Versions and
Tracks view our wiki at
http://wiki.freepbx.org/display/FD/Updating+FreePBX+Official+Distro
• Our current tracks are;
– 6.12.65 which is EL 6.5 and FreePBX 12- STABLE
– 5.211.65 which is EL 6.5 and FreePBX 2.11- EOL
• For the class we are using the Stable track of 6.12.65.
© 2015 Sangoma Technologies 23
The FreePBX Distro
Upgrades
• To view which track your system is on you can go into the sysadmin module
• You can also view the version from the Linux CLI with the following command.
© 2015 Sangoma Technologies 24
The FreePBX Distro
Upgrades
• Upgrades can be done 3 different ways.
– You can find which version you are on and download each upgrade script based on the wiki for your version. Then run
each script in order to get to the version you want.
http://wiki.freepbx.org/display/FD/Updating+FreePBX+Official+Distro
– You can execute the following script from the linux CLI and it will update you to the latest version in your track for you.
Please note this will only work if you have registered your PBX with our License Server which we will do in a few
moment.
© 2015 Sangoma Technologies 25
The FreePBX Distro
Upgrades
– If you have the Commercial
Sysadmin Pro you can pick
which version your want to
upgrade to and also set
automated schedules on how
often to look for new upgrades
and install them automatically
for you.
© 2015 Sangoma Technologies 26
Initial Setup of FreePBX
System
• OBE
• Register Deployment
• Install SSH Client
• Update Distro
• Sysadmin Module
– Set Time Zone.
– Set harddrive failure/fillup notification
– Intrussion Detection Settings
– Add Email and Setup whitelist for the whole subnet of 192.168.101.0/24
• Initialize several Advanced Settings
© 2015 Sangoma Technologies 27
Initial Setup of FreePBX
OBE (Out of Box Experience)
• This is our initial screen after first install.
The purpose of this is to allow you to
setup your GUI username and password
for FreePBX. Instead of having a standard
predefined username and password we
make you set one.
• The main purpose for this is so there are
not default usernames and password
floating around the web that hackers can
use to try and hack into your system since
we know most users never change these
as history shows.
© 2015 Sangoma Technologies 28
Initial Setup of FreePBX
Portal and Registering your Deployment
• You should already have a Portal
Account and be able to login.
• A portal account is required:
– If you ever want to engage FreePBX
Professional Support and Services
– To license free and paid commercial
modules
– To order any other services or products
from FreePBX
• Since we will be using different
commercial module, you will register
today's deployment.
© 2015 Sangoma Technologies 29
https://schmoozecom.com/oss-registration.php?view=register
Initial Setup of FreePBX
• We will now walk through how to Register your PBX
to a deployment. There are 3 ways of doing this.
1. One is to login to the portal.schmoozecom.com
and create a deployment. You would then paste
the deployment ID into the System Admin
module under License to link this PBX with the
Deployment Number.
2. The other option is to go into the System Admin
module and under license have the system reach
into our portal.schmoozecom.com for you and
auto create a deployment and link this PBX to
that Deployment Number it created.
3. A new option is when purchasing a module within
module admin - a deployment ID will
automatically be created and assigned at
checkout out
• We will use option 2 as we are using a Discount
code to get a bunch of modules for use in the class.
© 2015 Sangoma Technologies 30
Initial Setup of FreePBX
Advanced Settings, Default Menu Items,
etc.
• /etc/freepbx.conf
– Minimal configuration: Database
Credentials and bootstrap path
• Advanced Setting
– Everything Else
© 2015 Sangoma Technologies 31
Initial Setup of FreePBX
(Advanced Settings)
• Many Purposes
– Change defaults for page configurations
– Expose hidden menu items
– Enable advanced/less used features
– Change file system configuration and related
– Allow Branding/Styling Changes
– Modify Asterisk Manager Credentials
– Control logs and logging levels
– Enable Developer Features
– View some internal system settings
• Read Only
– Some settings are “read only” because of
they are more ‘dangerous’ and should be
changed with caution.
– Display Read Only Settings will show these
– Override Read Only Settings will allow
changes
© 2015 Sangoma Technologies 32
Initial Setup of FreePBX
(Advanced Settings - examples)
© 2015 Sangoma Technologies 33
Initial Setup of FreePBX
(Registering your Deployment)
• Log into the System Admin module and click on License
– Would you like to register this deployment now.
• click Yes
– Do you have a Deployment ID that is not tied to another
Hardware System. This would be no since we did not create
a Deployment in the portal for this system ahead of time
• click No
© 2015 Sangoma Technologies 34
Initial Setup of FreePBX
(Registering your Deployment)
– Do you have a Portal account.
• Click Yes as you already have an account on the
portal.schmoozecom.com site for the FreePBX
Store/Portal.
• Put in your email address that is used with the portal
and click the Register button.
– Location Name- Here you define a friendly name for this
PBX that is easy for you to identify this location or PBX.
We will use OTTS Lab as our location name.
© 2015 Sangoma Technologies 35
– Click Register when done.
– Your PBX has now been registered with the
License Server and a Deployment ID has been
created. You can now obtain commercial
modules for this system which we will be doing
in a bit..
Initial Setup of FreePBX
ssh install
• Windows systems should download Putty if not
already installed:
– You can download it from:
http://downloads.freepbxdistro.org/OTTS/
– Put it on your desktop or somewhere convenient,
we will be using it a lot during the next 3 days
• For Mac:
– Applications -> Utilities -> Terminal
(put it in your menu bar, you will need it a lot)
© 2015 Sangoma Technologies 36
Initial Setup of FreePBX
• Type in the username of root
and press enter
• Type your root password of
freepbx and press enter.
© 2015 Sangoma Technologies 37
Initial Setup of FreePBX
Distro Releases and Upgrades
• We will use the simple script
option that we discussed earlier
to make sure our systems are
upgraded to the latest version of
the Distro
• You can also change the
Asterisk version at anytime by
using the built in asterisk version
switch script: asterisk-version-
switch. For the Class we will be
using Asterisk 11. PLEASE DO
NOT CHANGE IT.
© 2015 Sangoma Technologies 38
Initial Setup of FreePBX
Setup System Admin module
• Setup the following options
in the System Admin
module in the FreePBX
GUI.
– Timezone Change
– Set harddrive failure/fill-up
notification
– Intrusion Detection Settings
– Add email and setup whitelist
for the whole subnet of
192.168.101.0/24 (or whatever
your local subnet will be)
© 2015 Sangoma Technologies 39
Initial Setup of FreePBX
Advanced Settings
Setup some settings under the
Advanced Settings module in FreePBX
GUI
– Developer and Customization:
– System Setup
– Expose all Device Setting when
adding extension
– Send P Asserted Identity and
manage NAT
© 2015 Sangoma Technologies 40
Initial Setup of FreePBX
Overview - Lab
• Create 2 SIP Extensions
• Download Xlite and Setup
• Dial Echo Test
• Purchase and Install OTTS Bundle of Commercial
Modules.
– Discount Code (Code TOBEDEFINED)
• Setup Desk Phone with EPM
• Dial between 2 Extensions
© 2015 Sangoma Technologies 41
Initial Setup of FreePBX
LAB: Setup Extensions
• Create 2 SIP Extensions
– Create Ext Number
• See your welcome sheet on what extensions
to use.
– Give a display name
– Enable voicemail and set a voicemail
password
– Set any other options you would like to
change or set
• TIP- Notice the defaults on ext for things
like sendrpid is the Passerted Identity
since earlier in advanced setting we told
FreePBX to default that to PAI.
© 2015 Sangoma Technologies 42
Initial Setup of FreePBX
LAB: Setup X-Lite -Windows
• Download Xlite if you do not have it
already
http://downloads.freepbxdistro.org/OTTS/
– Setup Xlite with one of the extension
you created on your PBX.
– Display name, User ID, Authorization
name:
• => your extension number
– Password => your SIP Secret
– Domain => PBX IP Address
© 2015 Sangoma Technologies 43
Initial Setup of FreePBX
LAB: Setup X-Lite –MAC/OSX
• Download Xlite if you do not have it
already
http://downloads.freepbxdistro.org/OTTS/
– Setup Xlite with one of the extension
you created on your PBX.
– Display name, User ID, Authorization
name:
• => your extension number
– Password => your SIP Secret
– Domain => PBX IP Address
© 2015 Sangoma Technologies 44
Initial Setup of FreePBX
LAB: Simple Dialing
• Verify calling ability and assure 2
way audio:
– Dial your Echo Test feature
code.
• Hint: look at the feature code
module to get the “echo
test”feature code.
– Setup your voicemail box.
• Hint: look at the feature code
module to get the “check
voicemail” feature code.
© 2015 Sangoma Technologies 45
Initial Setup of FreePBX
LAB: Obtaining Licenses
• We will now login to the portal and purchase a few modules we need.
– OTTS Bundle
• Use Discount Code TOBEDEFINED which will allow you to get these modules for free.
© 2015 Sangoma Technologies 46
• Appointment Reminder
• Broadcast
• Call Recoding Report
• Caller ID Management
• Class of Service
• Conference Pro
• Extension Routing
• End Point Manager
• Fax Pro
• Outbound Call Limits
• Park Pro
• Pinset Pro
• Q Xact Reports
• Restful Phone Apps
• System Admin Pro
• UCP for EPM
• VM Notify
• Voicemail Reports
• VQ Plus
• Web Call Me
• XMPP
Initial Setup of FreePBX
LAB: Obtaining Licenses
• Login to http://portal.schmoozecom.com
– Email Address=
– Password=
© 2015 Sangoma Technologies 47
Initial Setup of FreePBX
LAB: Obtaining Licenses
• Click on the Store at the top. Then click on
FreePBX Software
• On the left side click on Software Bundles
• Go find the following modules and Press
the Add Icon to add the item to your
Shopping Cart:
– FreePBX-CM-OTTS Bundle
© 2015 Sangoma Technologies 48
Initial Setup of FreePBX
LAB: Obtaining Licenses
• Press the Checkout Button on the right side
once you have the bundle
• Pick the deployment number from the drop
down next bundle item. This should be the
deployment number that was generated
earlier today. Use the Discount code of
OTTS2015 to purchase the products with no
need for payment and press the REDEEM
button
© 2015 Sangoma Technologies 49
Initial Setup of FreePBX
LAB: Obtaining Licenses
• To finish the checkout process Pick Check as your payment type
and Agree to the Terms and Conditions and press the “Process
Order” button
© 2015 Sangoma Technologies 50
Initial Setup of FreePBX
LAB: Obtaining Licenses
• Go back into the System Admin module
under license and press the Update
License button. You should now see a
license and expiration date for your new
modules.
© 2015 Sangoma Technologies 51
Initial Setup of FreePBX
LAB: Using EPM
• We are now going to go into EPM module
to setup our Desk Phone.
– EPM is a Commercial module used to
setup and manage phone configs for
over 20 manufactures and supports
over 250 devices
• We are going to just go over the basics
here as a interactive lab and get your
Desk Phone setup.
• Navigate to your End Point Manager
module under Settings section
© 2015 Sangoma Technologies 52
Initial Setup of FreePBX
LAB: Using EPM
• Click on Global Settings at the top.
– Here we need to define some
global settings.
– Define the IP address of your PBX
under the Internal IP section and
press the submit button when done.
• Take note of the HTTP provision
port defined here as we will need it
later when we tell the phone how to
reach the server for config files.
• Press the Submit button when done
© 2015 Sangoma Technologies 53
Initial Setup of FreePBX
LAB: Using EPM
© 2015 Sangoma Technologies 54
• Click on the firmware management tab on the
right hand side and then click on Brand of
Phones you are going to use
• Drag the latest firmware to slot 1 and press
submit – wait a minute or two and refresh the
page to make sure its been downloaded as
shown.
Initial Setup of FreePBX
LAB: Using EPM
• Select the Phone Brand to create a template
© 2015 Sangoma Technologies 55
Initial Setup of FreePBX
LAB: Using EPM
• Fill in the following fields for our new
template
– Template Name- Friendly name for
this template
– Destination Address- Pick Internal
which will pull the IP Address we
defined earlier in Global Settings or
you can just type in any IP or FQDN
– Time Zone Settings
– Provision Server Address should be
the same IP as the Destination
Address above
– Provision Server Protocol should be
HTTP.
– Firmware Version should be slot 1
• Save Template when done
© 2015 Sangoma Technologies 56
Initial Setup of FreePBX
LAB: Using EPM
• We are now going to setup some buttons on
our phone (using SNOM 870) by checking
the S-870 phone.
• For Line Key 1 we are going to set it up as
out ext
– Type-Line
– Account-Account1
• For button 2 lets setup a BLF to monitor our
X-lite phone.
– Type- BLF
– Label- Name of softphone
– Value- Extension number we want to
monitor which is the soft phone.
– Account-Account1
• Press the Save Model button
© 2015 Sangoma Technologies 57
Initial Setup of FreePBX
LAB: Using EPM
• Lastly we need to map our Desk Phone to
a extension on our system and what
template we want it to use. Under
Extension Mapping section of EPM we will
do the following setup.
– Extension- What extension on the system
we want to map
– Brand- What phone brand will this extension
be using
– Template- What template would we like to
build the phone config off of.
– MAC Address- MAC Address of this phone
– Model- What model number is this phone.
• Press the Save button at the bottom of the
page and EPM will write out the
configuration files for this device.
© 2015 Sangoma Technologies 58
Initial Setup of FreePBX
LAB: Using EPM
• Now we just need to point our Desk
Phone to the PBX IP address and
HTTP or FTP/TFTP port that is shown
in the Global Settings, making sure
the phone supports such protocol for
provisioning.
• Press the Settings button
• At this point you should program your
phone for provisioning and test!!!
© 2015 Sangoma Technologies 59
Initial trunking to PSTN
Overview
Initial Trunk and PSTN Setup
• Setup a SIP trunk with SIPStation
• Configure Inbound route for your assigned DID
• Create a simple 10 digit Outbound Route
– Test calls between your classmates
– Test calls from your cell phones
– Test calls to your cell phones
© 2015 Sangoma Technologies 60
Initial trunking to PSTN
Sip Trunk Setup
Go to
https://sipstation.schmoozecom.com/
• Login with your same username and password you used for the portal earlier to
buy your commercial modules.
© 2015 Sangoma Technologies 61
Initial trunking to PSTN
Sip Trunk Setup
• SIPStation allows you to create more then 1 location under the same account.
Make sure you are using the location at the top of OTTS LAB. As this location was
added to your account to allow you to buy the trunks and DIDs we need free of
charge for the class.
© 2015 Sangoma Technologies 62
Initial trunking to PSTN
Sip Trunk Setup
• Add 2 call trunks to your account. Each
trunk purchased allows 1 inbound or
outbound call with unlimited normal
business usage calling
• Pick a DID for your account
• Click the Checkout Button. Your shopping
cart should show 2 Trunks and the DID.
© 2015 Sangoma Technologies 63
Initial trunking to PSTN
Sip Trunk Setup
• Agree to the terms and
pick the Confirm Order
& Charge my Card
button.
– No Credit Card is
needed since we
marked your account
as free for the class.
© 2015 Sangoma Technologies 64
Initial trunking to PSTN
Sip Trunk Setup
• Now we can go get our key code for easy
setup in FreePBX. Click on My Account
tab at the top.
• Provide a valid e911 address.
• Enable SMS and T38 Faxing for a future
lab exercise
© 2015 Sangoma Technologies 65
Initial trunking to PSTN
Sip Trunk Setup
• Copy the FreePBX Module keycode into your clipboard.
© 2015 Sangoma Technologies 66
Initial trunking to PSTN
Sip Trunk Setup
• Go back to your PBX and open up the SIPStation module under
Connectivity tab and paste in the keycode and press Add Key
© 2015 Sangoma Technologies 67
Initial trunking to PSTN
Sip Trunk Setup
• This will pull in all of our information from SIPStation and present to us our DIDs and let
us setup routing of this DID. Lets route this DID to our main extension.
– Give the Route a Description Name such as Main DID
– Optionally set the failover number. In the event we can not reach your PBX when
someone calls this DID we will failover to the number provided here such as your Cell
Phone. This can also be managed from inside the SIPStation Store.
– Pick your main phone extension on where to route calls on this DID to.
– Press Update DID Configuration when done.
• Now Press the Apply Config button to write out all your changes.
© 2015 Sangoma Technologies 68
Initial trunking to PSTN
Sip Trunk Setup
• Our trunks should now show Green and Registered in the module after we refresh
the page.
© 2015 Sangoma Technologies 69
Initial trunking to PSTN
Sip Trunk Setup
• So why use the SIPStation module.
– What this just did was setup 2 trunks to our trunk1 and trunk2 for
redundancy in FreePBX.
– Setup your DID as a inbound route in FreePBX.
– Setup outbound routes for calling outbound in FreePBX.
• All this was done from the SIPStation module without you
having to go into 4 modules and waste 20 mins to create all
this like every other provider.
© 2015 Sangoma Technologies 70
Initial trunking to PSTN
Recap
© 2015 Sangoma Technologies 71
Initial trunking to PSTN
Recap
• From within the SIPStation module in FreePBX you can do some basic account management such as
– Setup Failover Number.
• This can be a global failover that anytime we can not reach your PBX with a call we will forward to this Phone Number or IP Address.
• You can also set a per DID failover. If set we will use the DID failover instead of the Global Failover number.
– Manager e911
• Manage your Default e911 address and what DID it is associated with.
• Setup additional DIDs with their own e911 addresses. A per month charge does apply for this.
• We can also see a few basic items like
– Are our trunks Registered.
– Do we have International Calling enabled
– Have we enabled outbound T38 Faxing
– Have we enabled SMS inbound and outbound faxing on our account.
• ! Lastly you can manage your full account as if you were logged into our website all from the SIPStation
module without ever leaving our PBX.
© 2015 Sangoma Technologies 72
Initial trunking to PSTN
Recap
• We have now created a SIP trunk to a provider
• We have configured a simple inbound route to one extension
• We have configured a simple 10 digit outbound route to the PSTN
• We should be able to make calls between ourselves and to the real PSTN
• FreePBX allows easy setup of SIP, IAX or DAHDI trunks.
– SIP- Open Standard for VOIP trunking that most providers use
– IAX- Open Standard developed by Digium and is a Asterisk only trunking protocol
• Inter-Asterisk eXchange
– DAHDI- This is the open source software driver that allows you to connect asterisk to
the standard PSTN of Analog, T1 such as PRI or E1 and BRI’s
• Digium Asterisk Hardware Device Interface
© 2015 Sangoma Technologies 73
Initial trunking to PSTN
Inbound Routes Other options
Inbound Routes – Other
Options
• Alert Info and CID name
prefix
• Privacy Manager
• CID Lookup Sources
• Channel Language
• Call Recording
• Fax Detection and
Routing
– What to do IF a Fax signal is
detected
© 2015 Sangoma Technologies 74
Initial trunking to PSTN
Call Routing
So far we’ve got
• Extensions/Mailboxes
• Inbound Routes
FreePBX call flow:
• Building blocks need to be created
• Call flow construction then needs to be
constructed working “backwards”
Next Pieces:
• Call Distribution
– Ring Groups
– Queues
• IVR
© 2015 Sangoma Technologies 75
Company DID
8004522233
75
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
© 2015 Sangoma Technologies 76
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
© 2015 Sangoma Technologies 77
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
• Recordings
• Announcements
© 2015 Sangoma Technologies 78
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
• Recordings
• Announcements
• Ringgroups, Queues, Destinations
© 2015 Sangoma Technologies 79
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
• Recordings
• Announcements
• Ringgroups, Queues, Destinations
• IVRs
© 2015 Sangoma Technologies 80
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
• Recordings
• Announcements
• Ringgroups, Queues, Destinations
• IVRs
• Time Conditions
© 2015 Sangoma Technologies 81
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
• Recordings
• Announcements
• Ringgroups, Queues, Destinations
• IVRs
• Time Conditions
• Call Flow Controls
© 2015 Sangoma Technologies 82
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Company DID
8004522233
Initial trunking to PSTN
Call Routing
Working Backwards
• Extensions/Mailboxes
• Recordings
• Announcements
• Ringgroups, Queues, Destinations
• IVRs
• Time Conditions
• Call Flow Controls
• Inbound Routes
• Analog Channel DID
© 2015 Sangoma Technologies 83
IVR
1-Sales
2-Support
3-Directions
Call Flow
Control
Sales
Ringing
Support
Queue
Support
Manager
Sales
Manager
After Hr
Msg
John’s VM
Initial trunking to PSTN
Call Routing
Working Backwards
• Just Got Easier!
– Requires >= 2.11
• Destination popOvers:
– Destination Modal Box
– One “generation” deep
– Supports Most
Destinations
© 2015 Sangoma Technologies 84
Distributed Calling
Overview
Distributed Calling
• Finding someone to answer the phone
– Distributed Calling: when FreePBX sends calls to multiple extensions or
otherwise seeks to find someone to answer the phone
• Most commonly achieved with:
– Ring Groups
(more people to answer than callers coming in)
– Queues (ACD)
(more callers coming in than people to answer)
• Advanced Call routing and escalation rules
© 2015 Sangoma Technologies 85
Distributed Calling
ACD/Ring Groups
© 2015 Sangoma Technologies
86
Ring Groups: Each Agent will receive all 3
calls at the same time
Queue
If Line Busy
Will try next
agent
If Line Busy
Will try next
agent
Agent 1
Agent 2
Agent 3
Agent 2 Agent 3Agent 1
A
A
A
A
B C
Calls B and C
remain on
Queue until A
is assigned
Queues No Autofill
Ring Groups
Distributed Calling
ACD/Ring Groups
• Queues, autofill
(default 1.4+)
– Each call distributed
to an available
agent, any
additional calls
queued
© 2015 Sangoma Technologies 87
Caller A
Caller B
Caller C
Agent 1
Agent 2
Distributed Calling
Lab: Ring Group Setup
• Create a Ring Group
– Add both of your extensions
– Add your Cell Phone or Office
Number
– Hard Set a Caller ID to be
used when calling external
numbers
– Set Failover Destination to be
a voicemail box
© 2015 Sangoma Technologies 88
Distributed Calling
Lab: Queue Setup
• Create a Queue
– Add 1 extension as
dynamic and 1 as static
• Log in Dynamic member
– Hint look in feature
codes module for
how to do this
• Set Failover Destination to
be a voicemail box
• Call into the queue.
© 2015 Sangoma Technologies 89
Distributed Calling
Lab: Extra Credit!!
• Create a special voicemail greeting to be used by the
queue and ring group when going to your voicemail box
as the failover destination. This greeting should only be
used by the queue and ring group and your normal
greeting played for all other callers.
GO FOR IT!!!!!
© 2015 Sangoma Technologies 90
IVR & Misc Applications
Overview
• Discussion IVR
• Discussion System Recordings
• Discussion on Call Flow Toggle
• Setup a System Recording for your IVR
• Setup IVR
• Setup a Misc App to IVR
• Setup Call Flow Toggle
© 2015 Sangoma Technologies 91
IVR & Misc Applications
IVR Discussion
• IVRs (Auto Attendants) are used to route calls to different areas of your PBX by giving the
caller options.
– Simple Example:
• “Press 1 for sales, 2 to reach an operator”
• It’s typically bad practice to provide more than 3-4 IVR options at one level of an IVR.
• If you have more options, “nest” the IVRs:
– “For sales press 1, for support press 2, for the operator press 3, to hear our hours of operations, fax
number, or directions to our store press 4. Option 4 would route to another IVR.
– When nesting, always provide option to “Return” back up
– Always set a “timeout destination” where calls will go if the user doesn’t choose an option.
– Always set an “invalid destination” if a caller presses an invalid option too many time.
– Set the loop count to allow multiple attempts before being directed to the “timeout” or “invalid”
destinations.
© 2015 Sangoma Technologies 92
IVR & Misc Applications
System Recording Discussion
System Recordings – a digression
• Before getting started, we need to make sure we can make recordings for our next few labs
• System Recordings allow you to create greetings/recordings from any phone on the PBX or upload audio
files.
• The recordings can then be used in other modules such as the Queue or IVR Greeting to guide callers
through your system.
• These recordings are used throughout the system.
• To make it easy to re-record a specific recording, enable a feature code that can be dialed from any phone
and it will walk you through how to re-record that recording. Nice way of changing these without going into
the GUI.
© 2015 Sangoma Technologies 93
IVR & Misc Applications
Call Flow Toggle Discussion
• A Call Flow Toggle is simply a on and off light switch or diversion.
– Route a Call through the Call Flow Toggle
– Pick a ON and OFF destination. In Call Flow we call them Normal and Override.
• When in Override mode if a BLF button is set to monitor the Call Flow it will turn on or red.
• Used to divert calls by a manual process only.
• Usually used where you will never have a automated schedule were a Time
Condition would work better. We will talk about Time Conditions later on.
© 2015 Sangoma Technologies 94
IVR & Misc Applications
Lab: System Recordings Setup
• On the initial screen of the
System Recordings module
you can either:
– pick an extension to use to
dial into the recording
system to make your
recording. We will be
using this option today.
– upload a pre-recorded file
in the proper format
© 2015 Sangoma Technologies 95
IVR & Misc Applications
Lab: System Recordings Setup
• Type in your Extension Number of your phone and
press the Go button
• It will now instruct you to dial *77 to record your
greeting and will walk you though the review
process. Now dial the *77 and create a simple
recording that we will change later after the IVR is
setup. Say something like “thanks for calling.”
• When done give the recording a name. Make sure
not to put in any spaced in the name or it will
complain. Press Save when done.
© 2015 Sangoma Technologies 96
IVR & Misc Applications
Lab: System Recordings Setup
• On the right side we should see a list of
recordings that have been made. Click
on the recording you just created.
• Enable the Feature Code option. This
will allow you to record your message
with the designated feature code (*293
here).
• When we create an IVR later we will use
this code to re-record a proper message
inline with the IVR you will be creating.
© 2015 Sangoma Technologies 97
IVR & Misc Applications
Lab: IVR Setup
• Create an IVR with the following Options:
– Add announcement you just created.
– Ring Group
– Queue
– Remote Voicemail Access
– TimeOut Destination
– Invalid Destination
• Dial the feature code for your
announcement you created earlier and re-
record it with the options above.
– When doing your recording for the IVR don't
announce what to press to check voicemail as this
would be a hidden option for your users to check
their voicemail while out of the office. Make it a hard
option that someone wont dial by accident like 6712
© 2015 Sangoma Technologies 98
IVR & Misc Applications
Lab: IVR Setup
• Create a Misc App to call your IVR from
any internal phone
– Great way to test your IVR without calling
in from a trunk
• Point your inbound route for your DID to
your IVR now and call from the outside
world.
© 2015 Sangoma Technologies 99
IVR & Misc Applications
Lab: Call Flow Toggle
• Create a call flow toggle between your IVR
and a general Voicemail Box.
• Point your DID to this Toggle so the call can
flow through it.
• Call your DID and it should ring your IVR.
• Dial your Toggle. Default feature code is
*28 plus the index so our example would be
*280.
• Call your DID and it should ring to your
Override Destination in our example this is
a Voicemail Box.
• Setup a BLF button on your phone to be
the feature code. Our example this is *280.
(Hint go into EPM and update the template
then reboot the phone so it will get a new
config)
© 2015 Sangoma Technologies 100
Outbound Call Flow
Discussion
Outbound Call Flow
• Configure Routes and Trunks
– Setup EMERGENCY Route
• Make sure it is first!
– Add 7 digit dialing to our Local Route but have it auto add the area code of your DID since that is your local
area code
– Setup 11 Digit route for Long Distance Calls
– Setup a 411 Route for Information
– Set up Extension CID to be 414-888-8888 and Extension Emergency CID to be your DID number
– Test Outbound Calls
• Review and discussion – what did we just do?
– Route and Trunk Call Flow
• Route Dial Patterns
• Trunk Number Manipulation Rules
– Outbound CallerID Choice
© 2015 Sangoma Technologies 101
Outbound Call Flow
Discussion
The order of the Routes on the right side is
important to determine the outcome of what route
will be used. When you make a outbound call it
starts with the top rule and works down until it
finds the first match. Once a match is found it does
not continue on looking for a “better” match.
This means if you have a route called Long
Distance that has 1NXXNXXXXXX and you also
have a route of Toll Free which has
18XXNXXXXXX you need to have the Toll Free
route above the Long Distance Route or the Long
Distance route will match when dialing a
1800XXXXXXX number and a call will never use
the Toll Free route.
© 2015 Sangoma Technologies 102
Outbound Call Flow
Routes, Trunks, Dial Patterns
Outbound Route
Patterns
• Pattern Chooses the
route
• Route Choice is “final”
– Subsequent routes that
also match the number
will never be tried
• Pattern can remove
leading digits or add
new ones
– Common example,
emulate old style PBX
– 9|1NXXNXXXXXX
© 2015 Sangoma Technologies 103
Tip: Always make your first route your Emergency Route
to handle E911 and other related
calls. This assures that numbers matching your
emergency patterns will ALWAYS go down
the Emergency Route.
Route 1 (Emergency)
Route 2
Strip
Disgits if
configured
Bad
Number
Context
Next
trunk
Next
trunk
Normal
Congestion
or Optional
Destination
Route 3
Match?
Busy,
Answer, No
Answer
Busy,
Answer, No
Answer
Congested, Channel
Unavailable
Congested, Channel
Unavailable
Match?
Match?
Outbound Call Flow
Lab: Emergency Route
CallerID & E911
• Setup Emergency CIDs based
on physical device location
• Use Emergency Routes
– Put Emergency Route first
– They will use Emergency CID
over all others
• Check with your telco if you
have unusual circumstances
– remote extensions
– emergency CID not part of
your DID blocks
– other
© 2015 Sangoma Technologies 104
Extension or Device
Route with Digitally Enabled Trunks
Always verify that
your trunks can
transmit your
required
CIDS if it is part of
an E911
configuration
Outbound Call Flow
Lab: Emergency Route
EMERGENCY
• Make sure it is FIRST
• Make sure “Route Type”
Emergency is checked
• Drag and Drop it above
the Local route created
earlier
• MAKE SURE FOR LAB
TO USE 933 not 911
© 2015 Sangoma Technologies 105
Outbound Call Flow
Lab: Local Route
© 2015 Sangoma Technologies 106
Local
Outbound Call Flow
Lab: Long Distance Route
© 2015 Sangoma Technologies 107
Long Distance
Outbound Call Flow
Lab: Information Route
© 2015 Sangoma Technologies 108
Information
Outbound Call Flow
Lab: Extra Credit!!
Extra Credit
• Create a Route for Toll Free calls.
• Modify your information Route so that when some one
dial 411 it actually dials a free 411 Information Server
like 1800-FREE411
• Modify Long Distance route so only your Desk Phone
can dial it but your softphone can not.
– Hint try using the CallerID field in the dial patterns section of
outbound routes.
© 2015 Sangoma Technologies 109
Outbound Call Flow
Routes, Trunks, Dial Patterns
Route Patterns + Trunk Rules – putting it together
• Example: Lazy Dial an International Number
• (07031) 278325
Exten 222 dials: 0 7031 278325 ext 222
Sent to Trunks: +49 7031 278325
Sent to this trunk: 011 7031 278325
© 2015 Sangoma Technologies 110
Outbound Call Flow
Routes, Trunks, Dial Patterns
Route Patterns + Trunk Rules
• Which do I use?
• Trunk Rules:
– Usually trunk specific
• Carrier requires specific format
• Carrier doesn’t accept 10 digit local calls
• Route Patterns:
– Applying a consistent dialplan
• Standardize area code for 7 digit dialing
• CallerID specific rules
• Route patterns generate much more
efficient dialplan than trunk rules
© 2015 Sangoma Technologies 111
CallerID Handling == confusing
• Follow-Me and RingGroups Can manipulate
CallerID
• Outbound Routes Can Add CallerID
• Trunks Have more options to control
CallerID
Outbound Call Flow
CallerID when you make a call
CallerID Hierarchy – Not an exact science!
• Emergency CallerID Overrides All
– If the call is going down an Emergency CID Route, including Trunks set to force their CallerID always.
• Extension CallerID
– If the route or trunk followed isn’t configured to explicitly override this
• Route CallerID
– If the trunk followed isn’t configured to explicitly override this
• Trunk CallerID
– If the trunk followed isn’t configured to explicitly override this
– If you have a carrier that rejects calls with CNAM, you can choose to remove all CNAMs on the trunk here, but still use the above
CallerIDs
• Always set a trunk CallerID on a digital trunk
– The above hierarchy means it will only be used if no other CallerID is provided, unless you force otherwise on the trunk
– Not sending a proper CallerID can result in rejected calls by many carriers, the trunk CallerID makes sure you send something.
© 2015 Sangoma Technologies 112
Outbound Call Flow
CallerID when you “forward” a call
Call Forwarding, Follow-Me, Ring Groups
(how their CallerID is handled)
• Follow-Me or Ring Groups
– Leave the original CallerID as it was (same as Call Forward)
– Set a “fixed” CallerID (for all calls, or just outside calls)
– Set it to the inbound DID that was dialed (from outside calls only)
• Route CallerID
– NEVER APPLIES for Follow Me, Call Forward or Ring Groups
• Trunk CallerID
– Will normally pass the original CallerID, or in the above cases, the modified CallerID if present.
– Exceptions:
• Block Foreign CallerID: will block all but the “fixed” CallerIDs you can set above. Will allow the “DID” replacements from above
if they were set to be forced.
• Force Trunk CallerID: will always use the Trunk’s CallerID, period.
• If no CallerID is present, the Trunk CallerID will be used.
© 2015 Sangoma Technologies 113
Outbound Call Flow
CallerID Examples
© 2015 Sangoma Technologies 114
Extension
4002
Extension CallerID settings
Outbound Route CallerID settings
Trunk CallerID settings
In this example the final Caller ID that is used is the
Extensions Caller ID 9208868132
since the outbound route was set to not override
Extension and the Trunk is set to
Allow ANY CID
Extension
4002
Extension CallerID settings
Outbound Route CallerID settings
Trunk CallerID settings
In this example the final Caller ID that is used is the
Extensions Caller ID 9208868132
since the outbound route was set to not override
Extension even though it had a Caller
ID set and the Trunk is set to Allow ANY CID
Outbound Call Flow
CallerID Examples
© 2015 Sangoma Technologies 115
Extension
4002
Extension CallerID settings
Outbound Route CallerID settings
Trunk CallerID settings
In this example the final Caller ID that is used is the Route
Caller ID 9208868130
since the outbound route was set to override Extension
and the Trunk is set to Allow
ANY CID
Extension
4002
Extension CallerID settings
Outbound Route CallerID settings
Trunk CallerID settings
In this example the Caller ID that is used is the Trunk
Caller ID 4256540156 even
though the outbound route was set to override Extension
but since the Trunk is that last
item to control Caller ID and it was set to Force Trunk it
wins out.
Outbound Call Flow
CallerID Examples & Tips
TIPS:
• Caller ID Name Displayed on Phones
• If using a phone that supports rpid such as the Digium and
Aastra phones you will notice when you make a external
call the Caller ID number that was used on the call you
placed will be displayed as the “CID Name” portion of the
CID field on the phone since the Name Field is not used for
outbound calling otherwise.
• This is handy way to know what Caller ID was used when
making any call.
• This can be turned off in advanced settings module.
© 2015 Sangoma Technologies 116
Extension
4002
Extension CallerID settings
Outbound Route CallerID settings
Trunk CallerID settings
In this example the final Caller ID that is used is the Trunk
Caller ID 4256540156
since the Extension and Outbound Route had no Caller
ID set and the Trunk is set to
4256540156.
Follow Me
Overview
Extension and Follow Me configurations:
• Extensions can optionally have a Follow Me
– Not all Extensions have to have a Follow Me
– Advanced settings allow for a Follow Me to be automatically created when an extension is created, or you can
manually create if not enabled.
• Follow Me enable/disable
– When a Follow Me is configured, it can be enabled or disabled
– Each Follow Me has a BLF generated to see the enabled/disabled state and toggle the state:
*21XXXX where XXXX is the extension number
• Follow Me REST App can also be used to enable/disable a Follow Me and control many other features, as
can UCP.
© 2015 Sangoma Technologies 117
Follow Me
Overview
Extension and Follow Me configurations:
• Call routing with Follow Me:
– When a Follow Me is enabled, all calls to that extension will go to the Follow
Me, as well as all call flows that send a call to that extension as a destination.
• Except as members of Ring Groups or Queues depending on your Ring Group and Queue
Settings
– When a Follow Me is disabled, the calls will only go to the extension.
– Follow Me can not be chosen as a module destination, EXCEPT:
• VmX Locater can choose its own ‘disabled’ Follow Me
• An Extension destination can choose its own ‘disabled’ Follow Me
© 2015 Sangoma Technologies 118
Follow Me
Overview
Extension Destinations:
• Provide more control on how to handle unanswered calls:
• Can control behavior for:
– UNAVAILABLE
– BUSY
– UNREACHABLE (CHANUNAVAIL, e.g. phone is offline)
• Options:
– Voicemail if available
– Any standard destination (including other extension’s voicemail)
– This extension’s Follow-Me (even if disabled)
© 2015 Sangoma Technologies 119
Follow Me
Lab: Softphone Follow-Me when offline
Softphone Follow-Me
• Configure for ringallv2
• Disable – ONLY use if Softphone is offline
• Add your cell phone and desk phone extensions
• Make sure to use confirmation
• Send calls to voicemail of your desk phone to have a unified voicemail
box.
© 2015 Sangoma Technologies 120
Follow Me
Lab: Softphone Follow-Me when offline
Go to extension page for your soft phone.
• Go to Optional Destinations
• Not Reachable:
– Force Follow Me
• Try the CID prefix
• Now disable the softphone and test a
call
© 2015 Sangoma Technologies 121
VmX Locater
Overview
VmX Locater (Voicemail Extension)
• Provides a ‘personal IVR’
• Uses the Voicemail Greetings
• Provides 3 configurable options
• Option 0:
Can use default ‘0 out’ operator configuration of FreePBX or override with a specific internal or external number.
• Option 1:
Can force a call to Follow-Me which is otherwise currently disabled, or can send a call to a specific internal or external number.
• Option 2:
Can send a call to an internal or external number.
• VmX can be engaged for an unanswered call, busy call, or both. If not enabled for one mode, then the call will go
straight to voicemail in that mode.
© 2015 Sangoma Technologies 122
VmX Locater
Overview
Change Hardphone Voicemail:
• Unavailable Greeting
– “I am not currently available, you can leave me a message or if it’s urgent you can press 1 and the system will try to
find me”
• Busy Greeting
– “Unfortunately I am not currently reachable, please leave me a message and I will get back to you as soon as I
receive it”
• Now when a caller calls:
– If you are on the phone and don’t answer the second call, they will get your busy message and the only option will be
to leave voicemail.
– If you are not on a call and the phone is not answered, they will get your unavailable greeting. They will be given the
option to leave a message, or to have the system find you, which will then engage your Follow-Me.
• You can also have option 2 with a phone or internal number as an option
• You can override option 0 from the normal system default
– If Follow-Me fails to find you, they will be directed to your Busy Voicemail message and since VmX was disabled for
Busy, they will not be able to continue engaging your voicemail and will only be left with the option of leaving
voicemail.
© 2015 Sangoma Technologies 123
VmX Locater
Lab: Hardphone VmX plus Follow Me
• Go to the Extension page in
FreePBX for your desk phone and
configure your VMX Locator
• Enable VmX Locater
• Set Option 1 to go to your Follow
Me
• Configure a BLF for your follow
me through EPM and reboot your
phone.
– BLF is: *21XXXX (XXXX == your
extension)
© 2015 Sangoma Technologies 124
VmX Locater
Lab: Hardphone VmX plus Follow Me
Hardphone Follow-Me
• Configure for ringallv2-prim
– Initial ring of about one ring
• Disable initially – but use with
VmX
• Add your softphone and cell
phone
• Make sure to use confirmation
• Choose Hardphone BUSY
voicemail
© 2015 Sangoma Technologies 125
Follow Me Advanced
Ring Strategy for Follow Me
© 2015 Sangoma Technologies 126
Is Primary
Ext
Occupied? Yes
Ring
Primary
Only for
Ring Time
Answer
NoAnswer
To Destination, if No Answer
Continue call flow as specified
in module config
Follow Me / Ring Groups
-prim mode Ring Strategy
Follow Me Advanced
Ring Strategy for Follow Me
© 2015 Sangoma Technologies 127127
Is Primary
Ext
Occupied?
Ring
Strategy
Include
Primary
Answer
Follow Me / Ring Groups
-prim mode Ring Strategy
Go Through Ring
STrategy
No
Someone
Answers
To Destination, if No Answer
Continue call flow as specified
in module config
Follow Me Advanced
Ring Strategy for Follow Me
© 2015 Sangoma Technologies 128128
Is Primary
Ext
Occupied? Yes
Ring
Primary
Only for
Ring Time
Answer
Follow Me / Ring Groups
-prim mode Ring Strategy
Go Through Ring
STrategy
No
Someone
Answers
To Destination, if No Answer
Continue call flow as specified
in module config
No
Answer
Intra Office Trunking
Overview
Overview
• Setup Interoffice Trunk
– We will do this in multiple Configurations
• When Static IP addresses are available at all branches
• When a branch has a Dynamic IP addresses
• Setup Interoffice Route
© 2015 Sangoma Technologies 129
Intra Office Trunking
Lab: Setup Static Trunk
© 2015 Sangoma Technologies 130
Intra Office Trunking
Lab: Setup Static Trunk & check IAX status
© 2015 Sangoma Technologies 131
Outgoing Settings:
Trunk Name: TO-TONY
PEER Details:
username=philippe
type=friend
trunk=yes
secret=notsecure
qualify=yes
insecure=port,invite
host=192.168.1.186
context=from-internal
auth=md5
requirecalltoken=no
Intra Office Trunking
Lab: Setup Test Route
• Setup Route to capture 4 digit
dialing
• Setup Route for remote Echo Test
– In this example, “943” is the remote
echo test
– We could have configured 9*43 but
some phones may not be setup to
transmit that sequence, so we show
an example of the use of prepending
and prefixes to transmit *43 to the
remote PBX when 943 is dialed.
• Now Try dialing the remote
extension
© 2015 Sangoma Technologies 132
Intra Office Trunking
Discussion-Pitfalls and Next Steps
• At this point you can
– Echo test to each system
– Dial each systems extension
• Pitfalls
– If you mis-dial, you have a potential infinite loop
– Ways to Address this:
• Max Channels on the trunks
• More restrictive pattern matching then XXXX
• More restrictive pattern matching with the CallerID field
• Next Step
– One or both PBX’s do not have a Static IP
– Use registration to the one that is Static
• If both are dynamic, choose the more “stable” of the two, make it the static side, and use a FQDN coupled
with a Dynamic DNS Update service
– Next Example, PHILIPPE becomes the Dynamic PBX
© 2015 Sangoma Technologies 133
Intra Office Trunking
LAB: Change to Dynamic Trunks
© 2015 Sangoma Technologies 134
Intra Office Trunking
LAB: Accesing DID’s
• We can now call internal
extensions, next step DIDs
• Modify your routing and
setup patterns to dial the
remote DID though the new
trunk
– Add the DID of your parner
to your Route Dial Patterns
– Change the order so the
Intra-Company Trunk is
used first
© 2015 Sangoma Technologies 135
Intra Office Trunking
LAB: Accesing DID’s
• Now try dialing
– ss-noservice …
– We have NOT exposed our EXTERNAL
facing numbers to this route since we are
configured with from-internal.
– We could change to from-pstn but then
our internal dialing ability will break. (Try
It)
• Configuring to access both
– Create from-branches in
/etc/asterisk/extensions_custom.conf from
the CLI using your SSH Client such as
putty
– Change the trunk to use the new context
© 2015 Sangoma Technologies 136
Intra Office Trunking
Understanding from-branches
Example Dialpla Context Organization
Dialplan is split up into two main sections
• from-pstn
“WAN” Side of a firewall
• from-internal
“LAN” Side of a firewall
• Inbound Routes
– Similar to “IP port mapping” in a firewall
– Exposes Internally protected dialplan to the
“WAN”
– ext-did
Where FreePBX puts the inbound routes
© 2015 Sangoma Technologies 137
“WAN ” / “LAN” Contexts in FreePBX
Calls from the “outside”
• [from-pstn]
• include => from-pstn-custom
• include => ext-did
• include => ext-did-catchall
Calls from the “inside” (simplified)
• [from-internal]
• include => from-internal-additional-custom
• include => app-xyz ;lots of them
• include => ext-group
• include => ext-findmefollow
• include => ext-local
• include => outbound-allroutes
Outbound Routes
• [outbound-allroutes]
• include => outbound-allroutes-custom
• include => outrt-001-Emergency
• include => outrt-002-dundi
• include => outrt-003-Local
• include => outrt-004-LongDistance
• include => outrt-005-International
Intra Office Trunking
Codecs
Codecs
• Linear Codecs
– ulaw (g.711u)
– alaw (g.711a)
– slin
• Compressed Free
– gsm
– g726
– adpcm
– lpc10
– speex
– ilbc
• Compress Licensed
– g729
– g723
MOS (Mean Opinion Score)
• Compressed codecs degrade quickly
with delay/packet loss
© 2015 Sangoma Technologies 138
Tip: Use “allow=none” followed
by “allow=codec1&codec2” to
restrict a trunk or phone to
specific codecs.
Class of Service
Overview
• Overview Discussion
• Lab’s
– Create a new No Emergency Outbound Route
– Setup Class of Service to restrict emergency route from
soft phones.
© 2015 Sangoma Technologies 139
Class of Service
Overview
• The Class of Service Administration module provides
granular control at the extension level to access and set
permissions of specific calling features of your PBX. These
features include Outbound Routes, Feature Codes, Ring
Groups, Queues, Conference Rooms, Voicemail Blast
Groups and Paging.
• The Class of Service module for FreePBX allows you to
restrict extensions from dialing most destinations of your
PBX.
© 2015 Sangoma Technologies 140
Class of Service
Overview
• Outbound Routes
• Feature Codes
• Ring Groups
• Queues
• Conferences
• Page Groups
• Voicemail Blast
© 2015 Sangoma Technologies 141
Class of Service
LAB: No E911 Route
Create Outbound Route to BLOCK callers from calling 933
• Route will go to an informative announcement
• Route should be positioned so human error will not easily allow normal phones to
use this route
• Steps:
– Create recording (try a built-in recording)
– Duplicate and rename Emergency Route
– Remove the trunk
– Reposition the route to be AFTER the real Emergency route
– Add a destination to play recording and pick your system recording
– Create Class of Service to restrict normal emergency route for Soft Phones
– Save and test
© 2015 Sangoma Technologies 142
Class of Service
LAB: No E911 Route
Create the recording:
• Admin -> System
Recordings
• Choose option for
Built-in Recordings
and pick an
example:
• Create your
recording and save
© 2015 Sangoma Technologies 143
Class of Service
LAB: No E911 Route
Create the announcement:
• Go to the Announcement
module and create a new
announcement
• Pick the system recording
you just created.
• Set the destination to be
Terminate Call> Hangup
© 2015 Sangoma Technologies 144
Class of Service
LAB: No E911 Route
Create No-E911 Route:
• Go to Emergency Route and Duplicate it
• Rename it to No-E911
• Remove the trunk
• Change the Normal Congestion destination
to Announcement and pick your
Announcement we just created
© 2015 Sangoma Technologies 145
Class of Service
LAB: No E911 Route
• Submit it, then submit your new route and move it after the Emergency
• route:
• Note: The placement of the second route was important. It will never be used if an
extension has access to the real Emergency Route. As a result, it is much more
likely to accidentally allow a soft phone to use the real emergency route then it is
to configure an internal extension that is blocked from it since you have to explicitly
disable the extension from the Emergency route when you create a new
extension. The default for new extensions is to have access to all routes.
© 2015 Sangoma Technologies 146
Class of Service
LAB: Class of Service
Apply restrictions for the soft phone now.
• Go to the Class of Service module under admin and create a new Class of Service called No 911
• Add the softphone as a member
• Click on Routes and move the normal Emergency Route to the Deny list. Press save when done
and apply config.
© 2015 Sangoma Technologies 147
Class of Service
LAB: Class of Service
Remember now that we have a single COS setup
for the Softphone anytime we add a new
destination like Ring Groups, Queues or anything
else the Softphone will not be able to dial those
new destinations until you modify COS to add the
items.
© 2015 Sangoma Technologies 148
Paging & Paging Pro
Overview
• Overview Paging
• Overview of Paging Pro
• Setup Page Group
• Setup our 911 route to page our desk phone.
© 2015 Sangoma Technologies 149
Paging & Paging Pro
Overview Paging
• Paging module allows you to setup a group of phones and when you dial
the group number all the phones will auto answer on speaker phone and
the pager can start talking.
• Only works on phones that support auto answer SIP signaling. Most soft
phones do not support this.
• Can pick if the phones being paged are on another call what to do;
– Skip- Don’t page the busy phone
– Force- Force the page as a new call to the phone
– Whisper- Barge in on the call and whisper to the phone the page. The active
caller will not hear the page as the whisper is to the phone only.
© 2015 Sangoma Technologies 150
Paging & Paging Pro
Overview Paging
• By default the extensions in the page group can hear the
page but can not talk back to the person making the page.
• If you enable the Duplex mode all phones that are paged will
also not be muted so everyone in the page group can talk at
the same time to everyone else like a conference call.
• If Duplex is disabled any user who is paged can press *1 to
unmute themselves and start talking into the page group.
Pressing *1 again will re-mute them.
© 2015 Sangoma Technologies 151
Paging & Paging Pro
Overview Paging Pro
• Outbound Notifications - Enables the ability to notify a group of phone(s) when a
user dials a specific number, ie: 911. Any page group can be linked in the
outbound routes module. When a call is placed a page will go out to the page
group notifying the page group of what number was dialed and what user dialed
the number. Any user of the page group can dial *1 to barge into the call and
speak.
• Prepend Recording - You can now have the page group weather normal or valet
style play a recorded message to all participants of the page group before the
pager can start speaking.
© 2015 Sangoma Technologies 152
Paging & Paging Pro
Overview Paging Pro
• Valet Style Paging (Airport Style) - You can now choose to have your
pages recorded and when you hang up have it send the audio file to all
the devices that are part of the page group. This setting is done on a per
page group. You can also tell the system to only use Valet if someone
dials the page group and it is in use already.
– Do Nothing- If page group is busy play busy tone.
– Valet- If page group is in use and you dial the page group it will have you record your
page and when the other page group is done it will play the page to all the phones.
– Force Valet- Make all pages be valet all the time.
© 2015 Sangoma Technologies 153
Paging & Paging Pro
Overview Paging Pro
• Scheduled Pages - Define
custom schedules to have the
system page a group of devices
and play a recording. This is a
great replacement for school
bell systems or lunch break
buzzers.
© 2015 Sangoma Technologies 154
Paging
LAB: Page Group
• Create a new Page group.
– Extension Number- Something in your range assigned to
you
– Name- Page All
– Drag your Desk Phone into the Selected box
– Try the different busy phone options.
© 2015 Sangoma Technologies 155
Paging Pro
LAB: Page Group
• PAGING PRO FEATURES
– Set busy option to be Force Valet and make a page.
– Record a system recording and have that played to the page group before
your page is played.
• Try this in both Force Valet and Do Nothing options
– Play with setting up a scheduled page.
• You can add more then 1 page schedule to a page group
© 2015 Sangoma Technologies 156
Paging Pro
LAB: Outbound Notifications
• Create A NEW Page Group for outbound notification
– Provide a extension number
– Name- 911 Page
– Add your Desk Phone to the group by dragging it to the Select side
– Submit your changes
© 2015 Sangoma Technologies 157
Paging Pro
LAB: Outbound Notifications
• Go to your emergency route and under notification pick your new page group you just
created.
• Submit your changes and apply config.
• Dial 911 from your softphone and your desk phone should auto answer and barge you
in on the call after playing info to you. You can press *1 to un-mute your deskphone
and start talking to both parties.
© 2015 Sangoma Technologies 158
Company Directory
Overview
• Overview
• Setup a Directory
• Add option to IVR for Directory
• Lock IVR down for Direct Dial to the Directory
Entries only
© 2015 Sangoma Technologies 159
Company Directory
Overview
• Company Directory is a list of extensions that a caller can enter the person’s first or last
name into the keypad of their phone to be connected to the extension.
• It is usually used as an IVR option.
• Starting in 2.8 you can now add custom entries into the Directory like remote extensions
from another system or even a Ring Group or Queue.
• You can also add entries for outside sales people with no extension that dials their cell
phone direct.
• We can use a directory as a “map” to determine what “direct dial” extensions can be called
from a given IVR and where they will be routed.
• You can create as many Directories as you want for specific departments or companies.
© 2015 Sangoma Technologies 160
Company Directory
LAB: Creating a Company Directory
• Lets go to the Directory Module in FreePBX and click
Add New Directory
© 2015 Sangoma Technologies 161
Company Directory
LAB: Creating a Company Directory
• General Settings
– Give the Directory a name like “All Users”
– Add a description to you remember what the directory is for
– Optionally set a CID Prepend that way when a call is sent to your extensions the Caller
ID will be prepended with DIR so you know the call came from the Directory
© 2015 Sangoma Technologies 162
Company Directory
LAB: Creating a Company Directory
• Directory Options
– We need to set an Invalid Destination. This is
where calls will be routed to if they hit the
“Invalid Retries” threshold. In our example this
is 2 times.
• This means the caller can try and find a
match 2 times and if no match is found
they are sent to the invalid destination as
defined below.
– You can also change the default
announcement that is played to the caller to
something like “thanks for calling FreePBX.
Please start entering your parties first or last
name on your keypad.”
– “Return to IVR”, if enabled, will ignore the
“Invalid Destination” configured if the call
came from an IVR and route the caller back to
the IVR they came from instead.
– “Announce Extension”, if enabled, will
announce the extension number of the party
just prior to sending the call to them.
© 2015 Sangoma Technologies 163
Company Directory
LAB: Creating a Company Directory
• We will now add actual entries to the Directory by pressing the green button at the bottom of
the page. Our options are:
– Picking an individual extension from the system to add to the directory
– Choosing all users to add to the Directory
– Adding a Custom Entry such as a Outside Phone Number, Ring Group or Queue or anything else
that has a number associated to it that the system can dial
© 2015 Sangoma Technologies 164
Company Directory
LAB: Creating a Company Directory
• Add the Following to your Directory
– All of your extensions
– Your partner’s extensions
– Your cell phone
© 2015 Sangoma Technologies 165
Company Directory
LAB: Creating a Company Directory
• Go to your IVR created earlier and
add an option for your newly created
Directory
• Lock the IVR Direct Dial by using this
Directory as a “map” to restrict only
those extensions as available for
Direct Dial.
– Now a caller can direct dial those
extensions but not others that may
be present on the system
© 2015 Sangoma Technologies 166
Company Directory
LAB: Creating a Company Directory
Extra Credit!!!
• Make your Custom entries play the person’s name instead of Text To Speech
or Spelling the Name since Custom Extensions don’t have a voicemail name
to play like local extensions
• Override your Xlite extension so it dials your main Desk Phone if a caller
chooses your Xlite. This is great in a CEO/Assistance relationship where the
CEO’s name is in the directory but when they enter the CEO it rings their
assistant’s phone instead of theirs.
– Notice that the number is no longer grey-ed out. This is because this extension is no
longer linked to the user.
– By default, a local user that has not had the entry modified in the module will be
updated with any changes made in the extension page automatically. Once it has been
modified though it will no longer track what is there.
© 2015 Sangoma Technologies 167
Time Conditions
Overview
• Overview
• Setup Time Group M-F 8-5 and Sat 9-4
• Setup Time Conditions
– Day-Ring Group
– Night-Night IVR
• Setup Feature Code for Override
• Dial Feature Code for overrides to test the override
• Point your DID to your new Time Condition
• Extra Credit
© 2015 Sangoma Technologies 168
Time Conditions
Call Routing with Time Conditions
Time Conditions, Time Groups and Overrides
• Time Conditions + Time Groups == Flexible & Simpler Call Flows
– Time Groups: define your open hours
– Time Condition: define your destinations for open and closed
• Each Time Condition will have a Override Feature Code
– BLF hint generated, shows current open/closed state
– Feature Code allows current state to be toggled
– Normal flow automatically resumes in the subsequent time transition.
• Example, close early by pressing the BLF:
• BLF lights up, flow changes to ‘closed’
• At ‘5:00PM’ back to normal mode (BLF still lit since it’s now the normal ‘closed’ time.
• Next morning, normal flow resumes at 8:00am, BLF turns off
• Sticky Mode accessible through GUI only and now the RestApps
– Force ‘open’ or ‘closed’ – no auto-reset
© 2015 Sangoma Technologies 169
Time Conditions
LAB: Call Routing with Time Conditions
• Create Time Group
– Monday-Friday 8:00AM – 5:00PM
– Saturday 9:00AM – 2:00PM
© 2015 Sangoma Technologies 170
Time Conditions
LAB: Call Routing with Time Conditions
• Create Time Condition choosing the above
Time Group
– Destination if time matches (‘open’) goes to
Ring Group
– All other times go to non-matching (‘closed’)
goes to IVR
© 2015 Sangoma Technologies 171
Time Conditions
LAB: Call Routing with Time Conditions
• Once you have created your Time
Condition you can now come back and
edit it.
– You will see the feature code override.
In our example it assigned *271. This
can also be programmed as a BLF
button on your phone.
• You can change the default assigned code if
desired from feature code admin module.
– You can optionally force the override
from the GUI dropdown.
• Now modify Inbound Route to point
from IVR to this Time Condition
© 2015 Sangoma Technologies 172
Time Conditions
LAB: Extra Credit!!!
Extra Credit
• Brain Teaser:
– Add Thanksgiving Day into your Closed Hours
• Adjust the frequency that the background polling occurs
to keep the time conditions up to date
– Try turning it off and changing your times to confirm that it still
self adjusts even when off.
© 2015 Sangoma Technologies 173
Asterisk BLF and Hints
Asterisk “state” Information
Understanding the relationships
• Understand some of the tools
– FreePBX GUI
– CLI commands
• Relationship with BLF keys
• Extension State (“hint”) Examples
– in FreePBX
– user created
© 2015 Sangoma Technologies 174
Asterisk BLF and Hints
Device states
• There are 3 “types” of devices/device states
– Channel states
• SIP/7134, SIP/PSTN, DAHDI/12, IAX2/tony, …
– Asterisk Generated “device states”
• Meetme:8000, park:72, ccss:SIP/7134, …
– FreePBX/custom user “device states”
• Created using DEVICE_STATE()
– Custom:DND7134
– Custom:DEVDND7134
– Custom:FOLLOWME7134
– Custom:DEVCF7134
• Device states are internal to Asterisk
– They are “Atomic”
– They can not be viewed directly
© 2015 Sangoma Technologies 175
Asterisk BLF and Hints
Extension states (hints)
“hints”
• An externally viewable “state”
• Made up of one or more device
states
• Must be defined in dialplan
• FreePBX examples:
The green numbers are the actual
hints you would subscribe your
phones BLF to monitor.
© 2015 Sangoma Technologies 176
Asterisk BLF and Hints
FreePBX generate hints
• FreePBX generates hints for the most commons feature codes
• The following example shows a limited number of these hints
© 2015 Sangoma Technologies 177
Asterisk BLF and Hints
LAB: Subscriptions (BLF)
• Subscriptions
– Once a hint is created you can view it from
the CLI
– Phones and other Endpoints can Subscribe
(with BLFs)
– CLI> core show hints
• You can see how many “watchers” have
subscribed
– CLI> sip show subscriptions
• You can see the specific subscriptions
© 2015 Sangoma Technologies 178
Queues in Depth and Oddities
Overview
• Discussion
– The $$$$$ question. What is the behavior of penalties and why do most
people not use them.
• Edit queue with both dynamic and static agents.
• Create BLF button to log in and out of queues.
• Create BLF button to pause/unpause agents.
• Play with Queue Agents rest apps
• Play with ring strategies and penalties.
• Create a Virtual Queue to change some settings.
© 2015 Sangoma Technologies 179
Queues in Depth and Oddities
Discussion
• Static agents
• Dynamic Agents
• Penalties
• Agent Restrictions
• External Agents (note no # at end)
• Login methods
• Virtual Queues
© 2015 Sangoma Technologies 180
Queues in Depth and Oddities
Agents
• Static Agents (queue members)
– A static agent is an agent that can not log out of a queue
• They can be paused/unpaused with feature codes, auto-pause or third party Apps such Rest Apps.
– The agent can be set with a penalty
• Dynamic Agents
– Dynamic agents can log in and out of queues at any time
• Can also be paused as with static agents above.
– Auto generated BLF enabled login/out codes
• See feature codes panel for base code or look at dialplan generation
CAUTION:
• It’s possible to have the same agent configured as static and logged in as dynamic with
some third party apps. This can cause problematic behavior and should be avoided.
© 2015 Sangoma Technologies 181
Queues in Depth and Oddities
Agent Penalties
Agent Penalties
• Allows you to group skill sets of agents. Penalties start at 0 and go up, typical
range may be 0-100. The default and base penalty value is 0.
• When the Queue calls agents it starts with agents of penalty 0 and progresses up
from their by default.
• If you set a Ring Strategy of Ring All and have agents 101,0 102,0 103,4 and
109,99.
– The desired outcome would be to try agents 101 and 102 first. If unanswered call agent
103 next and finally call agent 109 if 103 fails to answer.
– Is that correct though????
© 2015 Sangoma Technologies 182
Queues in Depth and Oddities
Penalties
Penalties
• That would seem logical but that is not what always happens. If it calls agents 101
and 102 and both agents are logged in and available it will keep calling them and
never progress.
– An agent is considered available if they are not on the phone and are not in a paused
state.
– In order to progress to the next penalty, all agents at that level have to be unavailable,
busy or paused so the queue doesn’t attempt to ring them, not answering does not
make them unavailable. (See auto-pause if you want the system to automatically pause
them if not answering)
– Remember to log them out or pause them if the above described behavior is intended.
© 2015 Sangoma Technologies 183
Queues in Depth and Oddities
Debugging
• Debugging
– From the Asterisk CLI do
• Queue show 4501 which is our queue number
– We can see a list of all agents logged in.
– We can see which agents are dynamic
– See the penalty of each agent
– See if they are on a call. In Use or Not in use
• Enable DND and check your status
– List of callers waiting in queue
– Basic stats of the queue at the top
© 2015 Sangoma Technologies 184
Queues in Depth and Oddities
Agent Restrictions
Agent Restrictions
• Called As Dialed
– This will call the extension of the agent and honor all settings of this extension including Follow Me and Call Forward
settings.
– This can be dangerous resulting in calls being answered by a follow-me’s voicemail box destination or other
unexpected outcomes.
– This mode will not check to make sure the agent logged in is a valid extension of the system.
• No Follow Me or Call Forwarding
– This will dial the extension but not honor any Call Forwarding settings or Follow Me.
– Note: this only works for Server side Call Forwarding so phones like Polycoms that do device side Call Forwarding will
have no effect on this.
• Extensions Only
– This is the same as No Follow Me or Call Forwarding but will do validation checks and not send a call to any agent
that is not a valid extension number.
© 2015 Sangoma Technologies 185
Queues in Depth and Oddities
Allowing Follow Me or Call Forward to agents
• Allowing Follow Me or Call Forward to agents.
• Enable the Call Confirm option
This will force the queue to play a message to the agent it is calling if the agent is dialed
through an external phone number. It will play the message you select and tell them to
press 1 to take the call. This avoids issues such as a cell phone voicemail answering the
queue call.
– In your Queue Enable the Call Confirm Option
– Pick a recording to play to the caller. Usually something that tells them this is a call from
the sales queue press 1 to answer it.
– Hint: if an agent is configured through their follow-me AND has call confirm enabled, the
Queue’s message will override the Follow-Me’s message having the benefit of the agent
knowing the call is a queue call vs. a personal call.
© 2015 Sangoma Technologies 186
Queues in Depth and Oddities
Login Options
• Feature Code *45
– If dialed with no queue number at the end it will toggle your login state to either logged in or
logged out for all queues that agent is configured in the GUI as a dynamic agent.
– If you dial this as *45 + queue number, e.g. *455001 this will toggle your login state for queue
5001 only.
– BLF hints per agent per queue and for all queues)
• *45*4002 (BLF lit if agent 4002 is logged in any queue they are a member)
• *454002*5001 (BLF lit if agent 4002 is logged in queue 5001)
• Logging in/out through the CLI, example extension 4002 queue 5001
– queue add member Local/4002@from-queue/n to 5001 penalty 0 as “John Doe”
state_interface hint:4002@ext-local
– queue remove member Local/4002@from-queue/n from 5001
© 2015 Sangoma Technologies 187
Queues in Depth and Oddities
Pause Options
• Queue Pause and Auto Pause
– Agents can be paused, remaining in their Queue(s) but unavailable to take calls
– Agents can be auto-paused if they don’t answer a Queue call from the specific Queue or all Queues they are logged into.
• Feature Code *46
– Un-pause you in all queues you are a listed as a member (static or dynamic) if you are paused in any queue, otherwise pause you in
all queues agent is listed as a member of.
– If you dial this as *46 + queue number, e.g. *465001 this will toggle your paused state for queue 5001 only.
– BLF hints (requires FreePBX Distro or patch) per agent per queue and for all queues)
• *46*4002 (BLF lit if agent 4002 is paused in any queue they are a member)
• *46*4002*5001 (BLF lit if agent 4002 is paused in queue 5001)
• Pausing through the CLI
– queue {pause|unpause} member Local/4002@from-queue/n
– queue {pause}unpause} member Local/4002@from-queue/n queue 5001
© 2015 Sangoma Technologies 188
Queues in Depth and Oddities
Login/Pause Hints
• BLF Hint Key
– You can do a core show hints to see a hint code for each user with each queue. You can than program a BLF key to each of
those codes to log in and out of individual queues or pause agents.
• Asterisk CLI
– core show hints
• Create a BLF for one of them like *454002*4501
– *45 is the feature code to toggle login
– 4002 is your extension/agent number
– 4501 is your queue number.
• Do the same for pausing (*46), slight format change:
– *46*4002*4501
© 2015 Sangoma Technologies 189
Queues in Depth and Oddities
VQ Plus
• Build Dynamic Queue Penalty Rules that change the longer a caller waits in a queue.
– Example: Set a queue to only try agents with a penalty of 0-3 for the first 30 seconds, then only
try agents with a penalty of 2-5 for the next minute
• Virtual Queues to manage queue behavior and expand and customize caller destinations
for callers routed through the virtual queues
• Expanded Queue Destination Controls. The standard queue only allows you to send
unanswered calls to a single destination regardless of why the call was not answered. VQ
Plus gives you the ability to control destinations for additional reasons.
– Queue Fail Over on FULL Destination
– Queue Fail Over on JOINEMPTY Destination
– Queue Fail Over on LEAVEEMPTY Destination
– Queue Fail Over on JOINUNAVAIL Destination
– Queue Fail Over on LEAVEUNAVAIL Destination
© 2015 Sangoma Technologies 190
Queues in Depth and Oddities
VQ Plus
• Post Hangup Destinations
VQ Plus adds the ability to route both the agent and callers
to any destination on hangup of a queue call.
– Example: Route the inbound callers to a survey system
automatically when the agent hangs up the call, or send
the agents to a similar destination when the caller hangs
up the call.
© 2015 Sangoma Technologies 191
Queues in Depth and Oddities
Queue Priority
• By default anytime a caller enters a queue the caller has a priority
of 0. With VQ Plus you can change this caller priority before they
enter the queue to a different number much like agent penalties
except a caller with a higher number will get routed to a agent
before a caller with a lower priority number in the same queue.
– Example: we may setup a virtual queue for VIP customers that set
the Queue Priority for any caller to be 100. It then sends the call to
our normal support queue but with the priority of 100 so they will
automatically be moved above any callers with a lower priority and
their call will be answered first.
© 2015 Sangoma Technologies 192
Queues in Depth and Oddities
VQ Plus
• Create Virtual Queues. A virtual queue allows you to change the settings of a queue
before you route the call to your queue.
– Announcements- Played to the Agent informing them the caller is a VIP customer.
• Record the announcement in system recordings.
– Wait Time- Increase their wait time to be longer.
– Minimum and Maximum Agent Penalties- We will set the minimum agent penalty to be 1
and the max to be 100. This way the caller will not be routed to any of our tier 0 agents
since they are VIP we want them going to better qualified agents.
– Queue Priority- Set them to be 100 so the caller will be moved to the top of the queue.
– CID Prefixes- Set the Caller ID prefix to be VIP so the agents will see VIP on their Caller ID
when a call from this virtual queue is routed to them.
– Destination- Pick our normal queue as the queue to send the caller to. They will be sent to
the queue will all the above information set.
© 2015 Sangoma Technologies 193
Queues in Depth and Oddities
LAB!!
Lets now go setup some of the things we just talked about.
• Edit a Queue with both dynamic and static agents
– Soft Phone should be static agent with a penalty of 1
– Desk phone should be dynamic agent with a penalty of 0
– Call your DID and from IVR pick your queue option.
– Watch it call your Desk phone over and over and never call your Soft Phone.
© 2015 Sangoma Technologies 194
Queues in Depth and Oddities
LAB!!
• Create BLF button to log in and out of the Queue
– *45*EXT as BLF. Replace EXT withy your extension numbers.
• Create BLF button to pause/unpause a member
– *46*EXT as BLF. Replace EXT withy your extension numbers.
• Go to EPM and add the 2 BLFs above and reboot your phone
• Pause your Desk Phone by pressing the pause button.
– Inside asterisk CLI do the following command but replace 4501 with your queue
number. Verify it shows your extension as paused.
• Queue show 4501
• Call back in your DID and now you will see your soft phone will ring because we
made the Desk Phone be Not Available.
© 2015 Sangoma Technologies 195
Queues in Depth and Oddities
LAB!!
• Setup a virtual queue. Go to Applications>Virtual
Queues
– Name- VIP Customers
– CID Name Prefix- VIP-
– Queue Priority- This will put the caller into the queue at
a higher position. We will set position 100 so they will
be ahead of all other callers that have a lower priority.
Standard calls come in with a priority of 0. Not to be
confused with Agent Penalties.
• Change the min and max agent penalty to be 1 and
1. That way our
• VIP customer does not have to deal with tier 0
support.
© 2015 Sangoma Technologies 196
Queues in Depth and Oddities
LAB!!
• Route the virtual queue to your main queue.
• Point a option in your IVR to go to the new virtual queue. Option 20. Then you can
give out the secret code of 20 to your VIP customers that they can dial when they
get your IVR.
© 2015 Sangoma Technologies 197
Call Park
Call Parking
Call Parking
• Pick the Parking Lot Extension that you
send calls to. Default 70
• Pick where the actual holding Lots start
at. Default is 71
• Pick the number of slots to enable. In our
example we have 8 set so they would be
71 thru 79
• Parking Timeout- This is the number of
seconds the caller will be parked before
going to the timeout destination defined
later.
© 2015 Sangoma Technologies 198
Call Park
Call Parking
Call Parking
• CallerID Prepend- If a Parked Call is not picked up it will go to the destination defined below. When this
happens you can prepend the Caller ID with anything you want.
• Auto CallerID Prepend- Here you can pick some options to have auto prepended such as the slot
number the caller was parked at.
© 2015 Sangoma Technologies 199
Call Park
Call Parking
Call Parking
• Come Back to Origin- If a parked call is not retrieved by someone and the timeout is met as defined
above do we want to send the Caller back to the extension that parked the caller.
Yes or No.
• Destination- If Come Back to Origin is set to No above then this is the destination we will send timed out
callers. Or if set to yes above but we are not able to send the caller back to the extension such as the
extension is now offline this is the destination that will be used.
© 2015 Sangoma Technologies 200
Call Park
Call Parking
Call Parking Buttons
• Setup a BLF keys to view parked calls and retrieve them. For our example we will
setup 2.
– 71
– 72
• Go into EPM and modify your template and reboot your phone
© 2015 Sangoma Technologies 201
Call Park
Call Parking
Call Parking
• In our example we will park callers by transferring them to “70”
• The caller will be put on hold and the slot number that the caller was transferred to
will be played back to you.
• In our example since no other caller is currently parked we would expect to hear
back slot 71 since that is our first starting slot number.
– We can now dial 71 to pickup the parked call.
– You can also setup a BLF to Monitor each slot number such as 71, 72 and anytime a
caller is in the slot the BLF light will show in use and you can press the BLF button to
retrieve the parked caller.
© 2015 Sangoma Technologies 202
Call Park
LAB
Lab
• Point your inbound DID to your softphone
• Call your DID from your cell phone and answer the call
• Park the call from your softphone (##70)
• Your slot 71 BLF should turn red
• Pickup the call by pressing the BLF
– Note the Caller ID is the cell phone’s number, this is because the PAI configuration and not all
phones will do this
• You can also use the Parking REST App to pickup calls and view all the currently parked
calls with a single button. You still need a separate parking button to park a call even with the
REST App.
© 2015 Sangoma Technologies 203
Call Pickup
Direct Call Pickup
Directed Call Pickup
• Allows anyone to answer a specific ringing phone
• Can be integrated with “smart” BLF phone keys
– When a phone is ringing and you have a BLF setup to it the BLF should blink. Pressing
the BLF on your phone should execute a Directed Call Pickup and let you answer that
call.
• Remote directed call pickup
– Because directed call pickup is an application in Asterisk dialplan, it is possible to
configure directed call pickup to a remote PBX through your intra-company route
– Extra Credit: Setup Remote Directed Call Pickup
© 2015 Sangoma Technologies 204
Call Pickup
Experiment features
Directed Call Pickup
• Default is **XXXX (XXXX == extension)
• BLF buttons are often programmed to automatically implement a call pickup when pressed while the BLF is in the ringing
state (fast blinking).
– Note the “Reverse CID” behavior as with Parking
– Note the difference between the Softphone which does not implement the Reverse CID and the Hardphone which does.
• Try to configure your Intra-Company Trunk to pickup a ringing extension on the other PBX using ‘88’ as a prefix
© 2015 Sangoma Technologies 205
Intercom
Discussion
Intercom
• Paging allows you to broadcast announcements to one or more devices simultaneously and
we went through the paging module earlier. Intercom allows you to page a specific users
• Intercom-ing is always to a User (not Device)
• Always duplex
• *80 is default feature code:
– *80XXXX
• Intercom must be enabled on the incoming extension and the phone must be capable of
auto-answering a call just like with paging. By default all extension are enabled for intercom.
– *54 – enable intercom
– *55 – disable intercom
© 2015 Sangoma Technologies 206
Intercom
Lab: Auto-Answer local and Intra-branch
Intercom All Internal Extensions
• Can be set per phone or overall
• Requires Paging & Intercom
module installed and operational
• Set in Advanced Settings
– Now you can disable in the
extension and it will still auto-
answer
– The advanced setting overrides
the per extension settings
© 2015 Sangoma Technologies 207
Intercom
Lab: Auto-Answer local and Intra-branch
Black and White listing Extensions
• This applies to intercom also which is what the auto-answer uses
• *557135 Disable extension 7135 from intercom to my extension.
– Make it so your softphone is not allowed to intercom your desk phone.
• Now trying calling, it will ring instead of auto-answer
– Now cancel it with *557135 again, and it should auto-answer again. Replace 7135 with your
softphone extension.
• Disable intercom for everyone on this phone *55, and try calling again, it rings instead of
auto-answer
• Now whitelist just your softphone so it can intercom your desk phone but other phones would
still not be able to *547135 and try calling. Replace 7135 with your softphone extension
number.
• Now cancel the whitelist *547135 and re-enable intercom to your desk phone for all device
by dialing *54
© 2015 Sangoma Technologies 208
Intercom
Lab: Auto-Answer local and Intra-branch
Modify our intra-company trunk
• Dial prefix *80 for explicit intercom to remote extension. Now you can dial *80 and extension number on remote systems to
intercom
• Normal dial to always intercom remote extension
– Add a *80 prepend to the 4 digit intra-company route
– Intercoms the remote extension, their auto answer settings will not control the behavior
© 2015 Sangoma Technologies 209
NAT
NAT and how to “trick” Asterisk
Enabling Remote NATed Phones
• How to overcome NAT with remote extensions
Step 1 - Behave as if no Firewall/NAT
– externip/externhost + localnet
– port forward required ports
Step 2 - Don’t believe phone’s RTP/SIP ports
– nat=yes
Step 3 - Keep SIP Port Open at Phone
– Enable Keep-Alive
or
– Set Registration timeout 30-60 seconds
© 2015 Sangoma Technologies 210
NAT
NAT and how to “trick” Asterisk
Asterisk SIP Settings
• Usually Static IP or Dynamic IP
Router
• SIP and RTP port forwarding
© 2015 Sangoma Technologies 211
NAT
NAT and how to “trick” Asterisk
Asterisk Extension/Device Settings
• nat: Yes
• Qualify=yes realities:
– Although this can help, if the far
side firewall pinhole closes up,
this will no longer be affective.
The Keep-Alive below is the
RIGHT solution
Phone
• Keep-Alive
• Short registration intervals if no
Keep-Alive available
© 2015 Sangoma Technologies 212
Not required if keep-alive option
is available
DISA
DISA Overview
• Get you PBX dialtone from outside world.
– Call into DISA and get dialtone just like taking your desk phone receiver off the
hook.
– Dial Internal extensions or external numbers
– Outside calls show as coming from your PBX.
– Always set a password to protect your DISA.
– When would we use DISA
• Handy when you want to show a call from your PBX while traveling.
• Make normally expensive calls from your cell out your PBX so the PBX is making
the call not your Cell Phone such as calling international.
© 2015 Sangoma Technologies 213
DISA
DISA Overview
DISA
© 2015 Sangoma Technologies 214
DISA
Lab: DISA Setup
• Create a DISA with a Password.
• Go add a new hidden option in your IVR for DISA.
• Call into DISA from your Cell through your new IVR
option and make calls to other extensions and
outside numbers.
• Press ** to hangup a call and be presented with new
dialtone to start a new call.
© 2015 Sangoma Technologies 215
Call Recording
Overview
• Complete re-write in FreePBX 12
• Allows much more granular control over Call Recordings
• Conflicts- Who Wins
• Call Recordings can be set at the following levels
– Inbound Route
– Outbound Route (in 2.11+)
– Extension
– Ring Group
– Conference Room
– Queue
– With the Call Recording Module anywhere in the Call Flow
– On demand with feature code in most scenarios
• How to view and listen to Call Recordings
© 2015 Sangoma Technologies 216
Call Recording
Inbound Call Recording Hierarchy
Inbound Routes
• Inbound Routes have the highest level of priority for inbound calls. Options are:
– Force-
– Yes-
– Don’t Care-
– No-
– Never-
• 'Never' and 'Force' are overrides, and offer a higher priority than 'Yes' or 'No. Yes and No have an EQUAL
priority, and will not change what is already set, however 'Never' and 'Force' will always override what is
currently happening.
• If we set a yes here and later on in our call flow such as in a queue or extension we set a no the yes will
win since it was set first.
• If we set a Force here and later in the call flow we set No the Force would win but if we set a Never later in
the call flow the Never would win.
© 2015 Sangoma Technologies 217
Call Recording
Inbound Call Recording Hierarchy
Call Recording Call Flow instance
The Call recording module allows you insert call recording control at arbitrary points in the call flow then
continue on to any module. It functions exactly like the choice with Inbound Routes at the point it is
called but it comes after. A Yes or No previously set on the call would beat a Yes or No here but a Force
or Never here would override any Yes, No, Force or Never setting from any previous module.
© 2015 Sangoma Technologies 218
Call Recording
Ring Groups, Queues and Conference Rooms
Ring Group, Queues and Conference Rooms
These modules also allow you to directly inside the module set your Call Recording options
but they come after any Inbound Route so just like the Call Recording Module A Yes or No
previously set on the call would beat a Yes or No here but a Force or Never here would
override any Yes, No, Force or Never setting from any previous module.
© 2015 Sangoma Technologies 219
Call Recording
Extension Rules
Extensions
Call recording rules can be applied to record calls between extensions and to and from extensions
through trunks. Extensions are the last destination on a inbound call so they are the final stop.
– Inbound External- A call that came from outside the PBX
– Outbound External- A call made from an extension out through an Outbound Route
– Inbound Internal- An inbound call made directly from another extension dialing direct, not through a
Ring Group, Queue, etc.
– Outbound Internal- An outbound call made directly to another extension dialing direct, not through a
Ring Group, Queue, etc.
• A Yes or No previously set on the call would beat a Yes or No here but a Force or Never
here would override any Yes, No, Force or Never setting from any previous module.
© 2015 Sangoma Technologies 220
Call Recording
Extension Rules
• On Demand- Whether to allow this extension to use the feature code to
start a recording on demand.
– Enable
– Disable
– Override
• When your call is in the status of 'Yes', 'No' or 'Don't Care', if the extension
is enabled for On Demand, they can start and stop the recording by
dialing the feature code.
• If the call is in 'Never' or 'Force', users can not stop or start recordings,
unless they have the 'Override' permission.
© 2015 Sangoma Technologies 221
Call Recording
Extension Rules
Extension Recording Conflicts
When there is a conflict between two extensions calling each other as inbound calls, you must choose
‘who’ wins the decision whether or not to record the call. This is handled with the Record Priority Policy:
• Record Priority Policy- The extension with the highest priority dictates the recording
decision in a conflict.
• Handling Ties- If the priorities are equal, then we default to the Call Recording Policy as
specified in Advanced settings, allowing either the caller or callee to always win ties.
© 2015 Sangoma Technologies 222
Call Recording
Outbound Call Recording Hierarchy
• Outbound routes can force recordings in the same way previously
discussed for inbound routes.
• The extension is the only other place a outbound call can be told to start.
If the Extension has set Yes or No it will beat the outbound route of Yes or
No.
• If the Extension has Force or Never set the Outbound Route setting a
Force or Never will beat the extension since it comes after the Extension
in the call flow.
© 2015 Sangoma Technologies 223
Call Recording
Outbound Call Recording Hierarchy
• All Call Recordings are saved in /var/spool/asterisk/monitor directory on your system. Although this can be
changed in advanced settings, not all FreePBX recording features will continue to operate correctly.
• The recordings are then stored each day in a different folder organized as: year/month/day.
• There is a ‘loose’ naming convention for recorded calls that is based on how the call was initiated and
contains initial information about the callers involved. The actual call file name is stored in the
• CDR record.
• An example queue call is:
q-4600-6787890629-20130118-163430-1358534040.27732.wav
This indicates Queue 4600 recorded the call from phone number
678-789-0629 on January 18 2013 at 16:34:30. The unique asterisk ID is
1358534040.27732
© 2015 Sangoma Technologies 224
Call Recording
How to View and Listen to Call Recordings
• You can view all call recordings in the CDR Reports module. Any call that was recorded will have a
download link in the column marked Recording.
• If the call was recorded by an extension direct they can view the Call recordings in the UCP under
Call History
© 2015 Sangoma Technologies 225
Call Recording
How to View and Listen to Call Recordings
• There is a commercial module called Call Recording Reports, that lets an administrator view and
listen to all call recordings and setup auto archiving. This allows you to manage and archive older
recordings
© 2015 Sangoma Technologies 226
Call Recording
LAB: Call Recordings
Create the following Call Recording rules
1. Record all queue calls
2. Record all Outbound Calls from your primary Extension only
3. Record all Emergency Calls
4. Go view your Call Recordings from the Call Recording
Report module and setup Archive of Call Recordings
© 2015 Sangoma Technologies 227
Call Recording
LAB: 1- Record all Queue Calls
Record all Queue Calls
• We must change this in the Queue directly.
– As previously described, this can’t be done prior to the call flow, it must be
done in the Queue module itself.
• Set the Record Call option to “wav”
© 2015 Sangoma Technologies 228
Call Recording
LAB: 2- Outbound Calls from Primary Extension
Record all Outbound Calls from your Primary Extension only
• Use the Extension Settings to control this since it is a per-
extension configuration.
• ! Now anytime we make a external outbound call from that
extension the call will be recorded.
© 2015 Sangoma Technologies 229
Call Recording
LAB: 3- record all Emegency Calls
Record all Emergency Calls
• This can be achieved by recording all calls on a given outbound route, in this case
the Emergency Route.
• This is another example of why you may want to have multiple routes that use
identical trunks to another route. (e.g. record all International calls…)
• Set the record option on the Emergency Route to be Record Immediately or
Record on Answer
© 2015 Sangoma Technologies 230
Call Recording
LAB: 4- View Call recording Reports
• View Call Recording Reports under the Reports Section
• From here you can see the Source, Date, Time and Duration of Recorded
Call. You can also listen to and delete any call recording.
© 2015 Sangoma Technologies 231
Call Recording
LAB: 4- Archive Call Recordings
• Set Archive of Call recordings inside the Call Recordings Report module.
• Set how long to hold Call Recordings in Months. For example if we set this to 3 months on the first of each
month we will archive up all call recordings older then 3 months and send a email with a link to download
the archive. All archives are saved for 1 month before the archived voicemails are deleted if you do not
move them first.
© 2015 Sangoma Technologies 232
Conference Rooms
Overview
Conferences:
• Asterisk Applications (controlled in Advanced Settings):
– app_meetme
– app_confbridge (This is the preferred application)
• Can be optionally controlled by a PIN code
– Conference Number: number to dial the conference bridge
– Conference Name: friendly name
– User PIN: Identifies a conference user
– Admin PIN: Identifies the caller as an admin (Leader) and
provides them will additional admin features when they dial “*”
© 2015 Sangoma Technologies 233
Conference Rooms
Overview
Options controlling overall configurations
• Talker Optimization:
Asterisk detects silent users and ‘mutes’ them, reducing mixing load and avoiding background noise, useful on large conferences
• Talker Detection:
Tells Asterisk to include manager events identifying the current talker. Needed by external applications that require talker
identification or to see the talker in the CLI calls.
• Music on Hold (and Class):
Whether music should be played if waiting to join a conference and which music class to play.
• Allow Menu:
When yes, a menu of options will be presented to the user when they press “*” while in a conference.
• Record Conference:
Whether or not the conference should be reported.
• Maximum Participants:
Limit the number of conference users allowed into a conference
© 2015 Sangoma Technologies 234
Conference Rooms
Overview
Options effecting joining and leaving a conference
• Join Message:
Play a message to user before entering conference
• Leader Wait:
If yes, users who enter before the Leader (Admin User) will not be able to talk to each other, usually hearing music, until
the Leader Joins.
• Quite Mode:
If yes, sounds will not be played when users enter and leave the conference
• User Count:
Announces the number of conference participants upon joining
• User join/leave:
Announces to everyone in the conference each time a user joins or leaves the conference
• Mute on Join:
Yes will mute each user when they join the conference.
© 2015 Sangoma Technologies 235
Conference Rooms
LAB
Create a conference room:
• Require an Admin to join before others can hear
• Enable Music while waiting to enter
• Limit the attendees to 3 users
• Add the ability to dial into the conference from the IVR by direct dialing an access code, but
do this with the Directory Module
• Point your Inbound route to the IVR
• Now you should be able to call into the conference room, test to make sure that the user
who calls in gets music until the Admin calls in, and test what happens when a 4th user tries
to call into the conference.
© 2015 Sangoma Technologies 236
Parking Pro
Overview
• Add Multiple Parking Lots to FreePBX
Park Pro adds the ability to add multiple parking lots within FreePBX, useful for companies
running multiple locations off the same server, or companies that need multiple parking lots
or have many internal departments.
• Park & Announce Feature
Automatically Announces Parked Calls to a Page Group. The Park and Announce feature
of Parking Pro allows you to set up and define & automatically announce when a call is
parked by paging a group of phones. Parked calls can be picked up by anyone on a
system. As an option this module allows the caller to leave a brief message to be played
during the page announcement. This can be useful for announcing the callers name or
other information requested from your caller. Parked Calls will then be announced to the a
paging group allowing anyone to pick-up the call at the announced extension.
© 2015 Sangoma Technologies 237
Parking Pro
Discussion Park and Announce
• Configure new parking lot
• Create page group
• Park and Announce module configuration
• Setup destination on IVR to go to Park and
Announce
© 2015 Sangoma Technologies 238
Parking Pro
LAB: Configure New Parking Lot
© 2015 Sangoma Technologies 239
Parking Pro
LAB: Configure New Parking Lot
© 2015 Sangoma Technologies 240
Parking Pro
LAB: Configure New Page Group
© 2015 Sangoma Technologies 241
Parking Pro
LAB: Configure Park and Announce
© 2015 Sangoma Technologies 242
Parking Pro
LAB: Configure Park and Announce
© 2015 Sangoma Technologies 243
Caller ID Management
Overview
• The CallerID Management module allows
you to change the outbound Caller ID on an
extension basis by dialing a feature code
that is setup to change the Caller ID inside
the Caller ID Management module.
© 2015 Sangoma Technologies 244
Caller ID Management
Features
• Default is the Caller ID will only be used for that call.
• If Persistence is checked it will change the extensions caller ID permanently until a new feature code is used or you change
it in the extension GUI for that user.
• Dynamic Caller ID allows you to use a * as the Caller ID Num and now when you use the feature code you would dial
featurecode CallerID #NumbertoDial so it might look like *2399208869999#9209829999.
– Feature Code of *239
– Caller ID to be used id 9208869999
– Number to call is 9209829999
© 2015 Sangoma Technologies 245
Caller ID Management
LAB
• Configure caller ID management entry and place outbound call to your
mobile device ( persistent unchecked )
• Make another call and the caller ID will return to your default Extension
Caller ID
• Change caller ID management by checking persistent – make outbound
call to mobile and it should be your new Caller ID
– Now log into the extension page in FreePBX for that device and the extension
Caller ID field should be updated to show the new Caller ID
• Setup a dynamic Caller ID and set your cell as the Caller ID.
© 2015 Sangoma Technologies 246
Fax Pro
Overview
• Faxing in FreePBX allows users to
have inbound faxes sent to email. All
fax settings for a user are in the
extension module.
– This will be moving in FreePBX 13 to
be in User Management
• Allow users to send Faxes from UCP
• Allow users to view their received
and sent faxes in UCP
• Global Coversheet Template with
End User Overrides
© 2015 Sangoma Technologies 247
Fax Pro
Lab Global Settings
• Set some global settings
– Fax Header- The name of the Fax
machine that is printed at the top of
all outgoing faxes
– Local Station Identifier- The Fax
Number that is printed at the top of all
outgoing faxes
– Outgoing Email- What emails
address inbound faxes should appear
to be sending from.
• Fax Transport Options
– Error Correction Mode- Set to No
when using VoIP
– Max Transfer Rate- Set to 9600 when
using VoIP
– Min Transfer Rate- Set to 2400
© 2015 Sangoma Technologies 248
Fax Pro
Lab Global Settings
• Define Fax Coversheet info
such as
– Logo, Name, Address, Phone
Number and Footer
• Set Prefix of *323 to tell
SIPStation you are sending a
T38 Fax
© 2015 Sangoma Technologies 249
Fax Pro
Lab Global Settings
• Set Retry attempts for failed Faxes
• Set email notifications on when to receive emails of fax attempts.
© 2015 Sangoma Technologies 250
Fax Pro
Lab Outbound T38 Route
• Go create a new outbound for T38 Faxing. Call the trunk Fax.
– Add 2 dial rules of below to allow the *323 fax prefix plus any 10 digit or 11 digit number.
• *3231NXXNXXXXXX
• *323NXXNXXXXXX
© 2015 Sangoma Technologies 251
Fax Pro
Lab Enable Fax for Extension
• Go edit your extension in
FreePBX for your Lab phone
– Enable Fax for this user
– Set email where inbound faxes
should point to
– Store the Fax Locally in UCP for
viewing also
– Optionally set override for
Header and Station ID. If not set
Globals will be used.
– Set Coversheet Name, Number
and Email address
© 2015 Sangoma Technologies 252
Fax Pro
Lab Inbound Route Fax Detect
• Go edit your Inbound
Route.
– Detect Faxes set to Yes
– Set Fax Detect Type to
SIP
– Set Detection Time
somewhere between 5-6
seconds. This is the time
to try and detect a Fax
tone on new incoming call.
If Fax is detected Send
Fax to destination below.
– Pick Fax Destination and
pick your Lab Extension
© 2015 Sangoma Technologies 253
Fax Pro
Make sure system is setup for T38
• Go edit Asterisk SIP Settings module
• Click on Chan SIP Option on the right menu
• Make sure T38 Pass-Through is set to Yes
© 2015 Sangoma Technologies 254
Fax Pro
Recap
• Later on Today we will setup and use UCP to actually view,
send and manage our Fax for our user. The purpose of this
lab was to get everything for Faxing setup.
• Currently if you send a inbound fax to your DID the system
should detect the Fax and convert it to PDF and email it to
you and also store a local copy in the UCP.
© 2015 Sangoma Technologies 255
Changing Your Menu Layout
freepbx_menu.conf
• Allows you to change the layout of the top menu bar.
• Allows for you to define custom layout the way you want display pages to
be categorized and displayed.
• In this file you can do the following things.
– Change the name of how the module pages are displayed.
– Change which category the page is displayed under
– Remove the page from being displayed in the menu
– Add a Favorite Category that is always displayed on the top left and pick
which pages are in this category
– Create a new Category and put the pages you want in this category
© 2015 Sangoma Technologies 256
Changing Your Menu Layout
freepbx_menu.conf
• There is an example config file for this located at /etc/asterisk/ freepbx_menu.conf.template
to show you some examples of what can be done.
• Make sure that you enabled the Advanced Settings module option to enable supporting
freepbx_menu.conf or anything you do in this file will be ignored by FreePBX
• Create a file called freepbx_menu.conf in /etc/asterisk
© 2015 Sangoma Technologies 257
Changing Your Menu Layout
freepbx_menu.conf
• The modules are located under
/var/www/html/admin/modules
• Most modules use the same page name as the
module’s directory name, but some have
multiple pages. You can see the page name of
a display page in the URL, for example
Outbound Routes:
• http://10.0.1.100/admin/config.php?display=ro
uting&extdisplay=3
• The page name will always be
display=pagename in the URL
© 2015 Sangoma Technologies 258
Changing Your Menu Layout
freepbx_menu.conf
• You can find all the pages displayed by a
module, if any, in their module.xml file.
• Example core:
• Extensions: extensions
• Users: users
• Devices: devices
• Inbound Routes: did
• Outbound Routes: routing
• Trunks: trunks
• Advanced Settings: advancedsettings
• Administrators: ampusers
• FreePBX Support: wiki
© 2015 Sangoma Technologies 259
Changing Your Menu Layout
LAB: freepbx_menu.conf layout change
• Change Asterisk SIP Settings to be SIP Settings.
– The display name is sipsettings so we will define that and then define what name we wan to show
up.
• Change which category the Languages page is displayed in from Applications to
the Settings category
© 2015 Sangoma Technologies 260
Changing Your Menu Layout
LAB: freepbx_menu.conf layout change
• Remove DAHDIconfig page from being displayed since you have only SIP trunks
• Add a Favorite Category that is always displayed on the top left menu and move
Extensions and Follow Me there
© 2015 Sangoma Technologies 261
Changing Your Menu Layout
LAB: freepbx_menu.conf layout change
• Create a Media Category and move Announcements, Music on Hold, Recordings to this
category
• Put dashboard into a new category called Status with nothing else in that category. When
there is only a single display page in a category, the top level menu item becomes it’s own
button.
© 2015 Sangoma Technologies 262
Changing Your Menu Layout
LAB: freepbx_menu.conf layout change
• Once done the configuration file
should look similar to this and your
header bar in FreePBX should look
completely different once you
refresh your browser.
© 2015 Sangoma Technologies 263
Contact Manager
Overview
• Allows you to create groups of contacts and share them with users.
• Users can then view the contacts from the Contacts Phone App and User Control Panel
• Create contacts of internal users or external contacts such as customers or vendors.
– Internal Group- Groups of internal users. Manually add any users into this group. All contact
information for each user added will be pulled from the users User Management settings. This is
used mainly to create groups of users like Support, Sales and such.
– External Group- Groups of external contacts such as customers and vendors.
– Default User Man Group- Like Internal Groups but this is a single group and will include all
users in this group that are told through User Management to be added to this group. Think of it
as a default group of all your internal users.
© 2015 Sangoma Technologies 264
Contact Manager
LAB: Create a new Default User Manager Group
• We are going to first create a default User Manager group of all of our Users. Users are pulled
from the User Management module which is used for logging into UCP and other applications.
– The FreePBX Admin can set information on the internal user such as Name and different phone numbers
like home, mobile, work and such from User Management Modules.
– End Users can also change and set these numbers from inside UCP which we will go over later.
• Pick User Manager type
• Give it a name such as All Users and press Submit
© 2015 Sangoma Technologies 265
Contact Manager
LAB: Create a new Default User Manager Group
• Now go to User Management and make sure your users are setup to be part of the Default User Manager
Contact group
• The difference between a User Manager group and Internal group is when you create a new User account
checking the “Show Contact in Contact manager” will auto add them to any User Manager Group in
Contact Manager.
• Creating a Internal only group in Contact Manager allows you to pick within Contact Manager which
contacts are part of that group so a good example would be creating a Support and Sales Group and only
adding Sales and Support Users to those group.
© 2015 Sangoma Technologies 266
Contact Manager
LAB: Create a new External Contact Group
• You can also create external contact groups and include external contacts. For our lab
we will create a new Group called Vendors and add one or more Vendors into our
contact group.
• Press Add Entry option
• Add contact information
© 2015 Sangoma Technologies 267
Contact Manager
LAB: Restrict which Contact Groups users can see
• Using Class of Service module you can restrict which Contact groups and
user can see in UCP or their Contacts Phone App.
• Now press the Contact button that we setup on your phone earlier and you
should be able to view and search contacts.
• Later in the UCP lab we will also view and manage contacts. In UCP users
can also create custom groups of contacts that only they will see.
© 2015 Sangoma Technologies 268
Phone Apps (RestApps)
Overview
Phone Apps are a suite of phone applications that integrate directly with
FreePBX and our commercial End Point Manager.
Phone Apps allow users to control functions and settings directly from
the screen of their phone.
© 2015 Sangoma Technologies 269
• Call Flow Control
• Call Forward
• Conference Rooms
• DND
• Follow Me
• Login/Logout
• Parking
• Presence
• Queues
• Queue Agents
• Time Conditions
• Transfer to Voicemail
• Visual Voicemail
• Contacts
Phone Apps (RestApps)
EPM Setup
Go into EPM and under your template create XML-API button types and pick the
different Apps
© 2015 Sangoma Technologies 270
Phone Apps (RestApps)
Rest API Setup
• Make sure your End User is
setup to allow access to all
Modules for the FreePBX
API module in the User
Management module in
FreePBX under the Rest API
section
© 2015 Sangoma Technologies 271
Phone Apps (RestApps)
Rest API Setup
View our WiKi on how to use each of the app at
http://wiki.freepbx.org/display/FCM/RESTful+Phone+Apps-Apps+UserGuides
…Lets take 20 minute and let you play with the Apps now!!
© 2015 Sangoma Technologies 272
Backup and Restore
Overview
• Discussion on options
• Create a local full backup
• Create a second backup to login to your partner’s system and
perform the backup and scp the backup to your system and
restore it. This is how you would setup a warm standby of
your primary system.
© 2015 Sangoma Technologies 273
Backup and Restore
Discussion
• In FreePBX 2.10 the backup module was completely rewritten to make it more
reliable and flexible. It was designed to be very modular and has added some
confusion and complexity but more flexibility.
• There are 4 main sections to the new Backup Module
– Backups- These are your actual backup schedules that you setup.
– Restore- Here you can restore a backup from any of the servers where you have
backups stored as part of your PBX. You can also upload a backup file from your local
computer to restore from.
– Templates- These are actual templates of what files, directories and mysql tables to
include in your backup. We have defined some standard templates in the backup
module but you can create your own custom ones or edit the default ones included.
………Continues 
© 2015 Sangoma Technologies 274
Backup and Restore
Discussion
– Servers- This option can cause confusion for people. Servers are either
servers that can be backed up or servers that backups can be stored on.
• Email- This is where you define an email address that you would send a backup to once it
completes.
• FTP- You can define an FTP server that backups are sent to once complete. You can also
restore from the FTP server direct from the Restore option now.
• Local- This is a local directory where backups will be stored and restored from.
• MySQL- This is where you define tables that you want to include in your backup file. This
would be used if you were going to add custom MySQL tables that are not part of normal
FreePBX that you want to include in your backup.
• SSH- This is where you would define another server to ssh to store your backup on or
another server such as a different PBX that you want to login to and perform a backup on.
© 2015 Sangoma Technologies 275
Backup and Restore
Lab: Create a new backup
• Go create a new backup
• Give it a unique name- Daily
backup
© 2015 Sangoma Technologies 276
Backup and Restore
Lab: Create backup
• Drag the Full Backup,
System Audio and Voice Mail
templates under the Backup
Items section
• You should see all items that
will be included in the backup
set
© 2015 Sangoma Technologies 277
Backup and Restore
Lab: Create backup
• Make sure we are picking this server to backup
• Pick where to store the backup. By default it should show Local Storage and Legacy
Storage. Use local storage which is located in /var/spool/asterisk/backup. We could pick
more than one location to store the backup.
© 2015 Sangoma Technologies 278
Backup and Restore
Lab: Create backup
• Pick how often to run this backup.
• You can pick the Custom setting to define more specific schedules.
© 2015 Sangoma Technologies 279
Backup and Restore
Lab: Create backup
• Pick how long to keep the backup for.
• Now save the backup. Go scroll to the bottom and press the run now option to have the
system do a backup now.
© 2015 Sangoma Technologies 280
Backup and Restore
Lab: Create backup
• SSH to your PBX now.
• Go into the directory your backups are stored in.
– Hint: if you picked Local Storage this location is: /var/spool/asterisk/backup/
• Verify the backup is there
© 2015 Sangoma Technologies 281
Backup and Restore
Lab: Warm Standby
• We are now going to walk through having your system login to your partner’s
PBX each day to do a backup on their system and restore it to yours. This
would allow your system to be a warm standby system to your production
server.
• Determine which system is the Primary Server and which system is the Backup
Server with your lab partner.
• First thing we need to do is setup share keys for the asterisk user to be able to
access the primary server.
• SSH to your Backup System and use the following command to generate a
share key that will be transferred to the Primary Server (partner system) so it
can login to their system to do the backup.
© 2015 Sangoma Technologies 282
Backup and Restore
Lab: Warm Standby
• sudo -u asterisk ssh-keygen
– You will see the following output. You will need to press Enter 3 times during this process.
• Next we will copy the key to the Primary server.(Partner Server)
– sudo -u asterisk ssh-copy-id -i /home/asterisk/.ssh/id_rsa.pub root@192.168.1.186. Replace the
IP with your partner’s IP.
© 2015 Sangoma Technologies 283
Backup and Restore
Lab: Warm Standby
• We will now check to make sure the asterisk user can get into your primary server (partner
system)
– ssh -i /home/asterisk/.ssh/id_rsa root@192.168.1.186
• Replace 192.168.1.186 with your partner’s IP
• Type exit to go back into your box.
• We will now setup the backup on the Backup Server to go into the Primary Server (partner
system) and backup their settings and restore them on the Backup Server. (We will not
actually do the restore as we don’t want to lose all your settings of your PBX)
© 2015 Sangoma Technologies 284
Backup and Restore
Lab: Warm Standby Backup
• First we need to add your partner’s
server as a SSH server in the backup
module under servers.
• Make sure to enter the path to your
private key so the system knows how
to load the key to your partners
system to login.
© 2015 Sangoma Technologies 285
Backup and Restore
Lab: Warm Standby Backup
• Go create a new backup
• Give it a unique name- Warm Stanby
© 2015 Sangoma Technologies 286
Backup and Restore
Lab: Warm Standby Backup
• Drag one of the templates to the Backup Items Area. Use the Safe Remote Restore Option
• You should see all items that will be included in the backup set
– Notice we are including just the config options which is all we need but we are excluding backup
settings as we would not want to restore the backup settings from the primary server or it would
override all the settings we have stored here.
© 2015 Sangoma Technologies 287
Backup and Restore
Lab: Warm Standby Backup
• Make sure we are picking the Primary
Server we just setup as a Server. (For this
example we will not pick the Restore Here
option that way when it runs it won’t do the
actual restore but just move over the
backup file.
• Pick where to store the backup. We will
store the backup on our Backup Server
after it performs the backup on our Primary
Server. It will than scp the file here.
© 2015 Sangoma Technologies 288
Backup and Restore
Lab: Warm Standby Backup
• Pick how often to run this backup.
• You can pick the custom setting to define a more specific schedule
© 2015 Sangoma Technologies 289
Backup and Restore
Lab: Warm Standby Backup
• Pick how long to keep the backup for.
• Now save the backup. Go scroll to the bottom and press the run now option to
have the system do a backup now.
© 2015 Sangoma Technologies 290
Backup and Restore
Lab: Warm Standby Backup
• We should now see it go through the backup and show a status
© 2015 Sangoma Technologies 291
Linux System Admin-PBX Related
Overview
• Software Raid
• Notification of Asterisk Crashes
• Kernel Panic Auto Reboot
• Notification of Trunk Failures
• DNS Explained as it relates to Asterisk and SIP trunks
• Changing Asterisk Versions on your FreePBX Distro
• Logging into GUI without knowing Admin user or password.
© 2015 Sangoma Technologies 292
Linux System Admin-PBX Related
Software Raid
• Disk Raid is an important factor to be considered when setting up a
PBX
• There are 2 options for Raid
– Hardware Raid
• Handled by your hardware and managed by the hardware
• Most efficient
• Most costly
– Software Raid
• Handled by the Linux operating system
• Not as efficient
• Part of Linux – no cost
© 2015 Sangoma Technologies 293
Linux System Admin-PBX Related
Software Raid
• When setting up the FreePBX Distro, the first option under each Asterisk
version will attempt to setup software raid if multiple disks are detected.
© 2015 Sangoma Technologies 294
Linux System Admin-PBX Related
Software Raid
• To Verify you have a software raid you would type of following command from the
Linux CLI.
– cat /proc/mdstat
• The output will be similar to the following if software raid is present, blank otherwise.
• In this example we can see all 3 partitions of the hard drive md0, md1 and md3 are
setup in a raid with disk sdb and sda
© 2015 Sangoma Technologies 295
Linux System Admin-PBX Related
Software Raid
• If the Raid Array was in a down state meaning 1 or more hard drives had failed you would see something
similar to below.
• You will notice the [U_] showing that the second drive, sda in this example, has failed.
• To rebuild the raid array follow the guide at
http://wiki.freepbx.org/display/L1/Rebuilding+Software+Raid
© 2015 Sangoma Technologies 296
Linux System Admin-PBX Related
Software Raid
• To setup email
notification to be
notified of a raid failure
log into the System
Admin module in
FreePBX and under
Storage you can define
the email address.
© 2015 Sangoma Technologies 297
Linux System Admin-PBX Related
Notifications of Asterisk Crashes
• Since FreePBX Distro is setup to start asterisk with the safe_asterisk scripts we can tell
safe_asterisk to notify us anytime Asterisk crashes via email.
• We set this up in the /usr/sbin/safe_asterisk file.
– nano /usr/sbin/safe_asterisk
• Modify the NOTIFY section.
– Remove the # comment
– Replace the email address with your own
© 2015 Sangoma Technologies 298
Linux System Admin-PBX Related
Notifications of Asterisk Crashes
• If you want to test this we can force asterisk to stop and have safe_asterisk kick in.
• We need to find the asterisk process ID so we can kill it.
– ps -ef| grep asterisk
– Find the process ID which in our example is 16093 and kill the process
– You should now get a email of the asterisk crash.
© 2015 Sangoma Technologies 299
Linux System Admin-PBX Related
Kernel Panic Auto Reboot
• At times your Linux box may kernel panic. This is a rare occurrence and is almost always related to a
hardware issue. A kernel panic is like a Blue Screen of Death in the Windows world.
• The downside to a kernel panic is your box is locked up and the only way to recover is to reboot by cycling
power.
– This is not ideal if you are not close to where the box is located.
• We prefer to setup our boxes to auto reboot on a kernel panic. This is really important if you are doing
upgrades of the kernel as at time the box may kernel panic and you do not want to be locked out.
• We need to modify the following file
– /etc/sysctl.conf
• Add the following 2 lines to the bottom of the file
© 2015 Sangoma Technologies 300
Linux System Admin-PBX Related
Notification of Trunk Failures
• FreePBX has the ability to call an external script to monitor a trunk. You can define the script on a per
trunk basis in the GUI of your trunks. (This field is hidden by default and exposed in Advanced Settings.)
• We have included a sample Trunk Monitor script that we will now install.
• SSH to your PBX and follow these steps
– wget -P /var/lib/asterisk/agi-bin/ -N http://ottstrunk.freepbx.org/otts/trunk-alert.agi
– amportal chown
• To make sure the ownership of the script is owned by the asterisk user and not root
• Now you can go into the GUI of your SIP trunk and define this custom monitor script:
– /var/lib/asterisk/agi-bin/trunk-alert.agi
© 2015 Sangoma Technologies 301
Linux System Admin-PBX Related
DNS Explained as it relates to Asterisk
• FQDN with Asterisk and SIP trunks have always been issues for users.
– Asterisk has a long outstanding “BUG” in how its DNS Manager works related to it being a blocking
protocol.
– What happens is each time chan_sip needs to resolve a FQDN that is used anywhere with your SIP
setup it does a DNS lookup.
– Until this lookup resolves no other SIP packets are processed on the system.
– When this happens, Asterisk as a whole ‘bogs down’ and goes into somewhat of a ‘melt-down’ mode
where the system appears sluggish or locked up. Even Analog and PRI lines will be unusable on the
system.
• We highly recommend not using FQDN in your trunks or extensions or any peers in Asterisk.
If you must use a FQDN we recommend using a DNS server that you control on the local
network so if your internet goes down the PBX can still resolve DNS.
© 2015 Sangoma Technologies 302
Linux System Admin-PBX Related
DNS Explained as it relates to Asterisk
• The FreePBX Distro uses DNS Masq to handle this. Simply put 127.0.0.1
as the first DNS entry in /etc/resolv and that will tell the system to use the
local DNS server on the PBX.
• You can also set the 127.0.0.1 in the System Admin module in FreePBX
which will write out your /etc/resolv file.
© 2015 Sangoma Technologies 303
Linux System Admin-PBX Related
DNS Explained as it relates to Asterisk
• The FreePBX Distro has a script that lets you change between Asterisk 1.8, 10 and 11 at anytime
on the fly.
– When changing Asterisk versions Asterisk will be restarted for you and all active calls will be lost so only do
this when you have no calls.
– From the linux CLI type “asterisk-version-switch
– Pick which version of Asterisk you want to switch to.
– Once completed you should see a blank CLI screen.
© 2015 Sangoma Technologies 304
Linux System Admin-PBX Related
Loggin into FreePBX GUI without password
• If you ever need to log into your FreePBX Admin GUI and either forgot the login username and
password you can unlock your login from the Linux CLI following these steps.
– Bring up the main login page to your FreePBX GUI.
– Do a “ctrl a” to highlight the whole page and look to the left side of the screen for some text. This is your
unique php session ID for your current session only. Copy this into your clipboard.
© 2015 Sangoma Technologies 305
Linux System Admin-PBX Related
Loggin into FreePBX GUI without password
• Login into your Linux CLI and type of the following
commandreplacing the session ID with the one you copied from your
box.
• Go refresh your GUI login page and it should log you into FreePBX.
Now you can go reset the administrator password or create a new
user.
© 2015 Sangoma Technologies 306
User Control Panel – UCP
Overview
• ARI replacement
• User centric
• Responsive design
• User Management Integration
– Login with the User Management User
and Password.
© 2015 Sangoma Technologies 307
User Control Panel – UCP
Features Overview
• Access to linked
extensions
• Designed to be the end
user interface to the
PBX and it’s features
• Desktop , Tablet , or
mobile device
© 2015 Sangoma Technologies 308
User Control Panel – UCP
LAB: Userman Setup
• Go into User Management module in FreePBX and make sure UCP is enabled for login.
• Make sure the user has XMPP set to yes
• It will make you set a UCP password when you enable XMPP. Set this password to be
anything you want. This is how you will login to UCP as this User.
© 2015 Sangoma Technologies 309
User Control Panel – UCP
LAB: Userman Setup
• Set the following Options on for UCP Permissions for this
User
– Allowed Settings
• Pick both your extensions
– Allowed CDRs
• Pick both your extensions
• Also allow for CDR Downloads and Playback of Recorded Calls.
– Allowed Conference Bridge
• Pick any conference rooms you want this user to view and manage from
UCP
– Allowed End Points
• Pick your Lab phone.
– Enable Presence
• Yes
– SIPStation SMS DID
• Make sure to pick a SIPStation DID for SMS so you can send and receive
SMS in UCP for your user.
– Allowed Voicemail
• Pick both your primary and softphone
– Enable WebRTC Phone
• Yes
– Allow Originating Calls
• Yes
© 2015 Sangoma Technologies 310
• Login into UCP with the username and password
User Control Panel – UCP
LAB: Gear
• Click on the Gear Icon in the top right menu
• From here we can pick to;
– Log Out of UCP
– Originate a call.
• This will place a call to any phone number or contact you
type in. It will call your primary extension and when you
answer it will place a call to the number or contact you
provided.
– Settings
• From here you can change your Userman Password and
change your contact information that is part of the internal
Contact Manager of FreePBX along with setting your
Language you want to view UCP in and enable Desktop
Notifications for things like new Voicemails, Faxes or SMS
messages.
© 2015 Sangoma Technologies 311
User Control Panel – UCP
LAB: Action Buttons
• Change status
– Your status change here will be linked
with the Presence Rest App on your
Lab phone
• Compose SMS for SIPStation
customers only
– Send SMS to your cell phone.
© 2015 Sangoma Technologies 312
User Control Panel – UCP
LAB: Action Buttons
• Make WebRTC Call
– Make a call to any phone number
• Send a XMPP Chat
– To any other user contected to the
XMPP Server of the PBX. This
could be any UCP user or any
user using a XMPP client
© 2015 Sangoma Technologies 313
User Control Panel – UCP
LAB: Call History
• ! Available for primary and any linked extensions
© 2015 Sangoma Technologies 314
User Control Panel – UCP
LAB: Conference Rooms
• Ability to see any of your Conference
Rooms you have permissions for.
• View callers in your Conference room
and Mute/Unmute or Kick any caller.
© 2015 Sangoma Technologies 315
User Control Panel – UCP
LAB: Conference Rooms
• Invite Callers into your Conference.
• You can type in any Contact Name or
External Phone Number. The number will
be dialed and when they answer they will
be transferred into your Conference Room.
If your Conference Room is setup with a
Pin Code invited callers will not need to
enter the Pin Code.
© 2015 Sangoma Technologies 316
User Control Panel – UCP
LAB: Contacts
• Contacts App will let you view any Contact Groups that your PBX admin has created and
given you permissions to view through the Contact Management Module and Class of
Service.
• You can also create your own Custom Contacts and Groups of Contacts.
• These same contacts can also be viewed on your Phone with the Contacts Phone App
• When sending a SMS, Fax, XMPP Chat, Originate Call or Inviting someone to a Conference
you can start typing any contact and it will give you a list of their numbers.
© 2015 Sangoma Technologies 317
User Control Panel – UCP
LAB: Device Manager
• If using EPM to manage your phones
you can allow your users through User
Management permissions to change the
button layout of their phones. For
example if they want to add or remove a
button you have setup in the EPM
Template they can change those settings
and it will only effect their phone not any
other users using the same template.
• Think of the settings as a user level
override.
© 2015 Sangoma Technologies 318
User Control Panel – UCP
LAB: Fax Pro Sending Faxes
• Send Faxes
• Type in any phone
number or name of
stored contact
© 2015 Sangoma Technologies 319
User Control Panel – UCP
LAB: Fax Pro Sending Faxes
• Optionally Include the system generated
cover sheet and define recipient
information in the cover sheet.
• My Name, My Telephone and My Email
are pulled from the Extension page for
this user. A user can change these before
sending the fax and also change the
stored information for them in the Settings
section of Fax in UCP.
© 2015 Sangoma Technologies 320
User Control Panel – UCP
LAB: Fax Pro Sending Faxes
• Upload 1 or more PDFs, or Tiff files and send the fax.
© 2015 Sangoma Technologies 321
User Control Panel – UCP
LAB: Fax Pro Reviewing Faxes
• Click on any of the Directories such as Incoming or Sent
• View or download the fax with the action icons.
© 2015 Sangoma Technologies 322
User Control Panel – UCP
LAB: Fax Pro Settings
• A user can at anytime change their Fax Settings by
clicking on the Settings tab in the Fax Section of
UCP
• These are the same settings that the Admin user in
FreePBX can set under the Extension for this user.
© 2015 Sangoma Technologies 323
User Control Panel – UCP
LAB: Fax Pro Desktop Notifications
• Desktop notification will be sent to the user if they have enabled them in the
Settings tab under the Gear in the top right corner of UCP if they are using Google
Chrome as their browser
© 2015 Sangoma Technologies 324
User Control Panel – UCP
LAB: Presence State Controls
• Status updates on login and logout/close
• Actions linked to status changes. Anytime your change
your status the action for that status will be set. For each
status you can tell the PBX to
– Not Change Anything
– Enable your Follow Me
– Enable Do Not Disturb.
© 2015 Sangoma Technologies 325
User Control Panel – UCP
LAB: Extension Settings
• Available for primary and
linked extensions in User
Management
• User control of options such as
Follow Me, Call Forward, DND,
Call Waiting. If you enable,
DND, Follow Me or Call
Forward here it should light up
the buttons on your phones if
you are using the Phone Apps.
© 2015 Sangoma Technologies 326
User Control Panel – UCP
LAB: SMS
• Enabled via Sipstation options
• Desktop notifications
• Persistent Chat box with history
– Clicking on the To Name will bring up the full SMS history until you delete it.
© 2015 Sangoma Technologies 327
User Control Panel – UCP
LAB: Voicemail Management
• Available for primary and any linked extension
• Desktop notifications
© 2015 Sangoma Technologies 328
User Control Panel – UCP
LAB: Voicemail Management
• Manage voicemail options
• Drag and drop greetings
© 2015 Sangoma Technologies 329
VM Notify
Overview
• This module allows an individual or a group to be notified and optionally accept
responsibility for a voicemail. Additionally notifications can be sent out when
someone claims responsibility for the voicemail.
• Used primarily for After Hours Support or Emergency Notifications.
• Call a list of numbers in specific order like queue agents.
• When someone answers the call they will be notified a new voicemail has been
left in the Emergency Box or whatever message you record.
• The caller will be prompted to press 1 to listen to the voicemail.
• While listening to the voicemail the caller can press 1 to take responsibility for the
voicemail and no other users will be called about the voicemail.
• Email report will be mailed out showing the results of the notification upon a user
accepting responsibility or failed attempt to reach any user and include the
voicemail.
© 2015 Sangoma Technologies 330
VM Notify
LAB: Setup VM Notify
• Navigate to the VM Notification module in FreePBX and create a new Notification.
• Pick your desktop phone as the voicemail box we want to link this notification with
and verify the notification is set to be enabled.
© 2015 Sangoma Technologies 331
VM Notify
LAB: Setup VM Notify
• Provide a list of numbers or extensions we want to dial. We can group numbers together into
groups just like queue agents by putting a penalty number at the end of each number.
• The VM notification system will first attempt to call all numbers with a penalty of 0, then 1 and so
forth. All numbers with the same priority number will be dialed at the same time so if you have 2
numbers with a penalty of 0, both of those numbers will be dialed at the same time.
• We can also setup Caller ID information to be used when dialing numbers.
© 2015 Sangoma Technologies 332
VM Notify
LAB: Setup VM Notify
• The default Initial Greeting informs the caller that a new voicemail has been left in mailbox XXX with XXX being the name
recorded on the voicemail box. The default instructions prompt the caller they can press 1 while listening to the voicemail to
take responsibility for the voicemail.
• Retry Count is how many times we should loop through the Caller List if nobody accepts responsibility for the voicemail.
• Retry Delay is now many minutes to wait after calling all the numbers in the Caller List before calling them again if nobody
took responsibility for the voicemail.
• Priority Delay is the amount of time in minutes to wait before trying the next group of Callers as defined by their penalty
number of 0 thru 99.
© 2015 Sangoma Technologies 333
VM Notify
LAB: Setup VM Notify
• Upon a caller taking responsibility for a voicemail or after all numbers have been called including the Retry Count without a
caller taking responsibility for a voicemail a email notification will be sent out based on the setting below.
– Email From- From address the email should be sent from.
– Email Success- Is the email address we should send the notification to upon a caller taking responsibility for a voicemail.
– Email Fail- Is the email address we should send the notification to upon calling all numbers including the Retry Count and no
caller took responsibility for a voicemail.
– Email Attach- When set to yes a copy of the voicemail file will be included in the email at a attachment.
© 2015 Sangoma Technologies 334
VM Notify
LAB: Setup VM Notify
• Email Subject- This is the subject line of the email that will be sent out.
• Email Body- This is the body of the email that will be sent out.
• Both of these fields include variables that are pulled in for each Voicemail
Notification including a full log of all numbers dialed and if they answered the call,
listened to the voicemail, took responsibility for the voicemail
© 2015 Sangoma Technologies 335
DAHDI 101
Overview
• DAHDI is what Asterisk uses to connect to the legacy PSTN such
as analog or PRI lines.
• They are generally PSTN cards but can also be USB driven
• There are 2 main manufactures of cards.
– Digium Cards- These are cards manufactured by Digium. There are
also many knockoffs that copy their cards. Be careful with these
knockoffs.
– Sangoma Cards- They manufacture their own cards and provide to
you lots of additional tools with their wanpipe software.
• Wanpipe sits between the PSTN and DAHDI so it allows you to troubleshoot and see what is
happening with the PSTN signaling in front of DADHI and gives you more tools.
© 2015 Sangoma Technologies 336
DAHDI 101
Overview
• DAHDI config files are stored in 2 primary locations.
– /etc/DAHDI/: This is where the configurations for DAHDI as it appears to the
outside world or PSTN lines
– /etc/asterisk/: This is where all configurations for asterisk and how it talks to
DAHDI are stored.
• When using a DAHDI card FreePBX expects one of two contexts:
– from-analog: This is used for any analog lines.
– from-digital: This is used mainly for PRI’s, BRI’s or other digital trunks that
send a DID.
© 2015 Sangoma Technologies 337
DAHDI 101
Overview
• There are 2 main types of cards in the Market
– Digital.
• T1- Which can be for straight T1 or PRI style T1’s (North America)
• E1- Most of the Latin American and European Markets E1/PRI
ETSI/ISDN and MFCR2
– Analog- with either FXO or FXS Ports
• FXO Ports- Are used to connect to the incoming Phone Line
• FXS Ports- Are used to connect an analog phone as a extension into
your PBX
© 2015 Sangoma Technologies 338
DAHDI 101
Overview
• DAHDI Groups. Everything with DAHDI trunks belong to a group.
– F or example we have have a 2 port PRI card. Port 1 we can setup as group 0 and port 2 can also be
group 0 or it could be its own group such as group 1.
– A group is simple way of grouping channels and PRI ports together into a shared pool used for
outbound calling.
– When you create a trunk in FreePBX you generally will pick which group the trunk sends calls out.
– A group could be a mix of PRI and Analog ports all in the same group if you wanted to, though that is
not typical.
– A common practice would be to have your PRI/T1 setup with Group 0 and your 2 Analog failover
lines as Group 1. Then in the trunk module of FreePBX you would create a PRI trunk that maps to
Group 0 and a Analog trunk that maps to Group 1.
– That way when creating outbound routes you first try Group 0 trunk then try Group 1 trunk.
© 2015 Sangoma Technologies 339
DAHDI 101
FreePBX DAHDI Module
• Easiest way to setup your DAHDI cards is with the new FreePBX DAHDI module.
• This module currently supports Analog and T1/E1 cards from the following manufactures
– Digium
– Sangoma
– Allo
– OpenVox
– Rhino
• Since some of the DAHDI settings require a restart of the DAHDI service which is a linux level permission
there are times the module will inform you to reboot your system after changes.
– Instead of rebooting you can do the following commands
• amportal stop- Stops Asterisk
• service DAHDI restart- restart DAHDI. If you are using sangoma cards you need to do a service wanrouter restart which will also
restart DAHDI.
• amportal start- Starts Asterisk
© 2015 Sangoma Technologies 340
DAHDI 101
FreePBX DAHDI Module
• Since most of the systems in our lab do not have DAHDI
cards we will do this lab interactively.
– Global Settings- These are all the settings that go into /etc/
asterisk/chan_DAHDI.conf and apply globally to DAHDI from the
Asterisk side of things.
– Modprobe Settings- These are kernel driver specific settings for
each module driver DAHDI uses. Making changes here will
prompt you to reboot the system.
– Sangoma Settings- These are settings that are specific to
Sangoma Cards only.
© 2015 Sangoma Technologies 341
DAHDI 101
FreePBX DAHDI Module
• Digital Card Settings- Settings for the individual ports of a T1/E1 card.
• FXO Port Settings- Settings for each FXO port of an analog card.
• FXS Port Settings- Settings for each FXS port of an analog card.
© 2015 Sangoma Technologies 342
DAHDI 101
FreePBX DAHDI Module
• Creating DAHDI Trunk-
– Once we’ve setup a PRI or FXO port in the DAHDI module we can go to the trunk module in
FreePBX and create a DAHDI Trunk.
– At the bottom of the page we will see a drop down and it will let us pick from any group such as G0 or
individual analog ports on an analog card.
– In our example we can pick Group 0 Ascending or Group 0 Descending
– If we pick Ascending it will start with channel 1 and work up for each concurrent outbound call.
– If we pick Descending it will start with the highest channel which in our example would be 23 and
work down.
© 2015 Sangoma Technologies 343
DAHDI 101
FreePBX DAHDI Module
• Creating a DAHDI Extension
– Once we have setup 1 ore more FXS ports in the DAHDI module we can create a
DAHDI extension.
– Under Device Options choose the desired Channel to map this extension to the given
DAHDI channel.
© 2015 Sangoma Technologies 344
Asterisk Log Files Settings
Overview
• Starting with FreePBX 2.11 you can set and control the log file setting for Asterisk.
• You can also view all the different Asterisk Log files from the GUI.
• Its important to understand how to read log files but we could spend 2 days just on
Asterisk Log Files.
– The point to this talk is to talk about how to setup and verify you have logs being written
and what the different options mean.
– Teach you how to setup a custom log file for specific things like DTMF debugging.
• Everything that happens in Asterisk can be logged to a log file.
• All logs are stored in /var/log/asterisk/ by default
© 2015 Sangoma Technologies 345
Asterisk Log Files Settings
Log Files Settings
• In the Asterisk Log Settings module in FreePBX you can set the following options.
– Date Format- This should generally not be changed or it will break things like Fail2ban. This is just how the Date
Timestamp is displayed in the log files.
– Log Rotation- When asterisk rotates the logs which by default is daily how do we want the file names of the rotated
logs to be displayed. By default your logs will rotate nightly and keep 7 days worth.
• Sequential- When rotating make the newest log file have the highest number such as full.7
• Rotate- When rotating make the oldest log file have the highest number such as full.7 This is the normal behavior in linux.
• Timestamp- Save the file with the date/time as the file name.
– Log Queues- Do you want Asterisk to create a queues log file. Lots of Queue reporting software's use this to generate
queue reports.
© 2015 Sangoma Technologies 346
Asterisk Log Files Settings
Log Files Settings
• Log Files
– By default you will see your system has a log file called full and you will see which options have been
enabled to log to the full log file.
• Debug- Used for debugging and most of the time can be ignored as they are for debugging purposes and will
generate a lot of noise.
• DTMF- Used to log every DTMF entry asterisk receives. This is useful if debugging DTMF issues to see if
Asterisk is receiving the DTMF or not.
• Error- Possible issues with dialplan created but not critical.
• Fax- Errors related to res_fax_asterisk to help debug fax issues.
• Notice- Message of a action like a Call being completed or a phone registering. Just informing you of actions.
• Verbose- Step by Step of the call flow. Used to debug or watch calls as they navigate your dialplan.
• Warning- Critical errors or issues usually and the most important one when debugging issues with Asterisk.
• Security- Security related events such as failed login attempts
© 2015 Sangoma Technologies 347
Asterisk Log Files Settings
Creating a DTMF Log File
• We are going to setup a log file just to capture all the DTMF that Asterisk receives
into its own log file.
• Create a new log file called DTMF and the only type of events we want to capture
is DTMF. Your setup should look like this.
• Press Save when done and Apply Configs.
• Go make a call to your IVR and then direct dial one of your extensions from the
IVR so we can get some DTMF logs generated.
© 2015 Sangoma Technologies 348
Asterisk Log Files Settings
Viewing Log Files
• To view the new logfile we just created go to the module in FreePBX under Reports called
Asterisk LogFiles
• At the top you will see a drop down of all the log files in Asterisk. Pick DTMF and 500 for the
last 500 log entries and press the Show button
• You should now see the entries from the call you just made. In my example We dialed 4002
© 2015 Sangoma Technologies 349
Asterisk Log Files Settings
Viewing Log Files
• We will see the DTM begin meaning it’s the beginning of the tone.
– Begin ‘4’ received on
• Next since we are just going into a IVR and not bridging channels it will
ignore the DTMF meaning not pass it to another channel
– Ignored ‘4’ on
• Then it will end the receiving of the DTM and finally end the pass-through.
– End ‘4’ received on end passthrough ‘4’
• Generally anything under 60MS will have issues with decoding the DTMF
the average DTMF is 80-300MS.
© 2015 Sangoma Technologies 350
FreePBX High-Availability
© 2015 Sangoma Technologies 351
HA Enables Automatic
Mirroring and Failover
Between 2 FreePBX Systems
High Availability (HA)
• Direct cost
• Additional work hours
• Lost work hours
• Lost revenue
• Regulatory compliance & risk
management
© 2015 Sangoma Technologies 352
Why HA?
© 2015 Sangoma Technologies 353
• Business Continuity
Historical Problems
• HA systems were built by hand
• Required the use of very
expensive sysadmins to design,
implement & constantly maintain
• Difficult to keep up-to-date
• Almost impossible to replicate or
support
© 2015 Sangoma Technologies 354
What makes up FreePBX HA?
© 2015 Sangoma Technologies 355
• FreePBX Distro
• Integrate DRBD, Cluster Manager
• Pacemaker
Automatic Mirroring and Failover
© 2015 Sangoma Technologies 356
FreePBX HA Enables
Automatic
Mirroring & Failover
Between Two
FreePBX Systems
Automatic Mirroring
and Failover
Easy to Install
© 2015 Sangoma Technologies 357
Select HA Install Option
© 2015 Sangoma Technologies 358
Enter Location Specific Settings
© 2015 Sangoma Technologies 359
Initial Configuration of FreePBX
© 2015 Sangoma Technologies 360
Rinse and Repeat
© 2015 Sangoma Technologies 361
HA hardware
© 2015 Sangoma Technologies 362
Recommended Virtual Environments
© 2015 Sangoma Technologies 363
• KVM
• Solus VM
• FreePBX Hosting
HA Installation
© 2015 Sangoma Technologies 364
HA Installation
© 2015 Sangoma Technologies 365
HA Installation
© 2015 Sangoma Technologies 366
HA Installation
© 2015 Sangoma Technologies 367
HA Installation
© 2015 Sangoma Technologies 368
HA Installation
© 2015 Sangoma Technologies 369
HA Installation
© 2015 Sangoma Technologies 370
HA Installation
© 2015 Sangoma Technologies 371
HA Installation
© 2015 Sangoma Technologies 372
HA Installation
© 2015 Sangoma Technologies 373
HA Installation
© 2015 Sangoma Technologies 374
HA Installation
© 2015 Sangoma Technologies 375
HA How it Works Overview
© 2015 Sangoma Technologies 376
HA Management
© 2015 Sangoma Technologies 377
Up time & Reliability
• Run different services
on both PBXs
• More resilient
• Quickly migrate
services when there’s
an issue
© 2015 Sangoma Technologies 378
Astrisk is Down
• Displays an error
• Fail and attempt to
restart a set number
of times
• Before migrating the
Impacted services to
the other PBX
© 2015 Sangoma Technologies 379
© 2015 Sangoma Technologies 380
• Active node changed to
freepbx-b
• Calls are now being processed
by the secondary node
• Mysql and other FreePBX
services are still utilizing the
primary server
Knowing there is a problem
• SNMP Alerts
• SMTP Alerts (email notifications)
© 2015 Sangoma Technologies 381
Keeping your System Updated
© 2015 Sangoma Technologies 382
© 2015 Sangoma Technologies 383

More Related Content

PPTX
2016-08-31 Comorbidades e a Dependência Química
PPT
Firewall presentaciones exposicion
PPT
Mpls vpn toi
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
RTF
Contrato Locacao Imovel De Temporada
PDF
Cartaz Lei Anti Fumo
PDF
Manual freepbx-espanol
2016-08-31 Comorbidades e a Dependência Química
Firewall presentaciones exposicion
Mpls vpn toi
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Contrato Locacao Imovel De Temporada
Cartaz Lei Anti Fumo
Manual freepbx-espanol

Similar to Todo lo lo que necesita saber para implementar FreePBX (20)

PPTX
Upgrading to Cognos Analytics Release 4: What You Need to Know
PDF
Installation and Setup for IBM InfoSphere Streams V4.0
PPTX
Arcelor Mittal intern
PDF
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
PDF
INSTALLING COGNOS ANALYTICS 11
PPT
Factory talk activation customer
PDF
Command central 9.7: Features Overview
PDF
Managing bitlocker with MBAM
PPTX
Bangalore OpenMSA DevDay - September 19, 2018
PPTX
Tips for Installing Cognos Analytics: Configuring and Installing the Server
PPTX
There's more to third-party patching than SCCM 1806
PPTX
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
PPTX
Microsoft System center Configuration manager 2012 sp1
DOC
First steps after free pbx installation
PPTX
093049ov10.pptx
PDF
Selecting an Open Source License and Business Model for Your Project to Have ...
PPTX
Essential Layers of IBM i Security: IBM i Security Configuration
PDF
3 Years of Puppet at Cisco: The Secrets to Our Success - PuppetConf 2013
DOC
Srikanth_PILLI_CV_latest
PPTX
Automated PCF Upgrades with Concourse
Upgrading to Cognos Analytics Release 4: What You Need to Know
Installation and Setup for IBM InfoSphere Streams V4.0
Arcelor Mittal intern
SAP #BOBJ #BI 4.1 Upgrade Webcast Series 5: BI Installation and Patching
INSTALLING COGNOS ANALYTICS 11
Factory talk activation customer
Command central 9.7: Features Overview
Managing bitlocker with MBAM
Bangalore OpenMSA DevDay - September 19, 2018
Tips for Installing Cognos Analytics: Configuring and Installing the Server
There's more to third-party patching than SCCM 1806
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Microsoft System center Configuration manager 2012 sp1
First steps after free pbx installation
093049ov10.pptx
Selecting an Open Source License and Business Model for Your Project to Have ...
Essential Layers of IBM i Security: IBM i Security Configuration
3 Years of Puppet at Cisco: The Secrets to Our Success - PuppetConf 2013
Srikanth_PILLI_CV_latest
Automated PCF Upgrades with Concourse
Ad

More from PaloSanto Solutions (20)

PPTX
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
PDF
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
PDF
Innovative technology for universal communication designed to involve the (he...
PPTX
Queuemetrics esencial, de la implementación a reportes avanzadas
PDF
La evolución de la telefonía IP a comunicaciones unificadas
PDF
WebRTC … ¡vamos a discar!
PDF
Integrando encuestas automáticas con iSurveyX
PDF
Usando el módulo PIKE en Elastix MT
PPTX
Gestión de la Información de Desempeño con OpenNMS
PDF
Escalado y balanceo de carga de sistemas SIP
PDF
Elastix unified communications server cookbook
PDF
Seguridad en Asterisk: Un acercamiento detallado
PDF
Dynamic calls with Text To Speech
PDF
Proceso de migración de telefonía tradicional a Elastix (Caso)
PPTX
Building a new ecosystem for interoperable communications
PDF
Asterisk: the future is at REST
PDF
Presentacion Hardware Elastix 2015 - Colombia
PDF
Voicemail Avanzado
PDF
Módulo de Alta Disponibilidad de Elastix
PDF
Porteros IP SURiX con sin Video - Aplicaciones - Casos de éxito - Configuración
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Innovative technology for universal communication designed to involve the (he...
Queuemetrics esencial, de la implementación a reportes avanzadas
La evolución de la telefonía IP a comunicaciones unificadas
WebRTC … ¡vamos a discar!
Integrando encuestas automáticas con iSurveyX
Usando el módulo PIKE en Elastix MT
Gestión de la Información de Desempeño con OpenNMS
Escalado y balanceo de carga de sistemas SIP
Elastix unified communications server cookbook
Seguridad en Asterisk: Un acercamiento detallado
Dynamic calls with Text To Speech
Proceso de migración de telefonía tradicional a Elastix (Caso)
Building a new ecosystem for interoperable communications
Asterisk: the future is at REST
Presentacion Hardware Elastix 2015 - Colombia
Voicemail Avanzado
Módulo de Alta Disponibilidad de Elastix
Porteros IP SURiX con sin Video - Aplicaciones - Casos de éxito - Configuración
Ad

Recently uploaded (20)

PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PPTX
Microsoft User Copilot Training Slide Deck
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PPTX
future_of_ai_comprehensive_20250822032121.pptx
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PPTX
Training Program for knowledge in solar cell and solar industry
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Auditboard EB SOX Playbook 2023 edition.
Convolutional neural network based encoder-decoder for efficient real-time ob...
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Connector Corner: Transform Unstructured Documents with Agentic Automation
Microsoft User Copilot Training Slide Deck
MuleSoft-Compete-Deck for midddleware integrations
NewMind AI Weekly Chronicles – August ’25 Week IV
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Improvisation in detection of pomegranate leaf disease using transfer learni...
Lung cancer patients survival prediction using outlier detection and optimize...
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
future_of_ai_comprehensive_20250822032121.pptx
Basics of Cloud Computing - Cloud Ecosystem
Comparative analysis of machine learning models for fake news detection in so...
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
Enhancing plagiarism detection using data pre-processing and machine learning...
Training Program for knowledge in solar cell and solar industry

Todo lo lo que necesita saber para implementar FreePBX

  • 1. Todo lo que debe saber para empezar a implantar FreePBX
  • 2. Agenda • Introduccion • El Portal de Miembros • Opciones disponibles de Instalación • Instalando el Distro • Registrando y Activando su implementación • Agregando funcionalidades y módulos comerciales • ZULU!!! Anuncio • Preguntas y Respuesta © 2015 Sangoma Technologies 2
  • 3. Rápida revisión del Proyecto • Open Source – GPLv3 + • Base Instalada – Base instalada estimada en mas de 2,000,000 – Crecimiento estimado de 50 mil por mes • Estabilidad probada con alta madurez – 10/14/2004 – 1.1 (AMP) – 03/17/2006 – 2.0 (FreePBX) – 05/16/2006 – 2.1 – 01/05/2007 – 2.2 – 08/25/2007 – 2.3 – 02/10/2008 – 2.4 – 09/19/2008 – 2.5 – 2.6, 2.7, 2.8. 2.9, 2.10, 2.11, 12 • …. … he perdido la cuenta ☺ © 2015 Sangoma Technologies 3
  • 4. FreePBX Distros Algunas palabras sobre los Distros • Distros populares – FreePBX Distro – AsteriskNOW – PBX-in-a-Flash – Elastix – TrixboxCE • Appliances de Sangoma – FreePBX – PBXAct © 2015 Sangoma Technologies 4 Para esta sesión: FreePBX Distro • Módulos Comerciales • Plataformas soportadas • Actualizaciones
  • 5. Regístrese en el Portal © 2015 Sangoma Technologies 5 Objetivos del Portal: • Proveer a usuarios y canales un punto de acceso para registrar cada instalación de FreePBX • Tener acceso a recursos de soporte • Tener acceso a software y hardware para adquirir online • Abrir tickets y dar segumiento a casos de soporte • Etc… (cambios ocurriendo….)
  • 6. Acceda el Portal • Toda implementación de FreePBX tiene asociado un Deployment ID • El Deployment ID es una identificación única y se asocia a un usuario del portal • El Deployment ID se obtiene mediante la activación de la instalación …..Veremos los beneficios de esto en un momento © 2015 Sangoma Technologies 6
  • 7. Anunciando Zulu!! FreePBX Zulu UC • Integración Outlook y Browser… • Desarrollado por el mismo team que esta detrás de la PBX mas popular y usada del mundo de Open Source. Permite fácil integración con aplicación que la gente usa diariamente. • Precio de promoción pre-reléase de US$ 199.00 usuarios ilimitados. Valido hasta Octubre 31. © 2015 Sangoma Technologies 7
  • 8. Obteniendo el Distro © 2015 Sangoma Technologies 8
  • 9. Obteniendo el Distro © 2015 Sangoma Technologies 9
  • 10. Creando su Instalación © 2015 Sangoma Technologies 10 • Inicie su computador o VM usando el ISO/USB • Efectúe un “full Install” • Apóyense en wiki.freepbx.org • Full Install: Automáticamente activa RAID 1 si hay dos discos presentes • No RAID: no activa el RAID 1 a pesar que existan discos. • Advanced: Permite particinamiento manual y definición de los discos, RAID, etc. • HA: Para instalar una maquina que va a formar parte de una configuración HA
  • 11. Configurado la instancia © 2015 Sangoma Technologies 11 • Pueden usar los valores por defecto • O seleccionar la configuración IP que les convenga
  • 12. Configurando la Instancia • Seleccione la zona horaria correspondiente • Asigne el Password del “root” © 2015 Sangoma Technologies 12
  • 13. Iniciando la Instancia • Al final se produce un reboot y se inicia la nueva maquina • Es deseable que la maquina tenga conectividad internet para completar la actualización de módulos © 2015 Sangoma Technologies 13
  • 14. Proceso de Instalación • El proceso puede tomar nos 15 minutos © 2015 Sangoma Technologies 14
  • 15. Primer boot • Estamos listos para el primer Login • Observen la IP asignada por el DHCP de su red o predefinida por ustedes en forma estatica © 2015 Sangoma Technologies 15
  • 16. Primeros pasos GUI • Acceda via http la IP indicada en el Login • Defina un usuario y password para la cuenta del administrador © 2015 Sangoma Technologies 16
  • 17. Login como Administrador • Hagamos Login con la cuenta de administrador recién creada © 2015 Sangoma Technologies 17
  • 18. Inicio en el dashboard • Estado del Sistema • Observar si existe alguna alarma que deba tener nuestra atención – Modulos sin actualizar – Fallas en Asterisk o inicio de algun modulo – Acividades pendientes de registro – Etc… © 2015 Sangoma Technologies 18
  • 19. Algunos ajustes iniciales • System Admin © 2015 Sangoma Technologies 19
  • 20. Algunos Ajustes Iniciales • Activacion © 2015 Sangoma Technologies 20
  • 21. The FreePBX Distro Commercial Modules • Purchase Commercial Add on modules to expand and enhance your FreePBX System. • We will spend a small amount of time talking about this in more detail later on in the class and in the Sales and Marketing and Reseller Section. • Helps fund the project and allows us to keep the lights on. • Don’t worry we are not here to pitch you for 3 days on buying modules or anything else. © 2015 Sangoma Technologies 21
  • 22. The FreePBX Distro Support • Purchase Support Contracts from the FreePBX Project with SLA contracts. • Purchase Hourly Support credits • You can view support options at http://www.freepbx.org/support-and-professional-services • Like commercial modules this helps fund the project and allows us to keep the lights on. © 2015 Sangoma Technologies 22
  • 23. The FreePBX Distro Upgrades • FreePBX GUI updates can never touch anything at the operating system level such as kernel, Asterisk or any of the other 500 packages used to make up your phone system. • To update the Distro we publish upgrade scripts for each track version of the Distro. We create a new track for each OS or FreePBX GUI major release and inside a track will have multiple versions. For more information on Versions and Tracks view our wiki at http://wiki.freepbx.org/display/FD/Updating+FreePBX+Official+Distro • Our current tracks are; – 6.12.65 which is EL 6.5 and FreePBX 12- STABLE – 5.211.65 which is EL 6.5 and FreePBX 2.11- EOL • For the class we are using the Stable track of 6.12.65. © 2015 Sangoma Technologies 23
  • 24. The FreePBX Distro Upgrades • To view which track your system is on you can go into the sysadmin module • You can also view the version from the Linux CLI with the following command. © 2015 Sangoma Technologies 24
  • 25. The FreePBX Distro Upgrades • Upgrades can be done 3 different ways. – You can find which version you are on and download each upgrade script based on the wiki for your version. Then run each script in order to get to the version you want. http://wiki.freepbx.org/display/FD/Updating+FreePBX+Official+Distro – You can execute the following script from the linux CLI and it will update you to the latest version in your track for you. Please note this will only work if you have registered your PBX with our License Server which we will do in a few moment. © 2015 Sangoma Technologies 25
  • 26. The FreePBX Distro Upgrades – If you have the Commercial Sysadmin Pro you can pick which version your want to upgrade to and also set automated schedules on how often to look for new upgrades and install them automatically for you. © 2015 Sangoma Technologies 26
  • 27. Initial Setup of FreePBX System • OBE • Register Deployment • Install SSH Client • Update Distro • Sysadmin Module – Set Time Zone. – Set harddrive failure/fillup notification – Intrussion Detection Settings – Add Email and Setup whitelist for the whole subnet of 192.168.101.0/24 • Initialize several Advanced Settings © 2015 Sangoma Technologies 27
  • 28. Initial Setup of FreePBX OBE (Out of Box Experience) • This is our initial screen after first install. The purpose of this is to allow you to setup your GUI username and password for FreePBX. Instead of having a standard predefined username and password we make you set one. • The main purpose for this is so there are not default usernames and password floating around the web that hackers can use to try and hack into your system since we know most users never change these as history shows. © 2015 Sangoma Technologies 28
  • 29. Initial Setup of FreePBX Portal and Registering your Deployment • You should already have a Portal Account and be able to login. • A portal account is required: – If you ever want to engage FreePBX Professional Support and Services – To license free and paid commercial modules – To order any other services or products from FreePBX • Since we will be using different commercial module, you will register today's deployment. © 2015 Sangoma Technologies 29 https://schmoozecom.com/oss-registration.php?view=register
  • 30. Initial Setup of FreePBX • We will now walk through how to Register your PBX to a deployment. There are 3 ways of doing this. 1. One is to login to the portal.schmoozecom.com and create a deployment. You would then paste the deployment ID into the System Admin module under License to link this PBX with the Deployment Number. 2. The other option is to go into the System Admin module and under license have the system reach into our portal.schmoozecom.com for you and auto create a deployment and link this PBX to that Deployment Number it created. 3. A new option is when purchasing a module within module admin - a deployment ID will automatically be created and assigned at checkout out • We will use option 2 as we are using a Discount code to get a bunch of modules for use in the class. © 2015 Sangoma Technologies 30
  • 31. Initial Setup of FreePBX Advanced Settings, Default Menu Items, etc. • /etc/freepbx.conf – Minimal configuration: Database Credentials and bootstrap path • Advanced Setting – Everything Else © 2015 Sangoma Technologies 31
  • 32. Initial Setup of FreePBX (Advanced Settings) • Many Purposes – Change defaults for page configurations – Expose hidden menu items – Enable advanced/less used features – Change file system configuration and related – Allow Branding/Styling Changes – Modify Asterisk Manager Credentials – Control logs and logging levels – Enable Developer Features – View some internal system settings • Read Only – Some settings are “read only” because of they are more ‘dangerous’ and should be changed with caution. – Display Read Only Settings will show these – Override Read Only Settings will allow changes © 2015 Sangoma Technologies 32
  • 33. Initial Setup of FreePBX (Advanced Settings - examples) © 2015 Sangoma Technologies 33
  • 34. Initial Setup of FreePBX (Registering your Deployment) • Log into the System Admin module and click on License – Would you like to register this deployment now. • click Yes – Do you have a Deployment ID that is not tied to another Hardware System. This would be no since we did not create a Deployment in the portal for this system ahead of time • click No © 2015 Sangoma Technologies 34
  • 35. Initial Setup of FreePBX (Registering your Deployment) – Do you have a Portal account. • Click Yes as you already have an account on the portal.schmoozecom.com site for the FreePBX Store/Portal. • Put in your email address that is used with the portal and click the Register button. – Location Name- Here you define a friendly name for this PBX that is easy for you to identify this location or PBX. We will use OTTS Lab as our location name. © 2015 Sangoma Technologies 35 – Click Register when done. – Your PBX has now been registered with the License Server and a Deployment ID has been created. You can now obtain commercial modules for this system which we will be doing in a bit..
  • 36. Initial Setup of FreePBX ssh install • Windows systems should download Putty if not already installed: – You can download it from: http://downloads.freepbxdistro.org/OTTS/ – Put it on your desktop or somewhere convenient, we will be using it a lot during the next 3 days • For Mac: – Applications -> Utilities -> Terminal (put it in your menu bar, you will need it a lot) © 2015 Sangoma Technologies 36
  • 37. Initial Setup of FreePBX • Type in the username of root and press enter • Type your root password of freepbx and press enter. © 2015 Sangoma Technologies 37
  • 38. Initial Setup of FreePBX Distro Releases and Upgrades • We will use the simple script option that we discussed earlier to make sure our systems are upgraded to the latest version of the Distro • You can also change the Asterisk version at anytime by using the built in asterisk version switch script: asterisk-version- switch. For the Class we will be using Asterisk 11. PLEASE DO NOT CHANGE IT. © 2015 Sangoma Technologies 38
  • 39. Initial Setup of FreePBX Setup System Admin module • Setup the following options in the System Admin module in the FreePBX GUI. – Timezone Change – Set harddrive failure/fill-up notification – Intrusion Detection Settings – Add email and setup whitelist for the whole subnet of 192.168.101.0/24 (or whatever your local subnet will be) © 2015 Sangoma Technologies 39
  • 40. Initial Setup of FreePBX Advanced Settings Setup some settings under the Advanced Settings module in FreePBX GUI – Developer and Customization: – System Setup – Expose all Device Setting when adding extension – Send P Asserted Identity and manage NAT © 2015 Sangoma Technologies 40
  • 41. Initial Setup of FreePBX Overview - Lab • Create 2 SIP Extensions • Download Xlite and Setup • Dial Echo Test • Purchase and Install OTTS Bundle of Commercial Modules. – Discount Code (Code TOBEDEFINED) • Setup Desk Phone with EPM • Dial between 2 Extensions © 2015 Sangoma Technologies 41
  • 42. Initial Setup of FreePBX LAB: Setup Extensions • Create 2 SIP Extensions – Create Ext Number • See your welcome sheet on what extensions to use. – Give a display name – Enable voicemail and set a voicemail password – Set any other options you would like to change or set • TIP- Notice the defaults on ext for things like sendrpid is the Passerted Identity since earlier in advanced setting we told FreePBX to default that to PAI. © 2015 Sangoma Technologies 42
  • 43. Initial Setup of FreePBX LAB: Setup X-Lite -Windows • Download Xlite if you do not have it already http://downloads.freepbxdistro.org/OTTS/ – Setup Xlite with one of the extension you created on your PBX. – Display name, User ID, Authorization name: • => your extension number – Password => your SIP Secret – Domain => PBX IP Address © 2015 Sangoma Technologies 43
  • 44. Initial Setup of FreePBX LAB: Setup X-Lite –MAC/OSX • Download Xlite if you do not have it already http://downloads.freepbxdistro.org/OTTS/ – Setup Xlite with one of the extension you created on your PBX. – Display name, User ID, Authorization name: • => your extension number – Password => your SIP Secret – Domain => PBX IP Address © 2015 Sangoma Technologies 44
  • 45. Initial Setup of FreePBX LAB: Simple Dialing • Verify calling ability and assure 2 way audio: – Dial your Echo Test feature code. • Hint: look at the feature code module to get the “echo test”feature code. – Setup your voicemail box. • Hint: look at the feature code module to get the “check voicemail” feature code. © 2015 Sangoma Technologies 45
  • 46. Initial Setup of FreePBX LAB: Obtaining Licenses • We will now login to the portal and purchase a few modules we need. – OTTS Bundle • Use Discount Code TOBEDEFINED which will allow you to get these modules for free. © 2015 Sangoma Technologies 46 • Appointment Reminder • Broadcast • Call Recoding Report • Caller ID Management • Class of Service • Conference Pro • Extension Routing • End Point Manager • Fax Pro • Outbound Call Limits • Park Pro • Pinset Pro • Q Xact Reports • Restful Phone Apps • System Admin Pro • UCP for EPM • VM Notify • Voicemail Reports • VQ Plus • Web Call Me • XMPP
  • 47. Initial Setup of FreePBX LAB: Obtaining Licenses • Login to http://portal.schmoozecom.com – Email Address= – Password= © 2015 Sangoma Technologies 47
  • 48. Initial Setup of FreePBX LAB: Obtaining Licenses • Click on the Store at the top. Then click on FreePBX Software • On the left side click on Software Bundles • Go find the following modules and Press the Add Icon to add the item to your Shopping Cart: – FreePBX-CM-OTTS Bundle © 2015 Sangoma Technologies 48
  • 49. Initial Setup of FreePBX LAB: Obtaining Licenses • Press the Checkout Button on the right side once you have the bundle • Pick the deployment number from the drop down next bundle item. This should be the deployment number that was generated earlier today. Use the Discount code of OTTS2015 to purchase the products with no need for payment and press the REDEEM button © 2015 Sangoma Technologies 49
  • 50. Initial Setup of FreePBX LAB: Obtaining Licenses • To finish the checkout process Pick Check as your payment type and Agree to the Terms and Conditions and press the “Process Order” button © 2015 Sangoma Technologies 50
  • 51. Initial Setup of FreePBX LAB: Obtaining Licenses • Go back into the System Admin module under license and press the Update License button. You should now see a license and expiration date for your new modules. © 2015 Sangoma Technologies 51
  • 52. Initial Setup of FreePBX LAB: Using EPM • We are now going to go into EPM module to setup our Desk Phone. – EPM is a Commercial module used to setup and manage phone configs for over 20 manufactures and supports over 250 devices • We are going to just go over the basics here as a interactive lab and get your Desk Phone setup. • Navigate to your End Point Manager module under Settings section © 2015 Sangoma Technologies 52
  • 53. Initial Setup of FreePBX LAB: Using EPM • Click on Global Settings at the top. – Here we need to define some global settings. – Define the IP address of your PBX under the Internal IP section and press the submit button when done. • Take note of the HTTP provision port defined here as we will need it later when we tell the phone how to reach the server for config files. • Press the Submit button when done © 2015 Sangoma Technologies 53
  • 54. Initial Setup of FreePBX LAB: Using EPM © 2015 Sangoma Technologies 54 • Click on the firmware management tab on the right hand side and then click on Brand of Phones you are going to use • Drag the latest firmware to slot 1 and press submit – wait a minute or two and refresh the page to make sure its been downloaded as shown.
  • 55. Initial Setup of FreePBX LAB: Using EPM • Select the Phone Brand to create a template © 2015 Sangoma Technologies 55
  • 56. Initial Setup of FreePBX LAB: Using EPM • Fill in the following fields for our new template – Template Name- Friendly name for this template – Destination Address- Pick Internal which will pull the IP Address we defined earlier in Global Settings or you can just type in any IP or FQDN – Time Zone Settings – Provision Server Address should be the same IP as the Destination Address above – Provision Server Protocol should be HTTP. – Firmware Version should be slot 1 • Save Template when done © 2015 Sangoma Technologies 56
  • 57. Initial Setup of FreePBX LAB: Using EPM • We are now going to setup some buttons on our phone (using SNOM 870) by checking the S-870 phone. • For Line Key 1 we are going to set it up as out ext – Type-Line – Account-Account1 • For button 2 lets setup a BLF to monitor our X-lite phone. – Type- BLF – Label- Name of softphone – Value- Extension number we want to monitor which is the soft phone. – Account-Account1 • Press the Save Model button © 2015 Sangoma Technologies 57
  • 58. Initial Setup of FreePBX LAB: Using EPM • Lastly we need to map our Desk Phone to a extension on our system and what template we want it to use. Under Extension Mapping section of EPM we will do the following setup. – Extension- What extension on the system we want to map – Brand- What phone brand will this extension be using – Template- What template would we like to build the phone config off of. – MAC Address- MAC Address of this phone – Model- What model number is this phone. • Press the Save button at the bottom of the page and EPM will write out the configuration files for this device. © 2015 Sangoma Technologies 58
  • 59. Initial Setup of FreePBX LAB: Using EPM • Now we just need to point our Desk Phone to the PBX IP address and HTTP or FTP/TFTP port that is shown in the Global Settings, making sure the phone supports such protocol for provisioning. • Press the Settings button • At this point you should program your phone for provisioning and test!!! © 2015 Sangoma Technologies 59
  • 60. Initial trunking to PSTN Overview Initial Trunk and PSTN Setup • Setup a SIP trunk with SIPStation • Configure Inbound route for your assigned DID • Create a simple 10 digit Outbound Route – Test calls between your classmates – Test calls from your cell phones – Test calls to your cell phones © 2015 Sangoma Technologies 60
  • 61. Initial trunking to PSTN Sip Trunk Setup Go to https://sipstation.schmoozecom.com/ • Login with your same username and password you used for the portal earlier to buy your commercial modules. © 2015 Sangoma Technologies 61
  • 62. Initial trunking to PSTN Sip Trunk Setup • SIPStation allows you to create more then 1 location under the same account. Make sure you are using the location at the top of OTTS LAB. As this location was added to your account to allow you to buy the trunks and DIDs we need free of charge for the class. © 2015 Sangoma Technologies 62
  • 63. Initial trunking to PSTN Sip Trunk Setup • Add 2 call trunks to your account. Each trunk purchased allows 1 inbound or outbound call with unlimited normal business usage calling • Pick a DID for your account • Click the Checkout Button. Your shopping cart should show 2 Trunks and the DID. © 2015 Sangoma Technologies 63
  • 64. Initial trunking to PSTN Sip Trunk Setup • Agree to the terms and pick the Confirm Order & Charge my Card button. – No Credit Card is needed since we marked your account as free for the class. © 2015 Sangoma Technologies 64
  • 65. Initial trunking to PSTN Sip Trunk Setup • Now we can go get our key code for easy setup in FreePBX. Click on My Account tab at the top. • Provide a valid e911 address. • Enable SMS and T38 Faxing for a future lab exercise © 2015 Sangoma Technologies 65
  • 66. Initial trunking to PSTN Sip Trunk Setup • Copy the FreePBX Module keycode into your clipboard. © 2015 Sangoma Technologies 66
  • 67. Initial trunking to PSTN Sip Trunk Setup • Go back to your PBX and open up the SIPStation module under Connectivity tab and paste in the keycode and press Add Key © 2015 Sangoma Technologies 67
  • 68. Initial trunking to PSTN Sip Trunk Setup • This will pull in all of our information from SIPStation and present to us our DIDs and let us setup routing of this DID. Lets route this DID to our main extension. – Give the Route a Description Name such as Main DID – Optionally set the failover number. In the event we can not reach your PBX when someone calls this DID we will failover to the number provided here such as your Cell Phone. This can also be managed from inside the SIPStation Store. – Pick your main phone extension on where to route calls on this DID to. – Press Update DID Configuration when done. • Now Press the Apply Config button to write out all your changes. © 2015 Sangoma Technologies 68
  • 69. Initial trunking to PSTN Sip Trunk Setup • Our trunks should now show Green and Registered in the module after we refresh the page. © 2015 Sangoma Technologies 69
  • 70. Initial trunking to PSTN Sip Trunk Setup • So why use the SIPStation module. – What this just did was setup 2 trunks to our trunk1 and trunk2 for redundancy in FreePBX. – Setup your DID as a inbound route in FreePBX. – Setup outbound routes for calling outbound in FreePBX. • All this was done from the SIPStation module without you having to go into 4 modules and waste 20 mins to create all this like every other provider. © 2015 Sangoma Technologies 70
  • 71. Initial trunking to PSTN Recap © 2015 Sangoma Technologies 71
  • 72. Initial trunking to PSTN Recap • From within the SIPStation module in FreePBX you can do some basic account management such as – Setup Failover Number. • This can be a global failover that anytime we can not reach your PBX with a call we will forward to this Phone Number or IP Address. • You can also set a per DID failover. If set we will use the DID failover instead of the Global Failover number. – Manager e911 • Manage your Default e911 address and what DID it is associated with. • Setup additional DIDs with their own e911 addresses. A per month charge does apply for this. • We can also see a few basic items like – Are our trunks Registered. – Do we have International Calling enabled – Have we enabled outbound T38 Faxing – Have we enabled SMS inbound and outbound faxing on our account. • ! Lastly you can manage your full account as if you were logged into our website all from the SIPStation module without ever leaving our PBX. © 2015 Sangoma Technologies 72
  • 73. Initial trunking to PSTN Recap • We have now created a SIP trunk to a provider • We have configured a simple inbound route to one extension • We have configured a simple 10 digit outbound route to the PSTN • We should be able to make calls between ourselves and to the real PSTN • FreePBX allows easy setup of SIP, IAX or DAHDI trunks. – SIP- Open Standard for VOIP trunking that most providers use – IAX- Open Standard developed by Digium and is a Asterisk only trunking protocol • Inter-Asterisk eXchange – DAHDI- This is the open source software driver that allows you to connect asterisk to the standard PSTN of Analog, T1 such as PRI or E1 and BRI’s • Digium Asterisk Hardware Device Interface © 2015 Sangoma Technologies 73
  • 74. Initial trunking to PSTN Inbound Routes Other options Inbound Routes – Other Options • Alert Info and CID name prefix • Privacy Manager • CID Lookup Sources • Channel Language • Call Recording • Fax Detection and Routing – What to do IF a Fax signal is detected © 2015 Sangoma Technologies 74
  • 75. Initial trunking to PSTN Call Routing So far we’ve got • Extensions/Mailboxes • Inbound Routes FreePBX call flow: • Building blocks need to be created • Call flow construction then needs to be constructed working “backwards” Next Pieces: • Call Distribution – Ring Groups – Queues • IVR © 2015 Sangoma Technologies 75 Company DID 8004522233 75 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 76. Initial trunking to PSTN Call Routing Working Backwards © 2015 Sangoma Technologies 76 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 77. Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes © 2015 Sangoma Technologies 77 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 78. Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes • Recordings • Announcements © 2015 Sangoma Technologies 78 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 79. Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes • Recordings • Announcements • Ringgroups, Queues, Destinations © 2015 Sangoma Technologies 79 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 80. Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes • Recordings • Announcements • Ringgroups, Queues, Destinations • IVRs © 2015 Sangoma Technologies 80 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 81. Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes • Recordings • Announcements • Ringgroups, Queues, Destinations • IVRs • Time Conditions © 2015 Sangoma Technologies 81 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 82. Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes • Recordings • Announcements • Ringgroups, Queues, Destinations • IVRs • Time Conditions • Call Flow Controls © 2015 Sangoma Technologies 82 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 83. Company DID 8004522233 Initial trunking to PSTN Call Routing Working Backwards • Extensions/Mailboxes • Recordings • Announcements • Ringgroups, Queues, Destinations • IVRs • Time Conditions • Call Flow Controls • Inbound Routes • Analog Channel DID © 2015 Sangoma Technologies 83 IVR 1-Sales 2-Support 3-Directions Call Flow Control Sales Ringing Support Queue Support Manager Sales Manager After Hr Msg John’s VM
  • 84. Initial trunking to PSTN Call Routing Working Backwards • Just Got Easier! – Requires >= 2.11 • Destination popOvers: – Destination Modal Box – One “generation” deep – Supports Most Destinations © 2015 Sangoma Technologies 84
  • 85. Distributed Calling Overview Distributed Calling • Finding someone to answer the phone – Distributed Calling: when FreePBX sends calls to multiple extensions or otherwise seeks to find someone to answer the phone • Most commonly achieved with: – Ring Groups (more people to answer than callers coming in) – Queues (ACD) (more callers coming in than people to answer) • Advanced Call routing and escalation rules © 2015 Sangoma Technologies 85
  • 86. Distributed Calling ACD/Ring Groups © 2015 Sangoma Technologies 86 Ring Groups: Each Agent will receive all 3 calls at the same time Queue If Line Busy Will try next agent If Line Busy Will try next agent Agent 1 Agent 2 Agent 3 Agent 2 Agent 3Agent 1 A A A A B C Calls B and C remain on Queue until A is assigned Queues No Autofill Ring Groups
  • 87. Distributed Calling ACD/Ring Groups • Queues, autofill (default 1.4+) – Each call distributed to an available agent, any additional calls queued © 2015 Sangoma Technologies 87 Caller A Caller B Caller C Agent 1 Agent 2
  • 88. Distributed Calling Lab: Ring Group Setup • Create a Ring Group – Add both of your extensions – Add your Cell Phone or Office Number – Hard Set a Caller ID to be used when calling external numbers – Set Failover Destination to be a voicemail box © 2015 Sangoma Technologies 88
  • 89. Distributed Calling Lab: Queue Setup • Create a Queue – Add 1 extension as dynamic and 1 as static • Log in Dynamic member – Hint look in feature codes module for how to do this • Set Failover Destination to be a voicemail box • Call into the queue. © 2015 Sangoma Technologies 89
  • 90. Distributed Calling Lab: Extra Credit!! • Create a special voicemail greeting to be used by the queue and ring group when going to your voicemail box as the failover destination. This greeting should only be used by the queue and ring group and your normal greeting played for all other callers. GO FOR IT!!!!! © 2015 Sangoma Technologies 90
  • 91. IVR & Misc Applications Overview • Discussion IVR • Discussion System Recordings • Discussion on Call Flow Toggle • Setup a System Recording for your IVR • Setup IVR • Setup a Misc App to IVR • Setup Call Flow Toggle © 2015 Sangoma Technologies 91
  • 92. IVR & Misc Applications IVR Discussion • IVRs (Auto Attendants) are used to route calls to different areas of your PBX by giving the caller options. – Simple Example: • “Press 1 for sales, 2 to reach an operator” • It’s typically bad practice to provide more than 3-4 IVR options at one level of an IVR. • If you have more options, “nest” the IVRs: – “For sales press 1, for support press 2, for the operator press 3, to hear our hours of operations, fax number, or directions to our store press 4. Option 4 would route to another IVR. – When nesting, always provide option to “Return” back up – Always set a “timeout destination” where calls will go if the user doesn’t choose an option. – Always set an “invalid destination” if a caller presses an invalid option too many time. – Set the loop count to allow multiple attempts before being directed to the “timeout” or “invalid” destinations. © 2015 Sangoma Technologies 92
  • 93. IVR & Misc Applications System Recording Discussion System Recordings – a digression • Before getting started, we need to make sure we can make recordings for our next few labs • System Recordings allow you to create greetings/recordings from any phone on the PBX or upload audio files. • The recordings can then be used in other modules such as the Queue or IVR Greeting to guide callers through your system. • These recordings are used throughout the system. • To make it easy to re-record a specific recording, enable a feature code that can be dialed from any phone and it will walk you through how to re-record that recording. Nice way of changing these without going into the GUI. © 2015 Sangoma Technologies 93
  • 94. IVR & Misc Applications Call Flow Toggle Discussion • A Call Flow Toggle is simply a on and off light switch or diversion. – Route a Call through the Call Flow Toggle – Pick a ON and OFF destination. In Call Flow we call them Normal and Override. • When in Override mode if a BLF button is set to monitor the Call Flow it will turn on or red. • Used to divert calls by a manual process only. • Usually used where you will never have a automated schedule were a Time Condition would work better. We will talk about Time Conditions later on. © 2015 Sangoma Technologies 94
  • 95. IVR & Misc Applications Lab: System Recordings Setup • On the initial screen of the System Recordings module you can either: – pick an extension to use to dial into the recording system to make your recording. We will be using this option today. – upload a pre-recorded file in the proper format © 2015 Sangoma Technologies 95
  • 96. IVR & Misc Applications Lab: System Recordings Setup • Type in your Extension Number of your phone and press the Go button • It will now instruct you to dial *77 to record your greeting and will walk you though the review process. Now dial the *77 and create a simple recording that we will change later after the IVR is setup. Say something like “thanks for calling.” • When done give the recording a name. Make sure not to put in any spaced in the name or it will complain. Press Save when done. © 2015 Sangoma Technologies 96
  • 97. IVR & Misc Applications Lab: System Recordings Setup • On the right side we should see a list of recordings that have been made. Click on the recording you just created. • Enable the Feature Code option. This will allow you to record your message with the designated feature code (*293 here). • When we create an IVR later we will use this code to re-record a proper message inline with the IVR you will be creating. © 2015 Sangoma Technologies 97
  • 98. IVR & Misc Applications Lab: IVR Setup • Create an IVR with the following Options: – Add announcement you just created. – Ring Group – Queue – Remote Voicemail Access – TimeOut Destination – Invalid Destination • Dial the feature code for your announcement you created earlier and re- record it with the options above. – When doing your recording for the IVR don't announce what to press to check voicemail as this would be a hidden option for your users to check their voicemail while out of the office. Make it a hard option that someone wont dial by accident like 6712 © 2015 Sangoma Technologies 98
  • 99. IVR & Misc Applications Lab: IVR Setup • Create a Misc App to call your IVR from any internal phone – Great way to test your IVR without calling in from a trunk • Point your inbound route for your DID to your IVR now and call from the outside world. © 2015 Sangoma Technologies 99
  • 100. IVR & Misc Applications Lab: Call Flow Toggle • Create a call flow toggle between your IVR and a general Voicemail Box. • Point your DID to this Toggle so the call can flow through it. • Call your DID and it should ring your IVR. • Dial your Toggle. Default feature code is *28 plus the index so our example would be *280. • Call your DID and it should ring to your Override Destination in our example this is a Voicemail Box. • Setup a BLF button on your phone to be the feature code. Our example this is *280. (Hint go into EPM and update the template then reboot the phone so it will get a new config) © 2015 Sangoma Technologies 100
  • 101. Outbound Call Flow Discussion Outbound Call Flow • Configure Routes and Trunks – Setup EMERGENCY Route • Make sure it is first! – Add 7 digit dialing to our Local Route but have it auto add the area code of your DID since that is your local area code – Setup 11 Digit route for Long Distance Calls – Setup a 411 Route for Information – Set up Extension CID to be 414-888-8888 and Extension Emergency CID to be your DID number – Test Outbound Calls • Review and discussion – what did we just do? – Route and Trunk Call Flow • Route Dial Patterns • Trunk Number Manipulation Rules – Outbound CallerID Choice © 2015 Sangoma Technologies 101
  • 102. Outbound Call Flow Discussion The order of the Routes on the right side is important to determine the outcome of what route will be used. When you make a outbound call it starts with the top rule and works down until it finds the first match. Once a match is found it does not continue on looking for a “better” match. This means if you have a route called Long Distance that has 1NXXNXXXXXX and you also have a route of Toll Free which has 18XXNXXXXXX you need to have the Toll Free route above the Long Distance Route or the Long Distance route will match when dialing a 1800XXXXXXX number and a call will never use the Toll Free route. © 2015 Sangoma Technologies 102
  • 103. Outbound Call Flow Routes, Trunks, Dial Patterns Outbound Route Patterns • Pattern Chooses the route • Route Choice is “final” – Subsequent routes that also match the number will never be tried • Pattern can remove leading digits or add new ones – Common example, emulate old style PBX – 9|1NXXNXXXXXX © 2015 Sangoma Technologies 103 Tip: Always make your first route your Emergency Route to handle E911 and other related calls. This assures that numbers matching your emergency patterns will ALWAYS go down the Emergency Route. Route 1 (Emergency) Route 2 Strip Disgits if configured Bad Number Context Next trunk Next trunk Normal Congestion or Optional Destination Route 3 Match? Busy, Answer, No Answer Busy, Answer, No Answer Congested, Channel Unavailable Congested, Channel Unavailable Match? Match?
  • 104. Outbound Call Flow Lab: Emergency Route CallerID & E911 • Setup Emergency CIDs based on physical device location • Use Emergency Routes – Put Emergency Route first – They will use Emergency CID over all others • Check with your telco if you have unusual circumstances – remote extensions – emergency CID not part of your DID blocks – other © 2015 Sangoma Technologies 104 Extension or Device Route with Digitally Enabled Trunks Always verify that your trunks can transmit your required CIDS if it is part of an E911 configuration
  • 105. Outbound Call Flow Lab: Emergency Route EMERGENCY • Make sure it is FIRST • Make sure “Route Type” Emergency is checked • Drag and Drop it above the Local route created earlier • MAKE SURE FOR LAB TO USE 933 not 911 © 2015 Sangoma Technologies 105
  • 106. Outbound Call Flow Lab: Local Route © 2015 Sangoma Technologies 106 Local
  • 107. Outbound Call Flow Lab: Long Distance Route © 2015 Sangoma Technologies 107 Long Distance
  • 108. Outbound Call Flow Lab: Information Route © 2015 Sangoma Technologies 108 Information
  • 109. Outbound Call Flow Lab: Extra Credit!! Extra Credit • Create a Route for Toll Free calls. • Modify your information Route so that when some one dial 411 it actually dials a free 411 Information Server like 1800-FREE411 • Modify Long Distance route so only your Desk Phone can dial it but your softphone can not. – Hint try using the CallerID field in the dial patterns section of outbound routes. © 2015 Sangoma Technologies 109
  • 110. Outbound Call Flow Routes, Trunks, Dial Patterns Route Patterns + Trunk Rules – putting it together • Example: Lazy Dial an International Number • (07031) 278325 Exten 222 dials: 0 7031 278325 ext 222 Sent to Trunks: +49 7031 278325 Sent to this trunk: 011 7031 278325 © 2015 Sangoma Technologies 110
  • 111. Outbound Call Flow Routes, Trunks, Dial Patterns Route Patterns + Trunk Rules • Which do I use? • Trunk Rules: – Usually trunk specific • Carrier requires specific format • Carrier doesn’t accept 10 digit local calls • Route Patterns: – Applying a consistent dialplan • Standardize area code for 7 digit dialing • CallerID specific rules • Route patterns generate much more efficient dialplan than trunk rules © 2015 Sangoma Technologies 111 CallerID Handling == confusing • Follow-Me and RingGroups Can manipulate CallerID • Outbound Routes Can Add CallerID • Trunks Have more options to control CallerID
  • 112. Outbound Call Flow CallerID when you make a call CallerID Hierarchy – Not an exact science! • Emergency CallerID Overrides All – If the call is going down an Emergency CID Route, including Trunks set to force their CallerID always. • Extension CallerID – If the route or trunk followed isn’t configured to explicitly override this • Route CallerID – If the trunk followed isn’t configured to explicitly override this • Trunk CallerID – If the trunk followed isn’t configured to explicitly override this – If you have a carrier that rejects calls with CNAM, you can choose to remove all CNAMs on the trunk here, but still use the above CallerIDs • Always set a trunk CallerID on a digital trunk – The above hierarchy means it will only be used if no other CallerID is provided, unless you force otherwise on the trunk – Not sending a proper CallerID can result in rejected calls by many carriers, the trunk CallerID makes sure you send something. © 2015 Sangoma Technologies 112
  • 113. Outbound Call Flow CallerID when you “forward” a call Call Forwarding, Follow-Me, Ring Groups (how their CallerID is handled) • Follow-Me or Ring Groups – Leave the original CallerID as it was (same as Call Forward) – Set a “fixed” CallerID (for all calls, or just outside calls) – Set it to the inbound DID that was dialed (from outside calls only) • Route CallerID – NEVER APPLIES for Follow Me, Call Forward or Ring Groups • Trunk CallerID – Will normally pass the original CallerID, or in the above cases, the modified CallerID if present. – Exceptions: • Block Foreign CallerID: will block all but the “fixed” CallerIDs you can set above. Will allow the “DID” replacements from above if they were set to be forced. • Force Trunk CallerID: will always use the Trunk’s CallerID, period. • If no CallerID is present, the Trunk CallerID will be used. © 2015 Sangoma Technologies 113
  • 114. Outbound Call Flow CallerID Examples © 2015 Sangoma Technologies 114 Extension 4002 Extension CallerID settings Outbound Route CallerID settings Trunk CallerID settings In this example the final Caller ID that is used is the Extensions Caller ID 9208868132 since the outbound route was set to not override Extension and the Trunk is set to Allow ANY CID Extension 4002 Extension CallerID settings Outbound Route CallerID settings Trunk CallerID settings In this example the final Caller ID that is used is the Extensions Caller ID 9208868132 since the outbound route was set to not override Extension even though it had a Caller ID set and the Trunk is set to Allow ANY CID
  • 115. Outbound Call Flow CallerID Examples © 2015 Sangoma Technologies 115 Extension 4002 Extension CallerID settings Outbound Route CallerID settings Trunk CallerID settings In this example the final Caller ID that is used is the Route Caller ID 9208868130 since the outbound route was set to override Extension and the Trunk is set to Allow ANY CID Extension 4002 Extension CallerID settings Outbound Route CallerID settings Trunk CallerID settings In this example the Caller ID that is used is the Trunk Caller ID 4256540156 even though the outbound route was set to override Extension but since the Trunk is that last item to control Caller ID and it was set to Force Trunk it wins out.
  • 116. Outbound Call Flow CallerID Examples & Tips TIPS: • Caller ID Name Displayed on Phones • If using a phone that supports rpid such as the Digium and Aastra phones you will notice when you make a external call the Caller ID number that was used on the call you placed will be displayed as the “CID Name” portion of the CID field on the phone since the Name Field is not used for outbound calling otherwise. • This is handy way to know what Caller ID was used when making any call. • This can be turned off in advanced settings module. © 2015 Sangoma Technologies 116 Extension 4002 Extension CallerID settings Outbound Route CallerID settings Trunk CallerID settings In this example the final Caller ID that is used is the Trunk Caller ID 4256540156 since the Extension and Outbound Route had no Caller ID set and the Trunk is set to 4256540156.
  • 117. Follow Me Overview Extension and Follow Me configurations: • Extensions can optionally have a Follow Me – Not all Extensions have to have a Follow Me – Advanced settings allow for a Follow Me to be automatically created when an extension is created, or you can manually create if not enabled. • Follow Me enable/disable – When a Follow Me is configured, it can be enabled or disabled – Each Follow Me has a BLF generated to see the enabled/disabled state and toggle the state: *21XXXX where XXXX is the extension number • Follow Me REST App can also be used to enable/disable a Follow Me and control many other features, as can UCP. © 2015 Sangoma Technologies 117
  • 118. Follow Me Overview Extension and Follow Me configurations: • Call routing with Follow Me: – When a Follow Me is enabled, all calls to that extension will go to the Follow Me, as well as all call flows that send a call to that extension as a destination. • Except as members of Ring Groups or Queues depending on your Ring Group and Queue Settings – When a Follow Me is disabled, the calls will only go to the extension. – Follow Me can not be chosen as a module destination, EXCEPT: • VmX Locater can choose its own ‘disabled’ Follow Me • An Extension destination can choose its own ‘disabled’ Follow Me © 2015 Sangoma Technologies 118
  • 119. Follow Me Overview Extension Destinations: • Provide more control on how to handle unanswered calls: • Can control behavior for: – UNAVAILABLE – BUSY – UNREACHABLE (CHANUNAVAIL, e.g. phone is offline) • Options: – Voicemail if available – Any standard destination (including other extension’s voicemail) – This extension’s Follow-Me (even if disabled) © 2015 Sangoma Technologies 119
  • 120. Follow Me Lab: Softphone Follow-Me when offline Softphone Follow-Me • Configure for ringallv2 • Disable – ONLY use if Softphone is offline • Add your cell phone and desk phone extensions • Make sure to use confirmation • Send calls to voicemail of your desk phone to have a unified voicemail box. © 2015 Sangoma Technologies 120
  • 121. Follow Me Lab: Softphone Follow-Me when offline Go to extension page for your soft phone. • Go to Optional Destinations • Not Reachable: – Force Follow Me • Try the CID prefix • Now disable the softphone and test a call © 2015 Sangoma Technologies 121
  • 122. VmX Locater Overview VmX Locater (Voicemail Extension) • Provides a ‘personal IVR’ • Uses the Voicemail Greetings • Provides 3 configurable options • Option 0: Can use default ‘0 out’ operator configuration of FreePBX or override with a specific internal or external number. • Option 1: Can force a call to Follow-Me which is otherwise currently disabled, or can send a call to a specific internal or external number. • Option 2: Can send a call to an internal or external number. • VmX can be engaged for an unanswered call, busy call, or both. If not enabled for one mode, then the call will go straight to voicemail in that mode. © 2015 Sangoma Technologies 122
  • 123. VmX Locater Overview Change Hardphone Voicemail: • Unavailable Greeting – “I am not currently available, you can leave me a message or if it’s urgent you can press 1 and the system will try to find me” • Busy Greeting – “Unfortunately I am not currently reachable, please leave me a message and I will get back to you as soon as I receive it” • Now when a caller calls: – If you are on the phone and don’t answer the second call, they will get your busy message and the only option will be to leave voicemail. – If you are not on a call and the phone is not answered, they will get your unavailable greeting. They will be given the option to leave a message, or to have the system find you, which will then engage your Follow-Me. • You can also have option 2 with a phone or internal number as an option • You can override option 0 from the normal system default – If Follow-Me fails to find you, they will be directed to your Busy Voicemail message and since VmX was disabled for Busy, they will not be able to continue engaging your voicemail and will only be left with the option of leaving voicemail. © 2015 Sangoma Technologies 123
  • 124. VmX Locater Lab: Hardphone VmX plus Follow Me • Go to the Extension page in FreePBX for your desk phone and configure your VMX Locator • Enable VmX Locater • Set Option 1 to go to your Follow Me • Configure a BLF for your follow me through EPM and reboot your phone. – BLF is: *21XXXX (XXXX == your extension) © 2015 Sangoma Technologies 124
  • 125. VmX Locater Lab: Hardphone VmX plus Follow Me Hardphone Follow-Me • Configure for ringallv2-prim – Initial ring of about one ring • Disable initially – but use with VmX • Add your softphone and cell phone • Make sure to use confirmation • Choose Hardphone BUSY voicemail © 2015 Sangoma Technologies 125
  • 126. Follow Me Advanced Ring Strategy for Follow Me © 2015 Sangoma Technologies 126 Is Primary Ext Occupied? Yes Ring Primary Only for Ring Time Answer NoAnswer To Destination, if No Answer Continue call flow as specified in module config Follow Me / Ring Groups -prim mode Ring Strategy
  • 127. Follow Me Advanced Ring Strategy for Follow Me © 2015 Sangoma Technologies 127127 Is Primary Ext Occupied? Ring Strategy Include Primary Answer Follow Me / Ring Groups -prim mode Ring Strategy Go Through Ring STrategy No Someone Answers To Destination, if No Answer Continue call flow as specified in module config
  • 128. Follow Me Advanced Ring Strategy for Follow Me © 2015 Sangoma Technologies 128128 Is Primary Ext Occupied? Yes Ring Primary Only for Ring Time Answer Follow Me / Ring Groups -prim mode Ring Strategy Go Through Ring STrategy No Someone Answers To Destination, if No Answer Continue call flow as specified in module config No Answer
  • 129. Intra Office Trunking Overview Overview • Setup Interoffice Trunk – We will do this in multiple Configurations • When Static IP addresses are available at all branches • When a branch has a Dynamic IP addresses • Setup Interoffice Route © 2015 Sangoma Technologies 129
  • 130. Intra Office Trunking Lab: Setup Static Trunk © 2015 Sangoma Technologies 130
  • 131. Intra Office Trunking Lab: Setup Static Trunk & check IAX status © 2015 Sangoma Technologies 131 Outgoing Settings: Trunk Name: TO-TONY PEER Details: username=philippe type=friend trunk=yes secret=notsecure qualify=yes insecure=port,invite host=192.168.1.186 context=from-internal auth=md5 requirecalltoken=no
  • 132. Intra Office Trunking Lab: Setup Test Route • Setup Route to capture 4 digit dialing • Setup Route for remote Echo Test – In this example, “943” is the remote echo test – We could have configured 9*43 but some phones may not be setup to transmit that sequence, so we show an example of the use of prepending and prefixes to transmit *43 to the remote PBX when 943 is dialed. • Now Try dialing the remote extension © 2015 Sangoma Technologies 132
  • 133. Intra Office Trunking Discussion-Pitfalls and Next Steps • At this point you can – Echo test to each system – Dial each systems extension • Pitfalls – If you mis-dial, you have a potential infinite loop – Ways to Address this: • Max Channels on the trunks • More restrictive pattern matching then XXXX • More restrictive pattern matching with the CallerID field • Next Step – One or both PBX’s do not have a Static IP – Use registration to the one that is Static • If both are dynamic, choose the more “stable” of the two, make it the static side, and use a FQDN coupled with a Dynamic DNS Update service – Next Example, PHILIPPE becomes the Dynamic PBX © 2015 Sangoma Technologies 133
  • 134. Intra Office Trunking LAB: Change to Dynamic Trunks © 2015 Sangoma Technologies 134
  • 135. Intra Office Trunking LAB: Accesing DID’s • We can now call internal extensions, next step DIDs • Modify your routing and setup patterns to dial the remote DID though the new trunk – Add the DID of your parner to your Route Dial Patterns – Change the order so the Intra-Company Trunk is used first © 2015 Sangoma Technologies 135
  • 136. Intra Office Trunking LAB: Accesing DID’s • Now try dialing – ss-noservice … – We have NOT exposed our EXTERNAL facing numbers to this route since we are configured with from-internal. – We could change to from-pstn but then our internal dialing ability will break. (Try It) • Configuring to access both – Create from-branches in /etc/asterisk/extensions_custom.conf from the CLI using your SSH Client such as putty – Change the trunk to use the new context © 2015 Sangoma Technologies 136
  • 137. Intra Office Trunking Understanding from-branches Example Dialpla Context Organization Dialplan is split up into two main sections • from-pstn “WAN” Side of a firewall • from-internal “LAN” Side of a firewall • Inbound Routes – Similar to “IP port mapping” in a firewall – Exposes Internally protected dialplan to the “WAN” – ext-did Where FreePBX puts the inbound routes © 2015 Sangoma Technologies 137 “WAN ” / “LAN” Contexts in FreePBX Calls from the “outside” • [from-pstn] • include => from-pstn-custom • include => ext-did • include => ext-did-catchall Calls from the “inside” (simplified) • [from-internal] • include => from-internal-additional-custom • include => app-xyz ;lots of them • include => ext-group • include => ext-findmefollow • include => ext-local • include => outbound-allroutes Outbound Routes • [outbound-allroutes] • include => outbound-allroutes-custom • include => outrt-001-Emergency • include => outrt-002-dundi • include => outrt-003-Local • include => outrt-004-LongDistance • include => outrt-005-International
  • 138. Intra Office Trunking Codecs Codecs • Linear Codecs – ulaw (g.711u) – alaw (g.711a) – slin • Compressed Free – gsm – g726 – adpcm – lpc10 – speex – ilbc • Compress Licensed – g729 – g723 MOS (Mean Opinion Score) • Compressed codecs degrade quickly with delay/packet loss © 2015 Sangoma Technologies 138 Tip: Use “allow=none” followed by “allow=codec1&codec2” to restrict a trunk or phone to specific codecs.
  • 139. Class of Service Overview • Overview Discussion • Lab’s – Create a new No Emergency Outbound Route – Setup Class of Service to restrict emergency route from soft phones. © 2015 Sangoma Technologies 139
  • 140. Class of Service Overview • The Class of Service Administration module provides granular control at the extension level to access and set permissions of specific calling features of your PBX. These features include Outbound Routes, Feature Codes, Ring Groups, Queues, Conference Rooms, Voicemail Blast Groups and Paging. • The Class of Service module for FreePBX allows you to restrict extensions from dialing most destinations of your PBX. © 2015 Sangoma Technologies 140
  • 141. Class of Service Overview • Outbound Routes • Feature Codes • Ring Groups • Queues • Conferences • Page Groups • Voicemail Blast © 2015 Sangoma Technologies 141
  • 142. Class of Service LAB: No E911 Route Create Outbound Route to BLOCK callers from calling 933 • Route will go to an informative announcement • Route should be positioned so human error will not easily allow normal phones to use this route • Steps: – Create recording (try a built-in recording) – Duplicate and rename Emergency Route – Remove the trunk – Reposition the route to be AFTER the real Emergency route – Add a destination to play recording and pick your system recording – Create Class of Service to restrict normal emergency route for Soft Phones – Save and test © 2015 Sangoma Technologies 142
  • 143. Class of Service LAB: No E911 Route Create the recording: • Admin -> System Recordings • Choose option for Built-in Recordings and pick an example: • Create your recording and save © 2015 Sangoma Technologies 143
  • 144. Class of Service LAB: No E911 Route Create the announcement: • Go to the Announcement module and create a new announcement • Pick the system recording you just created. • Set the destination to be Terminate Call> Hangup © 2015 Sangoma Technologies 144
  • 145. Class of Service LAB: No E911 Route Create No-E911 Route: • Go to Emergency Route and Duplicate it • Rename it to No-E911 • Remove the trunk • Change the Normal Congestion destination to Announcement and pick your Announcement we just created © 2015 Sangoma Technologies 145
  • 146. Class of Service LAB: No E911 Route • Submit it, then submit your new route and move it after the Emergency • route: • Note: The placement of the second route was important. It will never be used if an extension has access to the real Emergency Route. As a result, it is much more likely to accidentally allow a soft phone to use the real emergency route then it is to configure an internal extension that is blocked from it since you have to explicitly disable the extension from the Emergency route when you create a new extension. The default for new extensions is to have access to all routes. © 2015 Sangoma Technologies 146
  • 147. Class of Service LAB: Class of Service Apply restrictions for the soft phone now. • Go to the Class of Service module under admin and create a new Class of Service called No 911 • Add the softphone as a member • Click on Routes and move the normal Emergency Route to the Deny list. Press save when done and apply config. © 2015 Sangoma Technologies 147
  • 148. Class of Service LAB: Class of Service Remember now that we have a single COS setup for the Softphone anytime we add a new destination like Ring Groups, Queues or anything else the Softphone will not be able to dial those new destinations until you modify COS to add the items. © 2015 Sangoma Technologies 148
  • 149. Paging & Paging Pro Overview • Overview Paging • Overview of Paging Pro • Setup Page Group • Setup our 911 route to page our desk phone. © 2015 Sangoma Technologies 149
  • 150. Paging & Paging Pro Overview Paging • Paging module allows you to setup a group of phones and when you dial the group number all the phones will auto answer on speaker phone and the pager can start talking. • Only works on phones that support auto answer SIP signaling. Most soft phones do not support this. • Can pick if the phones being paged are on another call what to do; – Skip- Don’t page the busy phone – Force- Force the page as a new call to the phone – Whisper- Barge in on the call and whisper to the phone the page. The active caller will not hear the page as the whisper is to the phone only. © 2015 Sangoma Technologies 150
  • 151. Paging & Paging Pro Overview Paging • By default the extensions in the page group can hear the page but can not talk back to the person making the page. • If you enable the Duplex mode all phones that are paged will also not be muted so everyone in the page group can talk at the same time to everyone else like a conference call. • If Duplex is disabled any user who is paged can press *1 to unmute themselves and start talking into the page group. Pressing *1 again will re-mute them. © 2015 Sangoma Technologies 151
  • 152. Paging & Paging Pro Overview Paging Pro • Outbound Notifications - Enables the ability to notify a group of phone(s) when a user dials a specific number, ie: 911. Any page group can be linked in the outbound routes module. When a call is placed a page will go out to the page group notifying the page group of what number was dialed and what user dialed the number. Any user of the page group can dial *1 to barge into the call and speak. • Prepend Recording - You can now have the page group weather normal or valet style play a recorded message to all participants of the page group before the pager can start speaking. © 2015 Sangoma Technologies 152
  • 153. Paging & Paging Pro Overview Paging Pro • Valet Style Paging (Airport Style) - You can now choose to have your pages recorded and when you hang up have it send the audio file to all the devices that are part of the page group. This setting is done on a per page group. You can also tell the system to only use Valet if someone dials the page group and it is in use already. – Do Nothing- If page group is busy play busy tone. – Valet- If page group is in use and you dial the page group it will have you record your page and when the other page group is done it will play the page to all the phones. – Force Valet- Make all pages be valet all the time. © 2015 Sangoma Technologies 153
  • 154. Paging & Paging Pro Overview Paging Pro • Scheduled Pages - Define custom schedules to have the system page a group of devices and play a recording. This is a great replacement for school bell systems or lunch break buzzers. © 2015 Sangoma Technologies 154
  • 155. Paging LAB: Page Group • Create a new Page group. – Extension Number- Something in your range assigned to you – Name- Page All – Drag your Desk Phone into the Selected box – Try the different busy phone options. © 2015 Sangoma Technologies 155
  • 156. Paging Pro LAB: Page Group • PAGING PRO FEATURES – Set busy option to be Force Valet and make a page. – Record a system recording and have that played to the page group before your page is played. • Try this in both Force Valet and Do Nothing options – Play with setting up a scheduled page. • You can add more then 1 page schedule to a page group © 2015 Sangoma Technologies 156
  • 157. Paging Pro LAB: Outbound Notifications • Create A NEW Page Group for outbound notification – Provide a extension number – Name- 911 Page – Add your Desk Phone to the group by dragging it to the Select side – Submit your changes © 2015 Sangoma Technologies 157
  • 158. Paging Pro LAB: Outbound Notifications • Go to your emergency route and under notification pick your new page group you just created. • Submit your changes and apply config. • Dial 911 from your softphone and your desk phone should auto answer and barge you in on the call after playing info to you. You can press *1 to un-mute your deskphone and start talking to both parties. © 2015 Sangoma Technologies 158
  • 159. Company Directory Overview • Overview • Setup a Directory • Add option to IVR for Directory • Lock IVR down for Direct Dial to the Directory Entries only © 2015 Sangoma Technologies 159
  • 160. Company Directory Overview • Company Directory is a list of extensions that a caller can enter the person’s first or last name into the keypad of their phone to be connected to the extension. • It is usually used as an IVR option. • Starting in 2.8 you can now add custom entries into the Directory like remote extensions from another system or even a Ring Group or Queue. • You can also add entries for outside sales people with no extension that dials their cell phone direct. • We can use a directory as a “map” to determine what “direct dial” extensions can be called from a given IVR and where they will be routed. • You can create as many Directories as you want for specific departments or companies. © 2015 Sangoma Technologies 160
  • 161. Company Directory LAB: Creating a Company Directory • Lets go to the Directory Module in FreePBX and click Add New Directory © 2015 Sangoma Technologies 161
  • 162. Company Directory LAB: Creating a Company Directory • General Settings – Give the Directory a name like “All Users” – Add a description to you remember what the directory is for – Optionally set a CID Prepend that way when a call is sent to your extensions the Caller ID will be prepended with DIR so you know the call came from the Directory © 2015 Sangoma Technologies 162
  • 163. Company Directory LAB: Creating a Company Directory • Directory Options – We need to set an Invalid Destination. This is where calls will be routed to if they hit the “Invalid Retries” threshold. In our example this is 2 times. • This means the caller can try and find a match 2 times and if no match is found they are sent to the invalid destination as defined below. – You can also change the default announcement that is played to the caller to something like “thanks for calling FreePBX. Please start entering your parties first or last name on your keypad.” – “Return to IVR”, if enabled, will ignore the “Invalid Destination” configured if the call came from an IVR and route the caller back to the IVR they came from instead. – “Announce Extension”, if enabled, will announce the extension number of the party just prior to sending the call to them. © 2015 Sangoma Technologies 163
  • 164. Company Directory LAB: Creating a Company Directory • We will now add actual entries to the Directory by pressing the green button at the bottom of the page. Our options are: – Picking an individual extension from the system to add to the directory – Choosing all users to add to the Directory – Adding a Custom Entry such as a Outside Phone Number, Ring Group or Queue or anything else that has a number associated to it that the system can dial © 2015 Sangoma Technologies 164
  • 165. Company Directory LAB: Creating a Company Directory • Add the Following to your Directory – All of your extensions – Your partner’s extensions – Your cell phone © 2015 Sangoma Technologies 165
  • 166. Company Directory LAB: Creating a Company Directory • Go to your IVR created earlier and add an option for your newly created Directory • Lock the IVR Direct Dial by using this Directory as a “map” to restrict only those extensions as available for Direct Dial. – Now a caller can direct dial those extensions but not others that may be present on the system © 2015 Sangoma Technologies 166
  • 167. Company Directory LAB: Creating a Company Directory Extra Credit!!! • Make your Custom entries play the person’s name instead of Text To Speech or Spelling the Name since Custom Extensions don’t have a voicemail name to play like local extensions • Override your Xlite extension so it dials your main Desk Phone if a caller chooses your Xlite. This is great in a CEO/Assistance relationship where the CEO’s name is in the directory but when they enter the CEO it rings their assistant’s phone instead of theirs. – Notice that the number is no longer grey-ed out. This is because this extension is no longer linked to the user. – By default, a local user that has not had the entry modified in the module will be updated with any changes made in the extension page automatically. Once it has been modified though it will no longer track what is there. © 2015 Sangoma Technologies 167
  • 168. Time Conditions Overview • Overview • Setup Time Group M-F 8-5 and Sat 9-4 • Setup Time Conditions – Day-Ring Group – Night-Night IVR • Setup Feature Code for Override • Dial Feature Code for overrides to test the override • Point your DID to your new Time Condition • Extra Credit © 2015 Sangoma Technologies 168
  • 169. Time Conditions Call Routing with Time Conditions Time Conditions, Time Groups and Overrides • Time Conditions + Time Groups == Flexible & Simpler Call Flows – Time Groups: define your open hours – Time Condition: define your destinations for open and closed • Each Time Condition will have a Override Feature Code – BLF hint generated, shows current open/closed state – Feature Code allows current state to be toggled – Normal flow automatically resumes in the subsequent time transition. • Example, close early by pressing the BLF: • BLF lights up, flow changes to ‘closed’ • At ‘5:00PM’ back to normal mode (BLF still lit since it’s now the normal ‘closed’ time. • Next morning, normal flow resumes at 8:00am, BLF turns off • Sticky Mode accessible through GUI only and now the RestApps – Force ‘open’ or ‘closed’ – no auto-reset © 2015 Sangoma Technologies 169
  • 170. Time Conditions LAB: Call Routing with Time Conditions • Create Time Group – Monday-Friday 8:00AM – 5:00PM – Saturday 9:00AM – 2:00PM © 2015 Sangoma Technologies 170
  • 171. Time Conditions LAB: Call Routing with Time Conditions • Create Time Condition choosing the above Time Group – Destination if time matches (‘open’) goes to Ring Group – All other times go to non-matching (‘closed’) goes to IVR © 2015 Sangoma Technologies 171
  • 172. Time Conditions LAB: Call Routing with Time Conditions • Once you have created your Time Condition you can now come back and edit it. – You will see the feature code override. In our example it assigned *271. This can also be programmed as a BLF button on your phone. • You can change the default assigned code if desired from feature code admin module. – You can optionally force the override from the GUI dropdown. • Now modify Inbound Route to point from IVR to this Time Condition © 2015 Sangoma Technologies 172
  • 173. Time Conditions LAB: Extra Credit!!! Extra Credit • Brain Teaser: – Add Thanksgiving Day into your Closed Hours • Adjust the frequency that the background polling occurs to keep the time conditions up to date – Try turning it off and changing your times to confirm that it still self adjusts even when off. © 2015 Sangoma Technologies 173
  • 174. Asterisk BLF and Hints Asterisk “state” Information Understanding the relationships • Understand some of the tools – FreePBX GUI – CLI commands • Relationship with BLF keys • Extension State (“hint”) Examples – in FreePBX – user created © 2015 Sangoma Technologies 174
  • 175. Asterisk BLF and Hints Device states • There are 3 “types” of devices/device states – Channel states • SIP/7134, SIP/PSTN, DAHDI/12, IAX2/tony, … – Asterisk Generated “device states” • Meetme:8000, park:72, ccss:SIP/7134, … – FreePBX/custom user “device states” • Created using DEVICE_STATE() – Custom:DND7134 – Custom:DEVDND7134 – Custom:FOLLOWME7134 – Custom:DEVCF7134 • Device states are internal to Asterisk – They are “Atomic” – They can not be viewed directly © 2015 Sangoma Technologies 175
  • 176. Asterisk BLF and Hints Extension states (hints) “hints” • An externally viewable “state” • Made up of one or more device states • Must be defined in dialplan • FreePBX examples: The green numbers are the actual hints you would subscribe your phones BLF to monitor. © 2015 Sangoma Technologies 176
  • 177. Asterisk BLF and Hints FreePBX generate hints • FreePBX generates hints for the most commons feature codes • The following example shows a limited number of these hints © 2015 Sangoma Technologies 177
  • 178. Asterisk BLF and Hints LAB: Subscriptions (BLF) • Subscriptions – Once a hint is created you can view it from the CLI – Phones and other Endpoints can Subscribe (with BLFs) – CLI> core show hints • You can see how many “watchers” have subscribed – CLI> sip show subscriptions • You can see the specific subscriptions © 2015 Sangoma Technologies 178
  • 179. Queues in Depth and Oddities Overview • Discussion – The $$$$$ question. What is the behavior of penalties and why do most people not use them. • Edit queue with both dynamic and static agents. • Create BLF button to log in and out of queues. • Create BLF button to pause/unpause agents. • Play with Queue Agents rest apps • Play with ring strategies and penalties. • Create a Virtual Queue to change some settings. © 2015 Sangoma Technologies 179
  • 180. Queues in Depth and Oddities Discussion • Static agents • Dynamic Agents • Penalties • Agent Restrictions • External Agents (note no # at end) • Login methods • Virtual Queues © 2015 Sangoma Technologies 180
  • 181. Queues in Depth and Oddities Agents • Static Agents (queue members) – A static agent is an agent that can not log out of a queue • They can be paused/unpaused with feature codes, auto-pause or third party Apps such Rest Apps. – The agent can be set with a penalty • Dynamic Agents – Dynamic agents can log in and out of queues at any time • Can also be paused as with static agents above. – Auto generated BLF enabled login/out codes • See feature codes panel for base code or look at dialplan generation CAUTION: • It’s possible to have the same agent configured as static and logged in as dynamic with some third party apps. This can cause problematic behavior and should be avoided. © 2015 Sangoma Technologies 181
  • 182. Queues in Depth and Oddities Agent Penalties Agent Penalties • Allows you to group skill sets of agents. Penalties start at 0 and go up, typical range may be 0-100. The default and base penalty value is 0. • When the Queue calls agents it starts with agents of penalty 0 and progresses up from their by default. • If you set a Ring Strategy of Ring All and have agents 101,0 102,0 103,4 and 109,99. – The desired outcome would be to try agents 101 and 102 first. If unanswered call agent 103 next and finally call agent 109 if 103 fails to answer. – Is that correct though???? © 2015 Sangoma Technologies 182
  • 183. Queues in Depth and Oddities Penalties Penalties • That would seem logical but that is not what always happens. If it calls agents 101 and 102 and both agents are logged in and available it will keep calling them and never progress. – An agent is considered available if they are not on the phone and are not in a paused state. – In order to progress to the next penalty, all agents at that level have to be unavailable, busy or paused so the queue doesn’t attempt to ring them, not answering does not make them unavailable. (See auto-pause if you want the system to automatically pause them if not answering) – Remember to log them out or pause them if the above described behavior is intended. © 2015 Sangoma Technologies 183
  • 184. Queues in Depth and Oddities Debugging • Debugging – From the Asterisk CLI do • Queue show 4501 which is our queue number – We can see a list of all agents logged in. – We can see which agents are dynamic – See the penalty of each agent – See if they are on a call. In Use or Not in use • Enable DND and check your status – List of callers waiting in queue – Basic stats of the queue at the top © 2015 Sangoma Technologies 184
  • 185. Queues in Depth and Oddities Agent Restrictions Agent Restrictions • Called As Dialed – This will call the extension of the agent and honor all settings of this extension including Follow Me and Call Forward settings. – This can be dangerous resulting in calls being answered by a follow-me’s voicemail box destination or other unexpected outcomes. – This mode will not check to make sure the agent logged in is a valid extension of the system. • No Follow Me or Call Forwarding – This will dial the extension but not honor any Call Forwarding settings or Follow Me. – Note: this only works for Server side Call Forwarding so phones like Polycoms that do device side Call Forwarding will have no effect on this. • Extensions Only – This is the same as No Follow Me or Call Forwarding but will do validation checks and not send a call to any agent that is not a valid extension number. © 2015 Sangoma Technologies 185
  • 186. Queues in Depth and Oddities Allowing Follow Me or Call Forward to agents • Allowing Follow Me or Call Forward to agents. • Enable the Call Confirm option This will force the queue to play a message to the agent it is calling if the agent is dialed through an external phone number. It will play the message you select and tell them to press 1 to take the call. This avoids issues such as a cell phone voicemail answering the queue call. – In your Queue Enable the Call Confirm Option – Pick a recording to play to the caller. Usually something that tells them this is a call from the sales queue press 1 to answer it. – Hint: if an agent is configured through their follow-me AND has call confirm enabled, the Queue’s message will override the Follow-Me’s message having the benefit of the agent knowing the call is a queue call vs. a personal call. © 2015 Sangoma Technologies 186
  • 187. Queues in Depth and Oddities Login Options • Feature Code *45 – If dialed with no queue number at the end it will toggle your login state to either logged in or logged out for all queues that agent is configured in the GUI as a dynamic agent. – If you dial this as *45 + queue number, e.g. *455001 this will toggle your login state for queue 5001 only. – BLF hints per agent per queue and for all queues) • *45*4002 (BLF lit if agent 4002 is logged in any queue they are a member) • *454002*5001 (BLF lit if agent 4002 is logged in queue 5001) • Logging in/out through the CLI, example extension 4002 queue 5001 – queue add member Local/4002@from-queue/n to 5001 penalty 0 as “John Doe” state_interface hint:4002@ext-local – queue remove member Local/4002@from-queue/n from 5001 © 2015 Sangoma Technologies 187
  • 188. Queues in Depth and Oddities Pause Options • Queue Pause and Auto Pause – Agents can be paused, remaining in their Queue(s) but unavailable to take calls – Agents can be auto-paused if they don’t answer a Queue call from the specific Queue or all Queues they are logged into. • Feature Code *46 – Un-pause you in all queues you are a listed as a member (static or dynamic) if you are paused in any queue, otherwise pause you in all queues agent is listed as a member of. – If you dial this as *46 + queue number, e.g. *465001 this will toggle your paused state for queue 5001 only. – BLF hints (requires FreePBX Distro or patch) per agent per queue and for all queues) • *46*4002 (BLF lit if agent 4002 is paused in any queue they are a member) • *46*4002*5001 (BLF lit if agent 4002 is paused in queue 5001) • Pausing through the CLI – queue {pause|unpause} member Local/4002@from-queue/n – queue {pause}unpause} member Local/4002@from-queue/n queue 5001 © 2015 Sangoma Technologies 188
  • 189. Queues in Depth and Oddities Login/Pause Hints • BLF Hint Key – You can do a core show hints to see a hint code for each user with each queue. You can than program a BLF key to each of those codes to log in and out of individual queues or pause agents. • Asterisk CLI – core show hints • Create a BLF for one of them like *454002*4501 – *45 is the feature code to toggle login – 4002 is your extension/agent number – 4501 is your queue number. • Do the same for pausing (*46), slight format change: – *46*4002*4501 © 2015 Sangoma Technologies 189
  • 190. Queues in Depth and Oddities VQ Plus • Build Dynamic Queue Penalty Rules that change the longer a caller waits in a queue. – Example: Set a queue to only try agents with a penalty of 0-3 for the first 30 seconds, then only try agents with a penalty of 2-5 for the next minute • Virtual Queues to manage queue behavior and expand and customize caller destinations for callers routed through the virtual queues • Expanded Queue Destination Controls. The standard queue only allows you to send unanswered calls to a single destination regardless of why the call was not answered. VQ Plus gives you the ability to control destinations for additional reasons. – Queue Fail Over on FULL Destination – Queue Fail Over on JOINEMPTY Destination – Queue Fail Over on LEAVEEMPTY Destination – Queue Fail Over on JOINUNAVAIL Destination – Queue Fail Over on LEAVEUNAVAIL Destination © 2015 Sangoma Technologies 190
  • 191. Queues in Depth and Oddities VQ Plus • Post Hangup Destinations VQ Plus adds the ability to route both the agent and callers to any destination on hangup of a queue call. – Example: Route the inbound callers to a survey system automatically when the agent hangs up the call, or send the agents to a similar destination when the caller hangs up the call. © 2015 Sangoma Technologies 191
  • 192. Queues in Depth and Oddities Queue Priority • By default anytime a caller enters a queue the caller has a priority of 0. With VQ Plus you can change this caller priority before they enter the queue to a different number much like agent penalties except a caller with a higher number will get routed to a agent before a caller with a lower priority number in the same queue. – Example: we may setup a virtual queue for VIP customers that set the Queue Priority for any caller to be 100. It then sends the call to our normal support queue but with the priority of 100 so they will automatically be moved above any callers with a lower priority and their call will be answered first. © 2015 Sangoma Technologies 192
  • 193. Queues in Depth and Oddities VQ Plus • Create Virtual Queues. A virtual queue allows you to change the settings of a queue before you route the call to your queue. – Announcements- Played to the Agent informing them the caller is a VIP customer. • Record the announcement in system recordings. – Wait Time- Increase their wait time to be longer. – Minimum and Maximum Agent Penalties- We will set the minimum agent penalty to be 1 and the max to be 100. This way the caller will not be routed to any of our tier 0 agents since they are VIP we want them going to better qualified agents. – Queue Priority- Set them to be 100 so the caller will be moved to the top of the queue. – CID Prefixes- Set the Caller ID prefix to be VIP so the agents will see VIP on their Caller ID when a call from this virtual queue is routed to them. – Destination- Pick our normal queue as the queue to send the caller to. They will be sent to the queue will all the above information set. © 2015 Sangoma Technologies 193
  • 194. Queues in Depth and Oddities LAB!! Lets now go setup some of the things we just talked about. • Edit a Queue with both dynamic and static agents – Soft Phone should be static agent with a penalty of 1 – Desk phone should be dynamic agent with a penalty of 0 – Call your DID and from IVR pick your queue option. – Watch it call your Desk phone over and over and never call your Soft Phone. © 2015 Sangoma Technologies 194
  • 195. Queues in Depth and Oddities LAB!! • Create BLF button to log in and out of the Queue – *45*EXT as BLF. Replace EXT withy your extension numbers. • Create BLF button to pause/unpause a member – *46*EXT as BLF. Replace EXT withy your extension numbers. • Go to EPM and add the 2 BLFs above and reboot your phone • Pause your Desk Phone by pressing the pause button. – Inside asterisk CLI do the following command but replace 4501 with your queue number. Verify it shows your extension as paused. • Queue show 4501 • Call back in your DID and now you will see your soft phone will ring because we made the Desk Phone be Not Available. © 2015 Sangoma Technologies 195
  • 196. Queues in Depth and Oddities LAB!! • Setup a virtual queue. Go to Applications>Virtual Queues – Name- VIP Customers – CID Name Prefix- VIP- – Queue Priority- This will put the caller into the queue at a higher position. We will set position 100 so they will be ahead of all other callers that have a lower priority. Standard calls come in with a priority of 0. Not to be confused with Agent Penalties. • Change the min and max agent penalty to be 1 and 1. That way our • VIP customer does not have to deal with tier 0 support. © 2015 Sangoma Technologies 196
  • 197. Queues in Depth and Oddities LAB!! • Route the virtual queue to your main queue. • Point a option in your IVR to go to the new virtual queue. Option 20. Then you can give out the secret code of 20 to your VIP customers that they can dial when they get your IVR. © 2015 Sangoma Technologies 197
  • 198. Call Park Call Parking Call Parking • Pick the Parking Lot Extension that you send calls to. Default 70 • Pick where the actual holding Lots start at. Default is 71 • Pick the number of slots to enable. In our example we have 8 set so they would be 71 thru 79 • Parking Timeout- This is the number of seconds the caller will be parked before going to the timeout destination defined later. © 2015 Sangoma Technologies 198
  • 199. Call Park Call Parking Call Parking • CallerID Prepend- If a Parked Call is not picked up it will go to the destination defined below. When this happens you can prepend the Caller ID with anything you want. • Auto CallerID Prepend- Here you can pick some options to have auto prepended such as the slot number the caller was parked at. © 2015 Sangoma Technologies 199
  • 200. Call Park Call Parking Call Parking • Come Back to Origin- If a parked call is not retrieved by someone and the timeout is met as defined above do we want to send the Caller back to the extension that parked the caller. Yes or No. • Destination- If Come Back to Origin is set to No above then this is the destination we will send timed out callers. Or if set to yes above but we are not able to send the caller back to the extension such as the extension is now offline this is the destination that will be used. © 2015 Sangoma Technologies 200
  • 201. Call Park Call Parking Call Parking Buttons • Setup a BLF keys to view parked calls and retrieve them. For our example we will setup 2. – 71 – 72 • Go into EPM and modify your template and reboot your phone © 2015 Sangoma Technologies 201
  • 202. Call Park Call Parking Call Parking • In our example we will park callers by transferring them to “70” • The caller will be put on hold and the slot number that the caller was transferred to will be played back to you. • In our example since no other caller is currently parked we would expect to hear back slot 71 since that is our first starting slot number. – We can now dial 71 to pickup the parked call. – You can also setup a BLF to Monitor each slot number such as 71, 72 and anytime a caller is in the slot the BLF light will show in use and you can press the BLF button to retrieve the parked caller. © 2015 Sangoma Technologies 202
  • 203. Call Park LAB Lab • Point your inbound DID to your softphone • Call your DID from your cell phone and answer the call • Park the call from your softphone (##70) • Your slot 71 BLF should turn red • Pickup the call by pressing the BLF – Note the Caller ID is the cell phone’s number, this is because the PAI configuration and not all phones will do this • You can also use the Parking REST App to pickup calls and view all the currently parked calls with a single button. You still need a separate parking button to park a call even with the REST App. © 2015 Sangoma Technologies 203
  • 204. Call Pickup Direct Call Pickup Directed Call Pickup • Allows anyone to answer a specific ringing phone • Can be integrated with “smart” BLF phone keys – When a phone is ringing and you have a BLF setup to it the BLF should blink. Pressing the BLF on your phone should execute a Directed Call Pickup and let you answer that call. • Remote directed call pickup – Because directed call pickup is an application in Asterisk dialplan, it is possible to configure directed call pickup to a remote PBX through your intra-company route – Extra Credit: Setup Remote Directed Call Pickup © 2015 Sangoma Technologies 204
  • 205. Call Pickup Experiment features Directed Call Pickup • Default is **XXXX (XXXX == extension) • BLF buttons are often programmed to automatically implement a call pickup when pressed while the BLF is in the ringing state (fast blinking). – Note the “Reverse CID” behavior as with Parking – Note the difference between the Softphone which does not implement the Reverse CID and the Hardphone which does. • Try to configure your Intra-Company Trunk to pickup a ringing extension on the other PBX using ‘88’ as a prefix © 2015 Sangoma Technologies 205
  • 206. Intercom Discussion Intercom • Paging allows you to broadcast announcements to one or more devices simultaneously and we went through the paging module earlier. Intercom allows you to page a specific users • Intercom-ing is always to a User (not Device) • Always duplex • *80 is default feature code: – *80XXXX • Intercom must be enabled on the incoming extension and the phone must be capable of auto-answering a call just like with paging. By default all extension are enabled for intercom. – *54 – enable intercom – *55 – disable intercom © 2015 Sangoma Technologies 206
  • 207. Intercom Lab: Auto-Answer local and Intra-branch Intercom All Internal Extensions • Can be set per phone or overall • Requires Paging & Intercom module installed and operational • Set in Advanced Settings – Now you can disable in the extension and it will still auto- answer – The advanced setting overrides the per extension settings © 2015 Sangoma Technologies 207
  • 208. Intercom Lab: Auto-Answer local and Intra-branch Black and White listing Extensions • This applies to intercom also which is what the auto-answer uses • *557135 Disable extension 7135 from intercom to my extension. – Make it so your softphone is not allowed to intercom your desk phone. • Now trying calling, it will ring instead of auto-answer – Now cancel it with *557135 again, and it should auto-answer again. Replace 7135 with your softphone extension. • Disable intercom for everyone on this phone *55, and try calling again, it rings instead of auto-answer • Now whitelist just your softphone so it can intercom your desk phone but other phones would still not be able to *547135 and try calling. Replace 7135 with your softphone extension number. • Now cancel the whitelist *547135 and re-enable intercom to your desk phone for all device by dialing *54 © 2015 Sangoma Technologies 208
  • 209. Intercom Lab: Auto-Answer local and Intra-branch Modify our intra-company trunk • Dial prefix *80 for explicit intercom to remote extension. Now you can dial *80 and extension number on remote systems to intercom • Normal dial to always intercom remote extension – Add a *80 prepend to the 4 digit intra-company route – Intercoms the remote extension, their auto answer settings will not control the behavior © 2015 Sangoma Technologies 209
  • 210. NAT NAT and how to “trick” Asterisk Enabling Remote NATed Phones • How to overcome NAT with remote extensions Step 1 - Behave as if no Firewall/NAT – externip/externhost + localnet – port forward required ports Step 2 - Don’t believe phone’s RTP/SIP ports – nat=yes Step 3 - Keep SIP Port Open at Phone – Enable Keep-Alive or – Set Registration timeout 30-60 seconds © 2015 Sangoma Technologies 210
  • 211. NAT NAT and how to “trick” Asterisk Asterisk SIP Settings • Usually Static IP or Dynamic IP Router • SIP and RTP port forwarding © 2015 Sangoma Technologies 211
  • 212. NAT NAT and how to “trick” Asterisk Asterisk Extension/Device Settings • nat: Yes • Qualify=yes realities: – Although this can help, if the far side firewall pinhole closes up, this will no longer be affective. The Keep-Alive below is the RIGHT solution Phone • Keep-Alive • Short registration intervals if no Keep-Alive available © 2015 Sangoma Technologies 212 Not required if keep-alive option is available
  • 213. DISA DISA Overview • Get you PBX dialtone from outside world. – Call into DISA and get dialtone just like taking your desk phone receiver off the hook. – Dial Internal extensions or external numbers – Outside calls show as coming from your PBX. – Always set a password to protect your DISA. – When would we use DISA • Handy when you want to show a call from your PBX while traveling. • Make normally expensive calls from your cell out your PBX so the PBX is making the call not your Cell Phone such as calling international. © 2015 Sangoma Technologies 213
  • 214. DISA DISA Overview DISA © 2015 Sangoma Technologies 214
  • 215. DISA Lab: DISA Setup • Create a DISA with a Password. • Go add a new hidden option in your IVR for DISA. • Call into DISA from your Cell through your new IVR option and make calls to other extensions and outside numbers. • Press ** to hangup a call and be presented with new dialtone to start a new call. © 2015 Sangoma Technologies 215
  • 216. Call Recording Overview • Complete re-write in FreePBX 12 • Allows much more granular control over Call Recordings • Conflicts- Who Wins • Call Recordings can be set at the following levels – Inbound Route – Outbound Route (in 2.11+) – Extension – Ring Group – Conference Room – Queue – With the Call Recording Module anywhere in the Call Flow – On demand with feature code in most scenarios • How to view and listen to Call Recordings © 2015 Sangoma Technologies 216
  • 217. Call Recording Inbound Call Recording Hierarchy Inbound Routes • Inbound Routes have the highest level of priority for inbound calls. Options are: – Force- – Yes- – Don’t Care- – No- – Never- • 'Never' and 'Force' are overrides, and offer a higher priority than 'Yes' or 'No. Yes and No have an EQUAL priority, and will not change what is already set, however 'Never' and 'Force' will always override what is currently happening. • If we set a yes here and later on in our call flow such as in a queue or extension we set a no the yes will win since it was set first. • If we set a Force here and later in the call flow we set No the Force would win but if we set a Never later in the call flow the Never would win. © 2015 Sangoma Technologies 217
  • 218. Call Recording Inbound Call Recording Hierarchy Call Recording Call Flow instance The Call recording module allows you insert call recording control at arbitrary points in the call flow then continue on to any module. It functions exactly like the choice with Inbound Routes at the point it is called but it comes after. A Yes or No previously set on the call would beat a Yes or No here but a Force or Never here would override any Yes, No, Force or Never setting from any previous module. © 2015 Sangoma Technologies 218
  • 219. Call Recording Ring Groups, Queues and Conference Rooms Ring Group, Queues and Conference Rooms These modules also allow you to directly inside the module set your Call Recording options but they come after any Inbound Route so just like the Call Recording Module A Yes or No previously set on the call would beat a Yes or No here but a Force or Never here would override any Yes, No, Force or Never setting from any previous module. © 2015 Sangoma Technologies 219
  • 220. Call Recording Extension Rules Extensions Call recording rules can be applied to record calls between extensions and to and from extensions through trunks. Extensions are the last destination on a inbound call so they are the final stop. – Inbound External- A call that came from outside the PBX – Outbound External- A call made from an extension out through an Outbound Route – Inbound Internal- An inbound call made directly from another extension dialing direct, not through a Ring Group, Queue, etc. – Outbound Internal- An outbound call made directly to another extension dialing direct, not through a Ring Group, Queue, etc. • A Yes or No previously set on the call would beat a Yes or No here but a Force or Never here would override any Yes, No, Force or Never setting from any previous module. © 2015 Sangoma Technologies 220
  • 221. Call Recording Extension Rules • On Demand- Whether to allow this extension to use the feature code to start a recording on demand. – Enable – Disable – Override • When your call is in the status of 'Yes', 'No' or 'Don't Care', if the extension is enabled for On Demand, they can start and stop the recording by dialing the feature code. • If the call is in 'Never' or 'Force', users can not stop or start recordings, unless they have the 'Override' permission. © 2015 Sangoma Technologies 221
  • 222. Call Recording Extension Rules Extension Recording Conflicts When there is a conflict between two extensions calling each other as inbound calls, you must choose ‘who’ wins the decision whether or not to record the call. This is handled with the Record Priority Policy: • Record Priority Policy- The extension with the highest priority dictates the recording decision in a conflict. • Handling Ties- If the priorities are equal, then we default to the Call Recording Policy as specified in Advanced settings, allowing either the caller or callee to always win ties. © 2015 Sangoma Technologies 222
  • 223. Call Recording Outbound Call Recording Hierarchy • Outbound routes can force recordings in the same way previously discussed for inbound routes. • The extension is the only other place a outbound call can be told to start. If the Extension has set Yes or No it will beat the outbound route of Yes or No. • If the Extension has Force or Never set the Outbound Route setting a Force or Never will beat the extension since it comes after the Extension in the call flow. © 2015 Sangoma Technologies 223
  • 224. Call Recording Outbound Call Recording Hierarchy • All Call Recordings are saved in /var/spool/asterisk/monitor directory on your system. Although this can be changed in advanced settings, not all FreePBX recording features will continue to operate correctly. • The recordings are then stored each day in a different folder organized as: year/month/day. • There is a ‘loose’ naming convention for recorded calls that is based on how the call was initiated and contains initial information about the callers involved. The actual call file name is stored in the • CDR record. • An example queue call is: q-4600-6787890629-20130118-163430-1358534040.27732.wav This indicates Queue 4600 recorded the call from phone number 678-789-0629 on January 18 2013 at 16:34:30. The unique asterisk ID is 1358534040.27732 © 2015 Sangoma Technologies 224
  • 225. Call Recording How to View and Listen to Call Recordings • You can view all call recordings in the CDR Reports module. Any call that was recorded will have a download link in the column marked Recording. • If the call was recorded by an extension direct they can view the Call recordings in the UCP under Call History © 2015 Sangoma Technologies 225
  • 226. Call Recording How to View and Listen to Call Recordings • There is a commercial module called Call Recording Reports, that lets an administrator view and listen to all call recordings and setup auto archiving. This allows you to manage and archive older recordings © 2015 Sangoma Technologies 226
  • 227. Call Recording LAB: Call Recordings Create the following Call Recording rules 1. Record all queue calls 2. Record all Outbound Calls from your primary Extension only 3. Record all Emergency Calls 4. Go view your Call Recordings from the Call Recording Report module and setup Archive of Call Recordings © 2015 Sangoma Technologies 227
  • 228. Call Recording LAB: 1- Record all Queue Calls Record all Queue Calls • We must change this in the Queue directly. – As previously described, this can’t be done prior to the call flow, it must be done in the Queue module itself. • Set the Record Call option to “wav” © 2015 Sangoma Technologies 228
  • 229. Call Recording LAB: 2- Outbound Calls from Primary Extension Record all Outbound Calls from your Primary Extension only • Use the Extension Settings to control this since it is a per- extension configuration. • ! Now anytime we make a external outbound call from that extension the call will be recorded. © 2015 Sangoma Technologies 229
  • 230. Call Recording LAB: 3- record all Emegency Calls Record all Emergency Calls • This can be achieved by recording all calls on a given outbound route, in this case the Emergency Route. • This is another example of why you may want to have multiple routes that use identical trunks to another route. (e.g. record all International calls…) • Set the record option on the Emergency Route to be Record Immediately or Record on Answer © 2015 Sangoma Technologies 230
  • 231. Call Recording LAB: 4- View Call recording Reports • View Call Recording Reports under the Reports Section • From here you can see the Source, Date, Time and Duration of Recorded Call. You can also listen to and delete any call recording. © 2015 Sangoma Technologies 231
  • 232. Call Recording LAB: 4- Archive Call Recordings • Set Archive of Call recordings inside the Call Recordings Report module. • Set how long to hold Call Recordings in Months. For example if we set this to 3 months on the first of each month we will archive up all call recordings older then 3 months and send a email with a link to download the archive. All archives are saved for 1 month before the archived voicemails are deleted if you do not move them first. © 2015 Sangoma Technologies 232
  • 233. Conference Rooms Overview Conferences: • Asterisk Applications (controlled in Advanced Settings): – app_meetme – app_confbridge (This is the preferred application) • Can be optionally controlled by a PIN code – Conference Number: number to dial the conference bridge – Conference Name: friendly name – User PIN: Identifies a conference user – Admin PIN: Identifies the caller as an admin (Leader) and provides them will additional admin features when they dial “*” © 2015 Sangoma Technologies 233
  • 234. Conference Rooms Overview Options controlling overall configurations • Talker Optimization: Asterisk detects silent users and ‘mutes’ them, reducing mixing load and avoiding background noise, useful on large conferences • Talker Detection: Tells Asterisk to include manager events identifying the current talker. Needed by external applications that require talker identification or to see the talker in the CLI calls. • Music on Hold (and Class): Whether music should be played if waiting to join a conference and which music class to play. • Allow Menu: When yes, a menu of options will be presented to the user when they press “*” while in a conference. • Record Conference: Whether or not the conference should be reported. • Maximum Participants: Limit the number of conference users allowed into a conference © 2015 Sangoma Technologies 234
  • 235. Conference Rooms Overview Options effecting joining and leaving a conference • Join Message: Play a message to user before entering conference • Leader Wait: If yes, users who enter before the Leader (Admin User) will not be able to talk to each other, usually hearing music, until the Leader Joins. • Quite Mode: If yes, sounds will not be played when users enter and leave the conference • User Count: Announces the number of conference participants upon joining • User join/leave: Announces to everyone in the conference each time a user joins or leaves the conference • Mute on Join: Yes will mute each user when they join the conference. © 2015 Sangoma Technologies 235
  • 236. Conference Rooms LAB Create a conference room: • Require an Admin to join before others can hear • Enable Music while waiting to enter • Limit the attendees to 3 users • Add the ability to dial into the conference from the IVR by direct dialing an access code, but do this with the Directory Module • Point your Inbound route to the IVR • Now you should be able to call into the conference room, test to make sure that the user who calls in gets music until the Admin calls in, and test what happens when a 4th user tries to call into the conference. © 2015 Sangoma Technologies 236
  • 237. Parking Pro Overview • Add Multiple Parking Lots to FreePBX Park Pro adds the ability to add multiple parking lots within FreePBX, useful for companies running multiple locations off the same server, or companies that need multiple parking lots or have many internal departments. • Park & Announce Feature Automatically Announces Parked Calls to a Page Group. The Park and Announce feature of Parking Pro allows you to set up and define & automatically announce when a call is parked by paging a group of phones. Parked calls can be picked up by anyone on a system. As an option this module allows the caller to leave a brief message to be played during the page announcement. This can be useful for announcing the callers name or other information requested from your caller. Parked Calls will then be announced to the a paging group allowing anyone to pick-up the call at the announced extension. © 2015 Sangoma Technologies 237
  • 238. Parking Pro Discussion Park and Announce • Configure new parking lot • Create page group • Park and Announce module configuration • Setup destination on IVR to go to Park and Announce © 2015 Sangoma Technologies 238
  • 239. Parking Pro LAB: Configure New Parking Lot © 2015 Sangoma Technologies 239
  • 240. Parking Pro LAB: Configure New Parking Lot © 2015 Sangoma Technologies 240
  • 241. Parking Pro LAB: Configure New Page Group © 2015 Sangoma Technologies 241
  • 242. Parking Pro LAB: Configure Park and Announce © 2015 Sangoma Technologies 242
  • 243. Parking Pro LAB: Configure Park and Announce © 2015 Sangoma Technologies 243
  • 244. Caller ID Management Overview • The CallerID Management module allows you to change the outbound Caller ID on an extension basis by dialing a feature code that is setup to change the Caller ID inside the Caller ID Management module. © 2015 Sangoma Technologies 244
  • 245. Caller ID Management Features • Default is the Caller ID will only be used for that call. • If Persistence is checked it will change the extensions caller ID permanently until a new feature code is used or you change it in the extension GUI for that user. • Dynamic Caller ID allows you to use a * as the Caller ID Num and now when you use the feature code you would dial featurecode CallerID #NumbertoDial so it might look like *2399208869999#9209829999. – Feature Code of *239 – Caller ID to be used id 9208869999 – Number to call is 9209829999 © 2015 Sangoma Technologies 245
  • 246. Caller ID Management LAB • Configure caller ID management entry and place outbound call to your mobile device ( persistent unchecked ) • Make another call and the caller ID will return to your default Extension Caller ID • Change caller ID management by checking persistent – make outbound call to mobile and it should be your new Caller ID – Now log into the extension page in FreePBX for that device and the extension Caller ID field should be updated to show the new Caller ID • Setup a dynamic Caller ID and set your cell as the Caller ID. © 2015 Sangoma Technologies 246
  • 247. Fax Pro Overview • Faxing in FreePBX allows users to have inbound faxes sent to email. All fax settings for a user are in the extension module. – This will be moving in FreePBX 13 to be in User Management • Allow users to send Faxes from UCP • Allow users to view their received and sent faxes in UCP • Global Coversheet Template with End User Overrides © 2015 Sangoma Technologies 247
  • 248. Fax Pro Lab Global Settings • Set some global settings – Fax Header- The name of the Fax machine that is printed at the top of all outgoing faxes – Local Station Identifier- The Fax Number that is printed at the top of all outgoing faxes – Outgoing Email- What emails address inbound faxes should appear to be sending from. • Fax Transport Options – Error Correction Mode- Set to No when using VoIP – Max Transfer Rate- Set to 9600 when using VoIP – Min Transfer Rate- Set to 2400 © 2015 Sangoma Technologies 248
  • 249. Fax Pro Lab Global Settings • Define Fax Coversheet info such as – Logo, Name, Address, Phone Number and Footer • Set Prefix of *323 to tell SIPStation you are sending a T38 Fax © 2015 Sangoma Technologies 249
  • 250. Fax Pro Lab Global Settings • Set Retry attempts for failed Faxes • Set email notifications on when to receive emails of fax attempts. © 2015 Sangoma Technologies 250
  • 251. Fax Pro Lab Outbound T38 Route • Go create a new outbound for T38 Faxing. Call the trunk Fax. – Add 2 dial rules of below to allow the *323 fax prefix plus any 10 digit or 11 digit number. • *3231NXXNXXXXXX • *323NXXNXXXXXX © 2015 Sangoma Technologies 251
  • 252. Fax Pro Lab Enable Fax for Extension • Go edit your extension in FreePBX for your Lab phone – Enable Fax for this user – Set email where inbound faxes should point to – Store the Fax Locally in UCP for viewing also – Optionally set override for Header and Station ID. If not set Globals will be used. – Set Coversheet Name, Number and Email address © 2015 Sangoma Technologies 252
  • 253. Fax Pro Lab Inbound Route Fax Detect • Go edit your Inbound Route. – Detect Faxes set to Yes – Set Fax Detect Type to SIP – Set Detection Time somewhere between 5-6 seconds. This is the time to try and detect a Fax tone on new incoming call. If Fax is detected Send Fax to destination below. – Pick Fax Destination and pick your Lab Extension © 2015 Sangoma Technologies 253
  • 254. Fax Pro Make sure system is setup for T38 • Go edit Asterisk SIP Settings module • Click on Chan SIP Option on the right menu • Make sure T38 Pass-Through is set to Yes © 2015 Sangoma Technologies 254
  • 255. Fax Pro Recap • Later on Today we will setup and use UCP to actually view, send and manage our Fax for our user. The purpose of this lab was to get everything for Faxing setup. • Currently if you send a inbound fax to your DID the system should detect the Fax and convert it to PDF and email it to you and also store a local copy in the UCP. © 2015 Sangoma Technologies 255
  • 256. Changing Your Menu Layout freepbx_menu.conf • Allows you to change the layout of the top menu bar. • Allows for you to define custom layout the way you want display pages to be categorized and displayed. • In this file you can do the following things. – Change the name of how the module pages are displayed. – Change which category the page is displayed under – Remove the page from being displayed in the menu – Add a Favorite Category that is always displayed on the top left and pick which pages are in this category – Create a new Category and put the pages you want in this category © 2015 Sangoma Technologies 256
  • 257. Changing Your Menu Layout freepbx_menu.conf • There is an example config file for this located at /etc/asterisk/ freepbx_menu.conf.template to show you some examples of what can be done. • Make sure that you enabled the Advanced Settings module option to enable supporting freepbx_menu.conf or anything you do in this file will be ignored by FreePBX • Create a file called freepbx_menu.conf in /etc/asterisk © 2015 Sangoma Technologies 257
  • 258. Changing Your Menu Layout freepbx_menu.conf • The modules are located under /var/www/html/admin/modules • Most modules use the same page name as the module’s directory name, but some have multiple pages. You can see the page name of a display page in the URL, for example Outbound Routes: • http://10.0.1.100/admin/config.php?display=ro uting&extdisplay=3 • The page name will always be display=pagename in the URL © 2015 Sangoma Technologies 258
  • 259. Changing Your Menu Layout freepbx_menu.conf • You can find all the pages displayed by a module, if any, in their module.xml file. • Example core: • Extensions: extensions • Users: users • Devices: devices • Inbound Routes: did • Outbound Routes: routing • Trunks: trunks • Advanced Settings: advancedsettings • Administrators: ampusers • FreePBX Support: wiki © 2015 Sangoma Technologies 259
  • 260. Changing Your Menu Layout LAB: freepbx_menu.conf layout change • Change Asterisk SIP Settings to be SIP Settings. – The display name is sipsettings so we will define that and then define what name we wan to show up. • Change which category the Languages page is displayed in from Applications to the Settings category © 2015 Sangoma Technologies 260
  • 261. Changing Your Menu Layout LAB: freepbx_menu.conf layout change • Remove DAHDIconfig page from being displayed since you have only SIP trunks • Add a Favorite Category that is always displayed on the top left menu and move Extensions and Follow Me there © 2015 Sangoma Technologies 261
  • 262. Changing Your Menu Layout LAB: freepbx_menu.conf layout change • Create a Media Category and move Announcements, Music on Hold, Recordings to this category • Put dashboard into a new category called Status with nothing else in that category. When there is only a single display page in a category, the top level menu item becomes it’s own button. © 2015 Sangoma Technologies 262
  • 263. Changing Your Menu Layout LAB: freepbx_menu.conf layout change • Once done the configuration file should look similar to this and your header bar in FreePBX should look completely different once you refresh your browser. © 2015 Sangoma Technologies 263
  • 264. Contact Manager Overview • Allows you to create groups of contacts and share them with users. • Users can then view the contacts from the Contacts Phone App and User Control Panel • Create contacts of internal users or external contacts such as customers or vendors. – Internal Group- Groups of internal users. Manually add any users into this group. All contact information for each user added will be pulled from the users User Management settings. This is used mainly to create groups of users like Support, Sales and such. – External Group- Groups of external contacts such as customers and vendors. – Default User Man Group- Like Internal Groups but this is a single group and will include all users in this group that are told through User Management to be added to this group. Think of it as a default group of all your internal users. © 2015 Sangoma Technologies 264
  • 265. Contact Manager LAB: Create a new Default User Manager Group • We are going to first create a default User Manager group of all of our Users. Users are pulled from the User Management module which is used for logging into UCP and other applications. – The FreePBX Admin can set information on the internal user such as Name and different phone numbers like home, mobile, work and such from User Management Modules. – End Users can also change and set these numbers from inside UCP which we will go over later. • Pick User Manager type • Give it a name such as All Users and press Submit © 2015 Sangoma Technologies 265
  • 266. Contact Manager LAB: Create a new Default User Manager Group • Now go to User Management and make sure your users are setup to be part of the Default User Manager Contact group • The difference between a User Manager group and Internal group is when you create a new User account checking the “Show Contact in Contact manager” will auto add them to any User Manager Group in Contact Manager. • Creating a Internal only group in Contact Manager allows you to pick within Contact Manager which contacts are part of that group so a good example would be creating a Support and Sales Group and only adding Sales and Support Users to those group. © 2015 Sangoma Technologies 266
  • 267. Contact Manager LAB: Create a new External Contact Group • You can also create external contact groups and include external contacts. For our lab we will create a new Group called Vendors and add one or more Vendors into our contact group. • Press Add Entry option • Add contact information © 2015 Sangoma Technologies 267
  • 268. Contact Manager LAB: Restrict which Contact Groups users can see • Using Class of Service module you can restrict which Contact groups and user can see in UCP or their Contacts Phone App. • Now press the Contact button that we setup on your phone earlier and you should be able to view and search contacts. • Later in the UCP lab we will also view and manage contacts. In UCP users can also create custom groups of contacts that only they will see. © 2015 Sangoma Technologies 268
  • 269. Phone Apps (RestApps) Overview Phone Apps are a suite of phone applications that integrate directly with FreePBX and our commercial End Point Manager. Phone Apps allow users to control functions and settings directly from the screen of their phone. © 2015 Sangoma Technologies 269 • Call Flow Control • Call Forward • Conference Rooms • DND • Follow Me • Login/Logout • Parking • Presence • Queues • Queue Agents • Time Conditions • Transfer to Voicemail • Visual Voicemail • Contacts
  • 270. Phone Apps (RestApps) EPM Setup Go into EPM and under your template create XML-API button types and pick the different Apps © 2015 Sangoma Technologies 270
  • 271. Phone Apps (RestApps) Rest API Setup • Make sure your End User is setup to allow access to all Modules for the FreePBX API module in the User Management module in FreePBX under the Rest API section © 2015 Sangoma Technologies 271
  • 272. Phone Apps (RestApps) Rest API Setup View our WiKi on how to use each of the app at http://wiki.freepbx.org/display/FCM/RESTful+Phone+Apps-Apps+UserGuides …Lets take 20 minute and let you play with the Apps now!! © 2015 Sangoma Technologies 272
  • 273. Backup and Restore Overview • Discussion on options • Create a local full backup • Create a second backup to login to your partner’s system and perform the backup and scp the backup to your system and restore it. This is how you would setup a warm standby of your primary system. © 2015 Sangoma Technologies 273
  • 274. Backup and Restore Discussion • In FreePBX 2.10 the backup module was completely rewritten to make it more reliable and flexible. It was designed to be very modular and has added some confusion and complexity but more flexibility. • There are 4 main sections to the new Backup Module – Backups- These are your actual backup schedules that you setup. – Restore- Here you can restore a backup from any of the servers where you have backups stored as part of your PBX. You can also upload a backup file from your local computer to restore from. – Templates- These are actual templates of what files, directories and mysql tables to include in your backup. We have defined some standard templates in the backup module but you can create your own custom ones or edit the default ones included. ………Continues  © 2015 Sangoma Technologies 274
  • 275. Backup and Restore Discussion – Servers- This option can cause confusion for people. Servers are either servers that can be backed up or servers that backups can be stored on. • Email- This is where you define an email address that you would send a backup to once it completes. • FTP- You can define an FTP server that backups are sent to once complete. You can also restore from the FTP server direct from the Restore option now. • Local- This is a local directory where backups will be stored and restored from. • MySQL- This is where you define tables that you want to include in your backup file. This would be used if you were going to add custom MySQL tables that are not part of normal FreePBX that you want to include in your backup. • SSH- This is where you would define another server to ssh to store your backup on or another server such as a different PBX that you want to login to and perform a backup on. © 2015 Sangoma Technologies 275
  • 276. Backup and Restore Lab: Create a new backup • Go create a new backup • Give it a unique name- Daily backup © 2015 Sangoma Technologies 276
  • 277. Backup and Restore Lab: Create backup • Drag the Full Backup, System Audio and Voice Mail templates under the Backup Items section • You should see all items that will be included in the backup set © 2015 Sangoma Technologies 277
  • 278. Backup and Restore Lab: Create backup • Make sure we are picking this server to backup • Pick where to store the backup. By default it should show Local Storage and Legacy Storage. Use local storage which is located in /var/spool/asterisk/backup. We could pick more than one location to store the backup. © 2015 Sangoma Technologies 278
  • 279. Backup and Restore Lab: Create backup • Pick how often to run this backup. • You can pick the Custom setting to define more specific schedules. © 2015 Sangoma Technologies 279
  • 280. Backup and Restore Lab: Create backup • Pick how long to keep the backup for. • Now save the backup. Go scroll to the bottom and press the run now option to have the system do a backup now. © 2015 Sangoma Technologies 280
  • 281. Backup and Restore Lab: Create backup • SSH to your PBX now. • Go into the directory your backups are stored in. – Hint: if you picked Local Storage this location is: /var/spool/asterisk/backup/ • Verify the backup is there © 2015 Sangoma Technologies 281
  • 282. Backup and Restore Lab: Warm Standby • We are now going to walk through having your system login to your partner’s PBX each day to do a backup on their system and restore it to yours. This would allow your system to be a warm standby system to your production server. • Determine which system is the Primary Server and which system is the Backup Server with your lab partner. • First thing we need to do is setup share keys for the asterisk user to be able to access the primary server. • SSH to your Backup System and use the following command to generate a share key that will be transferred to the Primary Server (partner system) so it can login to their system to do the backup. © 2015 Sangoma Technologies 282
  • 283. Backup and Restore Lab: Warm Standby • sudo -u asterisk ssh-keygen – You will see the following output. You will need to press Enter 3 times during this process. • Next we will copy the key to the Primary server.(Partner Server) – sudo -u asterisk ssh-copy-id -i /home/asterisk/.ssh/id_rsa.pub [email protected]. Replace the IP with your partner’s IP. © 2015 Sangoma Technologies 283
  • 284. Backup and Restore Lab: Warm Standby • We will now check to make sure the asterisk user can get into your primary server (partner system) – ssh -i /home/asterisk/.ssh/id_rsa [email protected] • Replace 192.168.1.186 with your partner’s IP • Type exit to go back into your box. • We will now setup the backup on the Backup Server to go into the Primary Server (partner system) and backup their settings and restore them on the Backup Server. (We will not actually do the restore as we don’t want to lose all your settings of your PBX) © 2015 Sangoma Technologies 284
  • 285. Backup and Restore Lab: Warm Standby Backup • First we need to add your partner’s server as a SSH server in the backup module under servers. • Make sure to enter the path to your private key so the system knows how to load the key to your partners system to login. © 2015 Sangoma Technologies 285
  • 286. Backup and Restore Lab: Warm Standby Backup • Go create a new backup • Give it a unique name- Warm Stanby © 2015 Sangoma Technologies 286
  • 287. Backup and Restore Lab: Warm Standby Backup • Drag one of the templates to the Backup Items Area. Use the Safe Remote Restore Option • You should see all items that will be included in the backup set – Notice we are including just the config options which is all we need but we are excluding backup settings as we would not want to restore the backup settings from the primary server or it would override all the settings we have stored here. © 2015 Sangoma Technologies 287
  • 288. Backup and Restore Lab: Warm Standby Backup • Make sure we are picking the Primary Server we just setup as a Server. (For this example we will not pick the Restore Here option that way when it runs it won’t do the actual restore but just move over the backup file. • Pick where to store the backup. We will store the backup on our Backup Server after it performs the backup on our Primary Server. It will than scp the file here. © 2015 Sangoma Technologies 288
  • 289. Backup and Restore Lab: Warm Standby Backup • Pick how often to run this backup. • You can pick the custom setting to define a more specific schedule © 2015 Sangoma Technologies 289
  • 290. Backup and Restore Lab: Warm Standby Backup • Pick how long to keep the backup for. • Now save the backup. Go scroll to the bottom and press the run now option to have the system do a backup now. © 2015 Sangoma Technologies 290
  • 291. Backup and Restore Lab: Warm Standby Backup • We should now see it go through the backup and show a status © 2015 Sangoma Technologies 291
  • 292. Linux System Admin-PBX Related Overview • Software Raid • Notification of Asterisk Crashes • Kernel Panic Auto Reboot • Notification of Trunk Failures • DNS Explained as it relates to Asterisk and SIP trunks • Changing Asterisk Versions on your FreePBX Distro • Logging into GUI without knowing Admin user or password. © 2015 Sangoma Technologies 292
  • 293. Linux System Admin-PBX Related Software Raid • Disk Raid is an important factor to be considered when setting up a PBX • There are 2 options for Raid – Hardware Raid • Handled by your hardware and managed by the hardware • Most efficient • Most costly – Software Raid • Handled by the Linux operating system • Not as efficient • Part of Linux – no cost © 2015 Sangoma Technologies 293
  • 294. Linux System Admin-PBX Related Software Raid • When setting up the FreePBX Distro, the first option under each Asterisk version will attempt to setup software raid if multiple disks are detected. © 2015 Sangoma Technologies 294
  • 295. Linux System Admin-PBX Related Software Raid • To Verify you have a software raid you would type of following command from the Linux CLI. – cat /proc/mdstat • The output will be similar to the following if software raid is present, blank otherwise. • In this example we can see all 3 partitions of the hard drive md0, md1 and md3 are setup in a raid with disk sdb and sda © 2015 Sangoma Technologies 295
  • 296. Linux System Admin-PBX Related Software Raid • If the Raid Array was in a down state meaning 1 or more hard drives had failed you would see something similar to below. • You will notice the [U_] showing that the second drive, sda in this example, has failed. • To rebuild the raid array follow the guide at http://wiki.freepbx.org/display/L1/Rebuilding+Software+Raid © 2015 Sangoma Technologies 296
  • 297. Linux System Admin-PBX Related Software Raid • To setup email notification to be notified of a raid failure log into the System Admin module in FreePBX and under Storage you can define the email address. © 2015 Sangoma Technologies 297
  • 298. Linux System Admin-PBX Related Notifications of Asterisk Crashes • Since FreePBX Distro is setup to start asterisk with the safe_asterisk scripts we can tell safe_asterisk to notify us anytime Asterisk crashes via email. • We set this up in the /usr/sbin/safe_asterisk file. – nano /usr/sbin/safe_asterisk • Modify the NOTIFY section. – Remove the # comment – Replace the email address with your own © 2015 Sangoma Technologies 298
  • 299. Linux System Admin-PBX Related Notifications of Asterisk Crashes • If you want to test this we can force asterisk to stop and have safe_asterisk kick in. • We need to find the asterisk process ID so we can kill it. – ps -ef| grep asterisk – Find the process ID which in our example is 16093 and kill the process – You should now get a email of the asterisk crash. © 2015 Sangoma Technologies 299
  • 300. Linux System Admin-PBX Related Kernel Panic Auto Reboot • At times your Linux box may kernel panic. This is a rare occurrence and is almost always related to a hardware issue. A kernel panic is like a Blue Screen of Death in the Windows world. • The downside to a kernel panic is your box is locked up and the only way to recover is to reboot by cycling power. – This is not ideal if you are not close to where the box is located. • We prefer to setup our boxes to auto reboot on a kernel panic. This is really important if you are doing upgrades of the kernel as at time the box may kernel panic and you do not want to be locked out. • We need to modify the following file – /etc/sysctl.conf • Add the following 2 lines to the bottom of the file © 2015 Sangoma Technologies 300
  • 301. Linux System Admin-PBX Related Notification of Trunk Failures • FreePBX has the ability to call an external script to monitor a trunk. You can define the script on a per trunk basis in the GUI of your trunks. (This field is hidden by default and exposed in Advanced Settings.) • We have included a sample Trunk Monitor script that we will now install. • SSH to your PBX and follow these steps – wget -P /var/lib/asterisk/agi-bin/ -N http://ottstrunk.freepbx.org/otts/trunk-alert.agi – amportal chown • To make sure the ownership of the script is owned by the asterisk user and not root • Now you can go into the GUI of your SIP trunk and define this custom monitor script: – /var/lib/asterisk/agi-bin/trunk-alert.agi © 2015 Sangoma Technologies 301
  • 302. Linux System Admin-PBX Related DNS Explained as it relates to Asterisk • FQDN with Asterisk and SIP trunks have always been issues for users. – Asterisk has a long outstanding “BUG” in how its DNS Manager works related to it being a blocking protocol. – What happens is each time chan_sip needs to resolve a FQDN that is used anywhere with your SIP setup it does a DNS lookup. – Until this lookup resolves no other SIP packets are processed on the system. – When this happens, Asterisk as a whole ‘bogs down’ and goes into somewhat of a ‘melt-down’ mode where the system appears sluggish or locked up. Even Analog and PRI lines will be unusable on the system. • We highly recommend not using FQDN in your trunks or extensions or any peers in Asterisk. If you must use a FQDN we recommend using a DNS server that you control on the local network so if your internet goes down the PBX can still resolve DNS. © 2015 Sangoma Technologies 302
  • 303. Linux System Admin-PBX Related DNS Explained as it relates to Asterisk • The FreePBX Distro uses DNS Masq to handle this. Simply put 127.0.0.1 as the first DNS entry in /etc/resolv and that will tell the system to use the local DNS server on the PBX. • You can also set the 127.0.0.1 in the System Admin module in FreePBX which will write out your /etc/resolv file. © 2015 Sangoma Technologies 303
  • 304. Linux System Admin-PBX Related DNS Explained as it relates to Asterisk • The FreePBX Distro has a script that lets you change between Asterisk 1.8, 10 and 11 at anytime on the fly. – When changing Asterisk versions Asterisk will be restarted for you and all active calls will be lost so only do this when you have no calls. – From the linux CLI type “asterisk-version-switch – Pick which version of Asterisk you want to switch to. – Once completed you should see a blank CLI screen. © 2015 Sangoma Technologies 304
  • 305. Linux System Admin-PBX Related Loggin into FreePBX GUI without password • If you ever need to log into your FreePBX Admin GUI and either forgot the login username and password you can unlock your login from the Linux CLI following these steps. – Bring up the main login page to your FreePBX GUI. – Do a “ctrl a” to highlight the whole page and look to the left side of the screen for some text. This is your unique php session ID for your current session only. Copy this into your clipboard. © 2015 Sangoma Technologies 305
  • 306. Linux System Admin-PBX Related Loggin into FreePBX GUI without password • Login into your Linux CLI and type of the following commandreplacing the session ID with the one you copied from your box. • Go refresh your GUI login page and it should log you into FreePBX. Now you can go reset the administrator password or create a new user. © 2015 Sangoma Technologies 306
  • 307. User Control Panel – UCP Overview • ARI replacement • User centric • Responsive design • User Management Integration – Login with the User Management User and Password. © 2015 Sangoma Technologies 307
  • 308. User Control Panel – UCP Features Overview • Access to linked extensions • Designed to be the end user interface to the PBX and it’s features • Desktop , Tablet , or mobile device © 2015 Sangoma Technologies 308
  • 309. User Control Panel – UCP LAB: Userman Setup • Go into User Management module in FreePBX and make sure UCP is enabled for login. • Make sure the user has XMPP set to yes • It will make you set a UCP password when you enable XMPP. Set this password to be anything you want. This is how you will login to UCP as this User. © 2015 Sangoma Technologies 309
  • 310. User Control Panel – UCP LAB: Userman Setup • Set the following Options on for UCP Permissions for this User – Allowed Settings • Pick both your extensions – Allowed CDRs • Pick both your extensions • Also allow for CDR Downloads and Playback of Recorded Calls. – Allowed Conference Bridge • Pick any conference rooms you want this user to view and manage from UCP – Allowed End Points • Pick your Lab phone. – Enable Presence • Yes – SIPStation SMS DID • Make sure to pick a SIPStation DID for SMS so you can send and receive SMS in UCP for your user. – Allowed Voicemail • Pick both your primary and softphone – Enable WebRTC Phone • Yes – Allow Originating Calls • Yes © 2015 Sangoma Technologies 310 • Login into UCP with the username and password
  • 311. User Control Panel – UCP LAB: Gear • Click on the Gear Icon in the top right menu • From here we can pick to; – Log Out of UCP – Originate a call. • This will place a call to any phone number or contact you type in. It will call your primary extension and when you answer it will place a call to the number or contact you provided. – Settings • From here you can change your Userman Password and change your contact information that is part of the internal Contact Manager of FreePBX along with setting your Language you want to view UCP in and enable Desktop Notifications for things like new Voicemails, Faxes or SMS messages. © 2015 Sangoma Technologies 311
  • 312. User Control Panel – UCP LAB: Action Buttons • Change status – Your status change here will be linked with the Presence Rest App on your Lab phone • Compose SMS for SIPStation customers only – Send SMS to your cell phone. © 2015 Sangoma Technologies 312
  • 313. User Control Panel – UCP LAB: Action Buttons • Make WebRTC Call – Make a call to any phone number • Send a XMPP Chat – To any other user contected to the XMPP Server of the PBX. This could be any UCP user or any user using a XMPP client © 2015 Sangoma Technologies 313
  • 314. User Control Panel – UCP LAB: Call History • ! Available for primary and any linked extensions © 2015 Sangoma Technologies 314
  • 315. User Control Panel – UCP LAB: Conference Rooms • Ability to see any of your Conference Rooms you have permissions for. • View callers in your Conference room and Mute/Unmute or Kick any caller. © 2015 Sangoma Technologies 315
  • 316. User Control Panel – UCP LAB: Conference Rooms • Invite Callers into your Conference. • You can type in any Contact Name or External Phone Number. The number will be dialed and when they answer they will be transferred into your Conference Room. If your Conference Room is setup with a Pin Code invited callers will not need to enter the Pin Code. © 2015 Sangoma Technologies 316
  • 317. User Control Panel – UCP LAB: Contacts • Contacts App will let you view any Contact Groups that your PBX admin has created and given you permissions to view through the Contact Management Module and Class of Service. • You can also create your own Custom Contacts and Groups of Contacts. • These same contacts can also be viewed on your Phone with the Contacts Phone App • When sending a SMS, Fax, XMPP Chat, Originate Call or Inviting someone to a Conference you can start typing any contact and it will give you a list of their numbers. © 2015 Sangoma Technologies 317
  • 318. User Control Panel – UCP LAB: Device Manager • If using EPM to manage your phones you can allow your users through User Management permissions to change the button layout of their phones. For example if they want to add or remove a button you have setup in the EPM Template they can change those settings and it will only effect their phone not any other users using the same template. • Think of the settings as a user level override. © 2015 Sangoma Technologies 318
  • 319. User Control Panel – UCP LAB: Fax Pro Sending Faxes • Send Faxes • Type in any phone number or name of stored contact © 2015 Sangoma Technologies 319
  • 320. User Control Panel – UCP LAB: Fax Pro Sending Faxes • Optionally Include the system generated cover sheet and define recipient information in the cover sheet. • My Name, My Telephone and My Email are pulled from the Extension page for this user. A user can change these before sending the fax and also change the stored information for them in the Settings section of Fax in UCP. © 2015 Sangoma Technologies 320
  • 321. User Control Panel – UCP LAB: Fax Pro Sending Faxes • Upload 1 or more PDFs, or Tiff files and send the fax. © 2015 Sangoma Technologies 321
  • 322. User Control Panel – UCP LAB: Fax Pro Reviewing Faxes • Click on any of the Directories such as Incoming or Sent • View or download the fax with the action icons. © 2015 Sangoma Technologies 322
  • 323. User Control Panel – UCP LAB: Fax Pro Settings • A user can at anytime change their Fax Settings by clicking on the Settings tab in the Fax Section of UCP • These are the same settings that the Admin user in FreePBX can set under the Extension for this user. © 2015 Sangoma Technologies 323
  • 324. User Control Panel – UCP LAB: Fax Pro Desktop Notifications • Desktop notification will be sent to the user if they have enabled them in the Settings tab under the Gear in the top right corner of UCP if they are using Google Chrome as their browser © 2015 Sangoma Technologies 324
  • 325. User Control Panel – UCP LAB: Presence State Controls • Status updates on login and logout/close • Actions linked to status changes. Anytime your change your status the action for that status will be set. For each status you can tell the PBX to – Not Change Anything – Enable your Follow Me – Enable Do Not Disturb. © 2015 Sangoma Technologies 325
  • 326. User Control Panel – UCP LAB: Extension Settings • Available for primary and linked extensions in User Management • User control of options such as Follow Me, Call Forward, DND, Call Waiting. If you enable, DND, Follow Me or Call Forward here it should light up the buttons on your phones if you are using the Phone Apps. © 2015 Sangoma Technologies 326
  • 327. User Control Panel – UCP LAB: SMS • Enabled via Sipstation options • Desktop notifications • Persistent Chat box with history – Clicking on the To Name will bring up the full SMS history until you delete it. © 2015 Sangoma Technologies 327
  • 328. User Control Panel – UCP LAB: Voicemail Management • Available for primary and any linked extension • Desktop notifications © 2015 Sangoma Technologies 328
  • 329. User Control Panel – UCP LAB: Voicemail Management • Manage voicemail options • Drag and drop greetings © 2015 Sangoma Technologies 329
  • 330. VM Notify Overview • This module allows an individual or a group to be notified and optionally accept responsibility for a voicemail. Additionally notifications can be sent out when someone claims responsibility for the voicemail. • Used primarily for After Hours Support or Emergency Notifications. • Call a list of numbers in specific order like queue agents. • When someone answers the call they will be notified a new voicemail has been left in the Emergency Box or whatever message you record. • The caller will be prompted to press 1 to listen to the voicemail. • While listening to the voicemail the caller can press 1 to take responsibility for the voicemail and no other users will be called about the voicemail. • Email report will be mailed out showing the results of the notification upon a user accepting responsibility or failed attempt to reach any user and include the voicemail. © 2015 Sangoma Technologies 330
  • 331. VM Notify LAB: Setup VM Notify • Navigate to the VM Notification module in FreePBX and create a new Notification. • Pick your desktop phone as the voicemail box we want to link this notification with and verify the notification is set to be enabled. © 2015 Sangoma Technologies 331
  • 332. VM Notify LAB: Setup VM Notify • Provide a list of numbers or extensions we want to dial. We can group numbers together into groups just like queue agents by putting a penalty number at the end of each number. • The VM notification system will first attempt to call all numbers with a penalty of 0, then 1 and so forth. All numbers with the same priority number will be dialed at the same time so if you have 2 numbers with a penalty of 0, both of those numbers will be dialed at the same time. • We can also setup Caller ID information to be used when dialing numbers. © 2015 Sangoma Technologies 332
  • 333. VM Notify LAB: Setup VM Notify • The default Initial Greeting informs the caller that a new voicemail has been left in mailbox XXX with XXX being the name recorded on the voicemail box. The default instructions prompt the caller they can press 1 while listening to the voicemail to take responsibility for the voicemail. • Retry Count is how many times we should loop through the Caller List if nobody accepts responsibility for the voicemail. • Retry Delay is now many minutes to wait after calling all the numbers in the Caller List before calling them again if nobody took responsibility for the voicemail. • Priority Delay is the amount of time in minutes to wait before trying the next group of Callers as defined by their penalty number of 0 thru 99. © 2015 Sangoma Technologies 333
  • 334. VM Notify LAB: Setup VM Notify • Upon a caller taking responsibility for a voicemail or after all numbers have been called including the Retry Count without a caller taking responsibility for a voicemail a email notification will be sent out based on the setting below. – Email From- From address the email should be sent from. – Email Success- Is the email address we should send the notification to upon a caller taking responsibility for a voicemail. – Email Fail- Is the email address we should send the notification to upon calling all numbers including the Retry Count and no caller took responsibility for a voicemail. – Email Attach- When set to yes a copy of the voicemail file will be included in the email at a attachment. © 2015 Sangoma Technologies 334
  • 335. VM Notify LAB: Setup VM Notify • Email Subject- This is the subject line of the email that will be sent out. • Email Body- This is the body of the email that will be sent out. • Both of these fields include variables that are pulled in for each Voicemail Notification including a full log of all numbers dialed and if they answered the call, listened to the voicemail, took responsibility for the voicemail © 2015 Sangoma Technologies 335
  • 336. DAHDI 101 Overview • DAHDI is what Asterisk uses to connect to the legacy PSTN such as analog or PRI lines. • They are generally PSTN cards but can also be USB driven • There are 2 main manufactures of cards. – Digium Cards- These are cards manufactured by Digium. There are also many knockoffs that copy their cards. Be careful with these knockoffs. – Sangoma Cards- They manufacture their own cards and provide to you lots of additional tools with their wanpipe software. • Wanpipe sits between the PSTN and DAHDI so it allows you to troubleshoot and see what is happening with the PSTN signaling in front of DADHI and gives you more tools. © 2015 Sangoma Technologies 336
  • 337. DAHDI 101 Overview • DAHDI config files are stored in 2 primary locations. – /etc/DAHDI/: This is where the configurations for DAHDI as it appears to the outside world or PSTN lines – /etc/asterisk/: This is where all configurations for asterisk and how it talks to DAHDI are stored. • When using a DAHDI card FreePBX expects one of two contexts: – from-analog: This is used for any analog lines. – from-digital: This is used mainly for PRI’s, BRI’s or other digital trunks that send a DID. © 2015 Sangoma Technologies 337
  • 338. DAHDI 101 Overview • There are 2 main types of cards in the Market – Digital. • T1- Which can be for straight T1 or PRI style T1’s (North America) • E1- Most of the Latin American and European Markets E1/PRI ETSI/ISDN and MFCR2 – Analog- with either FXO or FXS Ports • FXO Ports- Are used to connect to the incoming Phone Line • FXS Ports- Are used to connect an analog phone as a extension into your PBX © 2015 Sangoma Technologies 338
  • 339. DAHDI 101 Overview • DAHDI Groups. Everything with DAHDI trunks belong to a group. – F or example we have have a 2 port PRI card. Port 1 we can setup as group 0 and port 2 can also be group 0 or it could be its own group such as group 1. – A group is simple way of grouping channels and PRI ports together into a shared pool used for outbound calling. – When you create a trunk in FreePBX you generally will pick which group the trunk sends calls out. – A group could be a mix of PRI and Analog ports all in the same group if you wanted to, though that is not typical. – A common practice would be to have your PRI/T1 setup with Group 0 and your 2 Analog failover lines as Group 1. Then in the trunk module of FreePBX you would create a PRI trunk that maps to Group 0 and a Analog trunk that maps to Group 1. – That way when creating outbound routes you first try Group 0 trunk then try Group 1 trunk. © 2015 Sangoma Technologies 339
  • 340. DAHDI 101 FreePBX DAHDI Module • Easiest way to setup your DAHDI cards is with the new FreePBX DAHDI module. • This module currently supports Analog and T1/E1 cards from the following manufactures – Digium – Sangoma – Allo – OpenVox – Rhino • Since some of the DAHDI settings require a restart of the DAHDI service which is a linux level permission there are times the module will inform you to reboot your system after changes. – Instead of rebooting you can do the following commands • amportal stop- Stops Asterisk • service DAHDI restart- restart DAHDI. If you are using sangoma cards you need to do a service wanrouter restart which will also restart DAHDI. • amportal start- Starts Asterisk © 2015 Sangoma Technologies 340
  • 341. DAHDI 101 FreePBX DAHDI Module • Since most of the systems in our lab do not have DAHDI cards we will do this lab interactively. – Global Settings- These are all the settings that go into /etc/ asterisk/chan_DAHDI.conf and apply globally to DAHDI from the Asterisk side of things. – Modprobe Settings- These are kernel driver specific settings for each module driver DAHDI uses. Making changes here will prompt you to reboot the system. – Sangoma Settings- These are settings that are specific to Sangoma Cards only. © 2015 Sangoma Technologies 341
  • 342. DAHDI 101 FreePBX DAHDI Module • Digital Card Settings- Settings for the individual ports of a T1/E1 card. • FXO Port Settings- Settings for each FXO port of an analog card. • FXS Port Settings- Settings for each FXS port of an analog card. © 2015 Sangoma Technologies 342
  • 343. DAHDI 101 FreePBX DAHDI Module • Creating DAHDI Trunk- – Once we’ve setup a PRI or FXO port in the DAHDI module we can go to the trunk module in FreePBX and create a DAHDI Trunk. – At the bottom of the page we will see a drop down and it will let us pick from any group such as G0 or individual analog ports on an analog card. – In our example we can pick Group 0 Ascending or Group 0 Descending – If we pick Ascending it will start with channel 1 and work up for each concurrent outbound call. – If we pick Descending it will start with the highest channel which in our example would be 23 and work down. © 2015 Sangoma Technologies 343
  • 344. DAHDI 101 FreePBX DAHDI Module • Creating a DAHDI Extension – Once we have setup 1 ore more FXS ports in the DAHDI module we can create a DAHDI extension. – Under Device Options choose the desired Channel to map this extension to the given DAHDI channel. © 2015 Sangoma Technologies 344
  • 345. Asterisk Log Files Settings Overview • Starting with FreePBX 2.11 you can set and control the log file setting for Asterisk. • You can also view all the different Asterisk Log files from the GUI. • Its important to understand how to read log files but we could spend 2 days just on Asterisk Log Files. – The point to this talk is to talk about how to setup and verify you have logs being written and what the different options mean. – Teach you how to setup a custom log file for specific things like DTMF debugging. • Everything that happens in Asterisk can be logged to a log file. • All logs are stored in /var/log/asterisk/ by default © 2015 Sangoma Technologies 345
  • 346. Asterisk Log Files Settings Log Files Settings • In the Asterisk Log Settings module in FreePBX you can set the following options. – Date Format- This should generally not be changed or it will break things like Fail2ban. This is just how the Date Timestamp is displayed in the log files. – Log Rotation- When asterisk rotates the logs which by default is daily how do we want the file names of the rotated logs to be displayed. By default your logs will rotate nightly and keep 7 days worth. • Sequential- When rotating make the newest log file have the highest number such as full.7 • Rotate- When rotating make the oldest log file have the highest number such as full.7 This is the normal behavior in linux. • Timestamp- Save the file with the date/time as the file name. – Log Queues- Do you want Asterisk to create a queues log file. Lots of Queue reporting software's use this to generate queue reports. © 2015 Sangoma Technologies 346
  • 347. Asterisk Log Files Settings Log Files Settings • Log Files – By default you will see your system has a log file called full and you will see which options have been enabled to log to the full log file. • Debug- Used for debugging and most of the time can be ignored as they are for debugging purposes and will generate a lot of noise. • DTMF- Used to log every DTMF entry asterisk receives. This is useful if debugging DTMF issues to see if Asterisk is receiving the DTMF or not. • Error- Possible issues with dialplan created but not critical. • Fax- Errors related to res_fax_asterisk to help debug fax issues. • Notice- Message of a action like a Call being completed or a phone registering. Just informing you of actions. • Verbose- Step by Step of the call flow. Used to debug or watch calls as they navigate your dialplan. • Warning- Critical errors or issues usually and the most important one when debugging issues with Asterisk. • Security- Security related events such as failed login attempts © 2015 Sangoma Technologies 347
  • 348. Asterisk Log Files Settings Creating a DTMF Log File • We are going to setup a log file just to capture all the DTMF that Asterisk receives into its own log file. • Create a new log file called DTMF and the only type of events we want to capture is DTMF. Your setup should look like this. • Press Save when done and Apply Configs. • Go make a call to your IVR and then direct dial one of your extensions from the IVR so we can get some DTMF logs generated. © 2015 Sangoma Technologies 348
  • 349. Asterisk Log Files Settings Viewing Log Files • To view the new logfile we just created go to the module in FreePBX under Reports called Asterisk LogFiles • At the top you will see a drop down of all the log files in Asterisk. Pick DTMF and 500 for the last 500 log entries and press the Show button • You should now see the entries from the call you just made. In my example We dialed 4002 © 2015 Sangoma Technologies 349
  • 350. Asterisk Log Files Settings Viewing Log Files • We will see the DTM begin meaning it’s the beginning of the tone. – Begin ‘4’ received on • Next since we are just going into a IVR and not bridging channels it will ignore the DTMF meaning not pass it to another channel – Ignored ‘4’ on • Then it will end the receiving of the DTM and finally end the pass-through. – End ‘4’ received on end passthrough ‘4’ • Generally anything under 60MS will have issues with decoding the DTMF the average DTMF is 80-300MS. © 2015 Sangoma Technologies 350
  • 351. FreePBX High-Availability © 2015 Sangoma Technologies 351 HA Enables Automatic Mirroring and Failover Between 2 FreePBX Systems
  • 352. High Availability (HA) • Direct cost • Additional work hours • Lost work hours • Lost revenue • Regulatory compliance & risk management © 2015 Sangoma Technologies 352
  • 353. Why HA? © 2015 Sangoma Technologies 353 • Business Continuity
  • 354. Historical Problems • HA systems were built by hand • Required the use of very expensive sysadmins to design, implement & constantly maintain • Difficult to keep up-to-date • Almost impossible to replicate or support © 2015 Sangoma Technologies 354
  • 355. What makes up FreePBX HA? © 2015 Sangoma Technologies 355 • FreePBX Distro • Integrate DRBD, Cluster Manager • Pacemaker
  • 356. Automatic Mirroring and Failover © 2015 Sangoma Technologies 356 FreePBX HA Enables Automatic Mirroring & Failover Between Two FreePBX Systems Automatic Mirroring and Failover
  • 357. Easy to Install © 2015 Sangoma Technologies 357
  • 358. Select HA Install Option © 2015 Sangoma Technologies 358
  • 359. Enter Location Specific Settings © 2015 Sangoma Technologies 359
  • 360. Initial Configuration of FreePBX © 2015 Sangoma Technologies 360
  • 361. Rinse and Repeat © 2015 Sangoma Technologies 361
  • 362. HA hardware © 2015 Sangoma Technologies 362
  • 363. Recommended Virtual Environments © 2015 Sangoma Technologies 363 • KVM • Solus VM • FreePBX Hosting
  • 364. HA Installation © 2015 Sangoma Technologies 364
  • 365. HA Installation © 2015 Sangoma Technologies 365
  • 366. HA Installation © 2015 Sangoma Technologies 366
  • 367. HA Installation © 2015 Sangoma Technologies 367
  • 368. HA Installation © 2015 Sangoma Technologies 368
  • 369. HA Installation © 2015 Sangoma Technologies 369
  • 370. HA Installation © 2015 Sangoma Technologies 370
  • 371. HA Installation © 2015 Sangoma Technologies 371
  • 372. HA Installation © 2015 Sangoma Technologies 372
  • 373. HA Installation © 2015 Sangoma Technologies 373
  • 374. HA Installation © 2015 Sangoma Technologies 374
  • 375. HA Installation © 2015 Sangoma Technologies 375
  • 376. HA How it Works Overview © 2015 Sangoma Technologies 376
  • 377. HA Management © 2015 Sangoma Technologies 377
  • 378. Up time & Reliability • Run different services on both PBXs • More resilient • Quickly migrate services when there’s an issue © 2015 Sangoma Technologies 378
  • 379. Astrisk is Down • Displays an error • Fail and attempt to restart a set number of times • Before migrating the Impacted services to the other PBX © 2015 Sangoma Technologies 379
  • 380. © 2015 Sangoma Technologies 380 • Active node changed to freepbx-b • Calls are now being processed by the secondary node • Mysql and other FreePBX services are still utilizing the primary server
  • 381. Knowing there is a problem • SNMP Alerts • SMTP Alerts (email notifications) © 2015 Sangoma Technologies 381
  • 382. Keeping your System Updated © 2015 Sangoma Technologies 382
  • 383. © 2015 Sangoma Technologies 383