Sprint Review 17.06

Posted on Mon 24 April 2017 in Wazo IPBX by The Wazo Authors • Tagged with wazo, development

Hello Wazo community! Here comes the release of Wazo 17.06!

New features in this sprint

REST API: We have added a new REST API to get call logs in JSON format, instead of the current CSV format. The CSV format was mainly chosen for compatibility and JSON is easier to create new web interfaces.

Technical features

Asterisk: Asterisk was updated from 14.3.0 to 14.4.0

Important bug fixes

CTI Client: Transfers made via the client could cause Asterisk to take all CPU of the machine, blocking the transfer and losing the call, in some circumstances. Ticket reference: #6624.

Ongoing features

Call logs: We are attaching more data to the call logs, so that we can filter call logs more easily. This mainly includes filtering call logs by user, so that call logs analysis becomes less tedious. See https://api.wazo.community in section xivo-call-logs for more details.

New web interface: This web interface will only use the REST API we've been developing in the past few years, with no brittle complicated internal logic like the current web interface has: all the logic is handled by the REST APIs. This web interface will not replace the current web interface before it has all the same features, so it will take time to become the default interface. However, both web interfaces will coexist during the maturation of the new one. We'll keep you posted when the new web interface becomes usable.

Plugin management: We are currently working a plugin management service as well as a standard plugin definition that will be easy to write. The goal is to allow users to add features easily to Wazo and to be able to distribute their extensions to other users. This new system will be used to install features on the new administration interface.


The instructions for installing Wazo or upgrading Wazo are available in the documentation.

For more details about the aforementioned topics, please see the roadmap linked below.

See you at the next sprint review!

Sources:


Sprint Review 17.05

Posted on Mon 03 April 2017 in Wazo IPBX by The Wazo Authors • Tagged with wazo, development

Hello Wazo community! Here comes the release of Wazo 17.05!

New features in this sprint

Call recording: We added some configuration options to control the naming of the call recordings. This allows administrators to dispatch recording files more easily between entities. You can read all about it in the documentation.

REST API: We added the possibility to pause/unpause an agent from the REST API of xivo-agentd. An agent in pause does not receive any more calls distributed from the call queues. Until now, agents could only enter the pause through the CTI client. Also, it is now possible to specify the reason for the pause. This allows supervisors to have a better understanding of the agents availability. You can see this new feature in action in Unicom.

REST API: The calls API in xivo-ctid-ng has been improved to reflect the direction of each call: a graphical interface such as Unicom may now display if the call is received or sent.

Important bug fixes

Database: One of Wazo services (xivo-dird) was not closing the connections to the database. It blocked other services from accessing the database in some circumstances. Ticket reference: #6607

CTI Client: Transfers made via the client had a performance issue that would take up all CPU of the machine after a few transfers, causing other issues as a result. Ticket reference: #6628

Contributions

Web interface: We thank Paolo Ornati for submitting a patch fixing a bug in the list of phonebooks in the web interface.

Translations: We thank Rafał Perczyński and Ania Perczyńska for making polish sound files available in the web interface and translating the CTI client interface in polish with Transifex. The CTI client translations will be shipped in a future version.

Yealink firware: We thank Damien Barbier for submitting a new firmware for Yealink phones. The provisioning plugin for firmware v81 is now available in the testing plugins repository.

Ongoing features

Call logs: We are attaching more data to the call logs, so that we can filter call logs more easily. This mainly includes filtering call logs by user, so that call logs analysis becomes less tedious.

New web interface: This web interface will only use the REST API we've been developing in the past few years, with no brittle complicated internal logic like the current web interface has: all the logic is handled by the REST APIs. This web interface will not replace the current web interface before it has all the same features, so it will take time to become the default interface. However, both web interfaces will coexist during the maturation of the new one. We'll keep you posted when the new web interface becomes usable.

Plugin management: We are currently working a plugin management service as well as a standard plugin definition that will be easy to write. The goal is to allow users to add features easily to Wazo and to be able to distribute their extensions to other users. This new system will be used to install features on the new administration interface.


The instructions for installing Wazo or upgrading Wazo are available in the documentation.

For more details about the aforementioned topics, please see the roadmap linked below.

See you at the next sprint review!

Sources:


Sprint Review 17.04

Posted on Mon 13 March 2017 in Wazo IPBX by The Wazo Authors • Tagged with wazo, development

Hello Wazo community! Here comes the release of Wazo 17.04!

New features in this sprint

CSV import of a phonebook: The CSV import had been removed from the web interface when we allowed many phonebooks to be available on the same Wazo. Many administrators have reported that they used that feature for their end users. You told us and we heard you. The CSV import is back.

Technical features

Asterisk: Asterisk has been updated from 14.2.1 to 14.3.0

Ongoing features

Switchboard API: We are changing the internals of the Switchboard feature so that we can control more precisely how calls are answered, transferred, etc. We are also adding a REST API over the switchboard feature, to allow different interfaces for the switchboard, be it web or desktop client.

API policies permissions: The current model of permissions for authentication tokens is a bit too rigid to give users only the permissions they need. We are making the system more flexible in order to have more fine-grained control over what user is allowed to do, such as entering/leaving only certain groups, answering calls from certain switchboards, etc.

New web interface: This web interface will only use the REST API we've been developing in the past few years, with no brittle complicated internal logic like the current web interface has: all the logic is handled by the REST APIs. This web interface will not replace the current web interface before it has all the same features, so it will take time to become the default interface. However, both web interfaces will coexist during the maturation of the new one. We'll keep you posted when the new web interface becomes usable.

Plugin management: We are currently working a plugin management service as well as a standard plugin definition that will be easy to write. The goal is to allow users to add features easily to Wazo and to be able to distribute their extensions to other users. This new system will be used to install features on the new administration interface.


The instructions for installing Wazo or upgrading Wazo are available in the documentation.

See you at the next sprint review!

Sources:


How to configure Asterisk when Wazo does not implement a functionality

Posted on Wed 22 February 2017 in Wazo IPBX by The Wazo Authors • Tagged with wazo asterisk

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

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 menu. The 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 Asterisk dialplan syntax.

Customizing asterisk configuration files

Extra dialplan files can be added in /etc/asterisk/extensions_extra.d/.

The Wazo dialplan

The dialplan shipped with Wazo can be found in /usr/share/xivo-config/dialplan/asterisk reading this dialplan may help find available options that can be tweaked using subroutines and debug call flow problems.

Subroutines

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.

For example:

With the following contexts in xivo-extrafeatures.conf

[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.

User preprocess subroutine

Configuration files

Asterisk configuration files are in /etc/asterisk. Most configuration files are generated by 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 /etc/asterisk/sip.conf is:

; autogenerated from xivo-confgend

#exec /usr/bin/xivo-confgen asterisk/sip.conf

To view the generated configuration file you can do the following command:

xivo-confgen asterisk/sip.conf

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 accept_outofcall_message and outofcall_message_context in the general section of the sip.conf file.

Note that these changes will have to be redone at each upgrade modifying the configuration file. The old version will be kept in a .dpkg-old file:

> 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.:

/etc/asterisk/manager.conf

[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!

Asterisk configuration read flow

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.


Sprint Review 17.03

Posted on Mon 20 February 2017 in Wazo IPBX by The Wazo Authors • Tagged with wazo, development

Hello Wazo community! Here comes the release of Wazo 17.03!

New features in this sprint

Music on hold API: There are new REST API for managing music on hold classes and audio files related to music on hold. Music on hold control what callers hear when they arrive in a queue or user group, while agents or users are ringing. One music on hold class may contain multiple sound files that will be played one after the other.

Technical features

Consul: Consul has been updated from 0.7.2 to 0.7.3. Consul is used for service discovery across multiple Wazo installation.

libpri: LibPRI has been updated from 1.5.0 to 1.6.0. LibPRI is used for some hardware telephony cards (E1, T1, J1).

Ongoing features

Switchboard API: We are changing the internals of the Switchboard feature so that we can control more precisely how calls are answered, transferred, etc. We are also adding a REST API over the switchboard feature, to allow different interfaces for the switchboard, be it web or desktop client.

API policies permissions: The current model of permissions for authentication tokens is a bit too rigid to give users only the permissions they need. We are making the system more flexible in order to have more fine-grained control over what user is allowed to do, such as entering/leaving only certain groups, answering calls from certain switchboards, etc.

New web interface: The first lines of code of a new web interface have been written. This web interface will only use the REST API we've been developing in the past few years, with no brittle complicated internal logic like the current web interface has: all the logic is handled by the REST APIs. This web interface will not replace the current web interface before it has all the same features, so it will take time to become the default interface. However, both web interfaces will coexist during the maturation of the new one. We'll keep you posted when the new web interface becomes usable.


See you at the next sprint review!

Sources: