Bluestone Telecom

The only phone system you will ever need.

Action Grids and Action Cells


Unlike the majority of hosted PBX services Bluestone's is extensively customizable by the user. Although customization is present throughout the system, it is particularly important on the DID and IVR tabs.

Both of these tabs use what is called an "Actions Grid". This provides the means to customize call handing, by cascading user selectable actions, called "Action Cells", along the rows of the Actions Grid. Each action cell performs some processing on the call and then either

  1. Directs the call to an internal extension and/or
  2. Passes it on to the next action cell in the row for further processing
A catalog of the action cells can be found HERE

Step by Step Illustration of Programming an Action Cell

The table below illustrates in a step by step manner how to select and configure a simple action cell.
GUI Image Comment
The diagram on the left illustrates a typical listing of phone numbers on the DID tab. Initially you will likely see an array of empty actions. To program the handling of calls coming in on 1-518-708-6310, click on this "empty action" cell and you will then see the pop-up shown in the illustration opposite.
Now you select the action that you want to be fist applied to these inbound calls. For this example we will select the "exten" action - this routes calls immediately to the specified exten.

After you have selected the action "exten" and pressed the "OK" cell then you will see the cell appear as shown on the left. The action has been selected but the value is uninitialized, and is therefore shown as "XXXX".
Aside: When either a new action cell is created or we are changing the function of an action cell there are two steps to the process:
  • Step #1 The selection of the new function.
  • Step #2  Once the function is known the correct screen for its parametrization can be shown.

Now click on the "exten" action and from the drop down menu choose the extension you want the call to be routed to. In this example we chose "8720" and the pressed OK.

Finally press the "Save Required" cell and you are done for this action. Generally you need only press the "Save Required" cell when:
  • You are either done with editing on the page and you want to implement the updates, or
  • You want to save the work that you have done to date.

Now when calls come in on 1-518-708-6310 then will immediately be sent to extension 8720.

Changing the Function of an Action cell

This is identical to changing the function of an "empty action". Every action cell has a drop down menu that list the library of available actions. Choose the new function that you want and then press OK. This creates an uninitialized version of the action. Click the action cell again to parametrize it to your needs.

Overview of a Practical Example

The figure below illustrates how a real world action grid might look. Here we have various inbound DIDs (phone numbers) that are processed in different ways.

A Real World Example of an Action Grid

Column 0 of the grid contains the patterns of digits of the DIDs or IVR options that will be matched by that row. The row then has 8 additional columns that provide for the placement of the action cells. Once the call has matched one of the DID patterns then the processing is executed from left to right as go through Step #1 to Step #8.

If we take the first row that corresponds to DID 1-518-406-2430 then we

  1. Answer the call, pausing for 0.5 sec
  2. Play a track (this call maybe recorded ...)
  3. Go to the day/date router (provides for time dependent call routing)

As you can see each of the action cells give a brief summary of their function. This always includes the action's name and for simple function the first parameter. So we can see that any calls coming in to 1-518-406-2431 and immediately sent to extension 8720 (which could be a phone, hunt group etc). Other action cells contain more complex functionality which is impossible to summarize in this manner and so just the actions name is shown. In order to get the details of the action and also edit them we click on the cell.

Looking Inside the Action Cells

If we start with the simple cells we will see something such as figure 1a when we first press the exten cell. A small pop-up that list the action ('exten') and its current value ('8720').

Step #1 Step #2
Pop-up when the 'exten' action cell is first pressed
Drop down lists all the valid extensions

If we want to edit the value then we use the drop down to choose a new value. The list that is provided contains all of the legitimate values for the parameter, in this case the extensions currently deployed in the system.

If we click on a more complex action such as the ddrouter we would see something such as this:

Here we a listing of the current time periods and the ability to delete or add new ones.

< !-- Needs Work


Example 1

You want calls to your main number to be routed in a time sensitive manner. Calls that come in on holidays callers are informed of the fact you are closed and when you will return, as well as calls be handled for the normal working hours and on weekends. Calls that go directly to your internal phones should not be subject to this filtering and people are able to set their own personal call handling.


Example 2

A company wants to:

  1. Route calls a technical support hunt group during normal working hours (8AM to 6PM)
  2. Implement a priority support service out of hours such that calls from premium callers (identified via callerID) where sent to cell phones, but support calls from others when to voice mail.
  3. Calls during holiday periods were to be treated in the same manner as 2) at all times of the day.

This functionality can be implemented in a few seconds by users with no programming experience using Action cells, this is how its done.



Action Grids and Action cells represent a simple but powerful means whereby anyone can implement custom call handling on a hosted PBX solution. Traditionally complex and expensive call routing solutions can now be implemented (and changed) quickly and easily. Furthermore the solution is consistent across different parts of the solution, so that call handling in IVRs is performed identically to call handing on inbound DIDs.