Customizing your Asterisk configuration on Wazo
Wazo is a full featured IPBX using Asterisk. It has many functionalities implemented in its configuration interface and many API to configure your telephony system. But sometimes what you need is simply missing. This article will show some common ways to modify your Wazo server to use features from Asterisk that are not available in the wide range of Wazo tools.
Dialplan is used to modify the flow of a call. The easiest way to add dialplan to
Wazo is through its web interface in the
Services -> IPBX -> Configuration files
xivo-extrafeatures context is available to all users and can be used
to add new extensions to your dial plan. New contexts can also be added using the
Extra dialplan files can be added in
The Wazo dialplan
The dialplan shipped with Wazo can be found in
reading this dialplan may help find available options that can be tweaked using
subroutines and debug call flow problems.
Most resources (a group, a user, a conference room, etc.) on a Wazo can execute a dialplan subroutine before being reached. This allows the administrator to add custom dialplan before calling the Asterisk application.
With the following contexts in
[aastra-autoanswer] exten = s,1,SIPAddHeader(Alert-Info: info=alert-autoanswer) same = n,Return()
If a user has the
aastra-autoanswer subroutine, his phone will answer
automatically, instead of ringing.
Asterisk configuration files are in
/etc/asterisk. Most configuration files are
xivo-confgend. To view the generated output of a configuration file,
use the command that is in the configuration file.
For example, the content of
; autogenerated from xivo-confgend #exec /usr/bin/xivo-confgen asterisk/sip.conf
To view the generated configuration file you can do the following command:
You can add or overwrite values to a section using the following syntax:
; autogenerated from xivo-confgend #exec /usr/bin/xivo-confgen asterisk/sip.conf [general](+) accept_outofcall_message=yes outofcall_message_context=astsms
This example adds or modify the options
outofcall_message_context in the
general section of the
Note that these changes will have to be redone at each upgrade modifying the
configuration file. The old version will be kept in a
> ls /etc/asterisk/sip.conf* sip.conf sip.conf.dpkg-old
Some configuration files also include another directory that should be used when available, e.g.:
[general] enabled = yes webenabled = yes port = 5038 bindaddr = 0.0.0.0 #include manager.d/*
All files in
/etc/asterisk/manager.d/ will be read when reloading the
configuration and these files will not be modified during an upgrade.
Here's a summary of what happens when Asterisk starts, and what configuration files will be read on Wazo. Thanks to J Az from the Wazo forum for this diagram!
If you do these kinds of customizations on your own, make sure you read the Wazo upgrade notes before upgrading: major updates of Asterisk can break your custom configuration if you're not careful.