Call forwarding with Voicemail Pro

You can see Voicemail Pro kind of like a swiss army knife of an IP Office installation. Besides the common functionalities of a voicemail system and those to build automatic assistants, you have the options to read and write several user or group settings.

In this post I will describe you, how you can configure call forwarding for other users using Voicemail Pro. This can be helpful for example for assistants who have to divert the phone of the boss if needed.

The challenge

The goal is to divert the phone of another user through a single call. During this call the user should be asked for the number of the forwarding extension and for the target of the call forwarding.

If needed, the call flow can be added by a PIN request or further options.

The Implementation

Ask for the phone number

First I create a new module using the Voicemail Pro client. As the module’s name I suggest “CallForwarding”.

Within the module I have to ask the caller for the variable values. In this example that’s the forwarding extension and the forwarding target.

To request input from the user, I use the menu action. Even if the default use case of a menu is to let the caller chose from various options by entering a single digit, you can also request the input of multi digit input of a fixed or variable length.

Assuming that internal extension numbers have four digits, I request the user to also enter four digits to set the forwarding extension. I add a new entry “????” to the “Touch Tones” section of the menu. One questions mark represents a single digit.

Menu - Ask for extension
Menu – Ask for extension

To be able to reuse the entered extension later, I will save the input into a call variable. Those call variable will be available during the complete call flow. Within a Generic action the option “Set CPxx value” is available to accomplish that. The previous input is available in the $KEY variable at that time. The entered extension will be stored in $CP0.

Generic - Save extension to $CP0
Generic – Save extension to $CP0

Ask for the forwarding target

After saving the extension, the second information needed is the forwarding target. I can also request that using a menu action. Because the length of the requested number can be variable, I have to add the dollar sign to the “Touch Tones”. The dollar sign represents a variable number of digits. The user has to confirm his input by typing # or he has to wait for five seconds after the last digit.

The user’s input is again stored within the variable $KEY and will be copied into $CP1 for further use.

Generic - Save target to $CP1
Generic – Save target to $CP1

Configure call forwarding

Now that all the needed information are collected and stored in call variables ($CPxx), the last step is to activate call forwarding.

In IP Office call forwarding is configured in two steps. In the first step the forward number is specified. In the second step call forwarding will be activated. Again I can use the Generic action. Under the option “Change User or Group Configuration” I use the sub option “Set”.

At that point two information are necessary. First, the number of the extension, that has to be configured. Because it is stored in $CP0, I enter this variable there. Second, the number that will be used as forwarding target. This is available in $CP1, so that I can enter the variable in the corresponding field.

Generic - Set call forward number
Generic – Set call forward number

In the last step I have to enable “Forward unconditional”. That’s done the same way. Again I use $CP0 as a placeholder for the extension number.

Generic - enable call forwarding
Generic – enable call forwarding

All the configured actions now have to be connected, so that they all together build a complete module.

Call forwarding module
Call forwarding module


Even if this has been a tiny example, that is probably known by many of you, I hope, that it can help some if you. With the aid of this example, you should get a feeling about the various possibilities of Voicemail Pro.

This simple module to configure call forwarding can be extended in many different ways. So for example it would be possible to request the current forwarding state before the call forwarding is set. It would also be an option, to create a loop that enables call forwarding for a range of extensions. You can even check, if the entered extension number really belongs to an extension or even not.

Voicemail Pro has a vast number of possibilities. If you are interested in a specific topic, just contact me.

If you need further help with IP Office you can contact me through my main website:

Do you want to get information about new posts? Subscribe to my Newsletter

Leave a Reply

Your email address will not be published.