Voice over IP service

Zentyal uses Asterisk [6] to implement the VoIP module. Asterisk is a software only application that works on any commodity server, providing the features of a PBX (Private Branch eXchange) to connect multiple phones, using a VoIP provider or the analog telephone network. It also offers services such as voice mail, conferences, interactive voice responses and so on.

VoIP server configuration with Zentyal

Zentyal VoIP module allows you to easily manage an Asterisk server with the users that already exist on the system’s LDAP server, and to configure the most common features.

_images/deployment.png

Basic diagram of how VoIP works

As usual, the module must be enabled first. Go to Module Status and select the VoIP checkbox. The Users and groups should be enabled beforehand.

_images/ebox-asterisk_general.png

VoIP configuration window in Zentyal

To change the general configuration, go to VoIP ‣ General. Once there, the following general parameters should be configured:

Enable demo extensions:
Enables the extensions *4 and *6. If you call to the extension *4, you will be able to hear the waiting musing. Using the extension *6 you will have an echo test to give you an estimation of the latency in your calls.
Enable outgoing calls:
This enables outgoing calls through a SIP provider to call regular phones. To call through the SIP provider, add an additional zero before the number to call. For instance, to call Zentyal offices (+34 976733506 or 0034976733506) dial 00034976733506.
VoIP domain:
This is the domain assigned to the user addresses. For example, a user user with an extension 1122 can be called at user@domain.tld or at 1122@domain.tld.

In the SIP provider section, enter the credentials supplied by the SIP provider, so that Zentyal can route calls through it:

Name:
The identifier of the provider in Zentyal.
User name:
The user name used to log into the provider service.
Password:
The password to log into the provider service.
Server:
The provider server.
Recipient of incoming calls:
The internal extension that will receive the incoming calls to the provider account.

The NAT configuration section defines the network location of your Zentyal host. If it has a public IP address, the default option Zentyal is behind NAT: No is correct. If it has a private IP address, you must provide Asterisk with your Internet public IP address. If you have a fixed public address, select Fixed IP address and enter it; if the IP is dynamic, you must configure the dynamic DNS service (Dynamic DNS) available in Network ‣ Dynamic DNS (or configure it manually) and enter the domain name in Dynamic hostname.

In the Local networks section, you can add the local networks to which Zentyal has direct access without NAT, like VPN or network segments not configured from Zentyal, like a wireless network. This is required due to SIP behaviour in NAT environments.

To configure the authentication of the VoIP phones, go to VoIP ‣ Phones

_images/phones.png

Adding a VoIP phone

Enabled:
Whether this phone configuration is enabled.
Extension:
Extension to dial to reach this phone.
Password:
Needed to authenticate the phone against Zentyal, it will have to be configured in the phone itself as well.
Voicemail:
The device available through this extension will store the voicemail for this phone.
Email notified:
This email address will receive the voicemail messages as an attachment.
Description:
Description of the specific phone

You can access the conference configuration through VoIP ‣ Meetings. Here you can configure multiple conference rooms. These rooms extension should fit in the 8001-8999 range and optionally have an access password, an administration password and a description. These extensions can be accessed from any server by dialling extension@domain.tld.

_images/ebox-asterisk_meetings.png

List of meetings

When you edit a user, you will be able to enable and disable this user’s VoIP account and change his/her extension. Take into account that an extension can only be assigned to one user and no more, if you need to call more than one user from an extension, you must use queues.

_images/ebox-asterisk_user.png

Managing the VoIP per user

When editing a group, you can enable and disable group’s queue. A queue is an extension and when a call is made to a queue, all the users who belong to this queue will receive the same call.

_images/ebox-asterisk_group.png

Managing the VoIP queues per group

Using Zentyal VoIP features

Call transferring

The call transferring feature is quite simple. While you are in a conversation, press # and then dial the extension where you need to transfer the current call. You can hang up afterwards as the call will be ringing on the called extension.

Call parking

Call parking works on the extension 700. Whilst you are in a conversation, press # to initiate a transfer, then dial 700. The extension the call has been parked to will be announced to the called person. The caller will listen to call hold music, if configured. You can hang up now. From a different phone or a different user, the called person or group will dial the announced extension and the parked user will receive a wake up, and the call can start.

On Zentyal, the call parking can hold up to 20 concurrent calls and the maximum time a call can be parked is 300 seconds.

Voice mail

Using the extension *1, you can check your voice mail. The user and password will be the extension assigned by Zentyal when creating the user. Changing the password inmediatly is recommended, you can do that from the User Corner. The application listening in this extension allows you to change the welcome message, hear the stored messages and delete them. This extension is only accessible by the users of your server, it will not accept incoming calls from other servers for security reasons.