Bluestone Telecom

The only phone system you will ever need.

Directory of Action Cells

This is a listing in alphabetical order of the cells available for action grids. Each cell contains a "Description" detailing what the cells does, its parameters etc and "Notes" which give suggestions as to how the cell can be used.
An introduction to "Action Grids" can be found HERE


Description: This action both answers the call and waits for the defined period before proceeding. Note the wait time is in milliseconds.

Notes: It takes a finite time for both ends of a call to connect and you can avoid the caller missing any of the leading portion of your message by waiting for 500ms (half a second) to 1000ms (one second) before allowing the call to proceed.


Description: This action marks a DID as being "spyable", ie those users with the necessary class of service can listen in on the conversations live. If the record box is check then all calls on this DID will be recorded.

Notes: Remember that to listen in or "spy" on calls you need to be a user with an "admin" class of service.


Description: This action provides for the routing of calls based upon inbound callerID to either an internal extension or the "congestion" DTMF tone pair.. This cell might be used for:

  • Blacklisting of robo callers. In this instance the "route_to" parameneter would be the "congestion" DTMF tone and the patterns would match the numbers you want to block.
  • Routing of (say) key customers directly to support personel rather than sending them to automated support. In this instance the "route_to" parameter would be the extension of this support person/group and the patterns would match those customers you want to receive priority service.
The patterns p1 through p4 are logically OR'd to create a boolean result. The patterns can be any regular expression. If you are not familiar with regular expressions then the following simplified rules should allow you to meet the bulk of your needs. Patterns can be:
  • Literal numbers ie 5181234567 (DO NOT add dashes, commas or any other seperators. A leading one is NOT necessary)
  • Ranges of numbers are represented thus [m-n]. Example [3-7] will match the numbers 3,4,5,6,7. The pattern 23[2-4] will match 232,233,234 and so on.
  • You may use X as shorthand for [0-9].


Description: This cell follows a cell that can write MYVAR (ie "action.getdigits"). If MYVAR = 1 then opt #1 is taken, if MYVAR = 2 then opt #2 is taken, if MYVAR = 3 then opt #3 for any other key "default" is taken. The values that can be assigned are either extension numbers from the drop down menu or "next", which causes the processing to proceed along the row.

Example This cell ALWAYS follows a cell such as getdigits that is capable of writing MYVAR.


Description: This action will provide DISA services (Direct Inward Services Access) to all of the PSTN phones listed on the account. If the inbound call matches one of listed PSTN phones then the caller will receive dial tone and is able to fully access their account. If the caller is not one of these numbers then they are sent to the "Default exten" - in the example below this is "*470" or IVR1.



Description: This action modifies the callerID name and/or the callerID number to a value defined by this cell. If either the name/number text box is blank, then no change will be made to the received callerID for that value.

Notes:Thia cell is handy if you calls arriving on a number of DIDs but you want to be able to easily see which line was called. You might for example have name set to "Support Line", or "Accounting" etc. An alternate way to do this without over-writing the caller ID is to use a hunt group and attach a BLF to it.

action.ddrouter (day/date router)

Description: This action provides for call routing as a function of either "date", "day of the week" and "time range". The various time intervals are automatically traversed in the following order:

ddrouter image

In the above example the test for the range December 23 to 27 will be made first. If the date does not match this range then the "Days" test is performed. Should the day/time not match any of these conditions then the call will be routed by the 'Default Route'. Although it sounds like an exception the 'Default Route' is the normal way a call will be routed, think of the defined periods as the exceptions to this route.

In the above example, working from top to bottom, we have the following:

If you want to delete one or more periods then just check the box in the 'Del' column and when you save the configuration by clicking the 'OK' ,then these periods will be deleted. To add a period click the 'Add Period' and once the row is inserted define the new day, date, track and extension.

The 'next' action

The Default Action has an addition option from the other periods labeled "next". This selection enables the call to move to the next action along the row of the action grid, rather than move to a specified extension, and thus continue the call processing.

Description: Routes the call to the company directory, there are no parameters for this function.

Notes: The '#' key on the IVR is the default for the company directory function, however if for some reason you specifically wanted to send a call to the company directory then this action is useful. For example you might want to use as the action on "IVR Exit", where if a caller has issues they are sent to the company directory to get assistance on reaching the person they are calling.


Description: Action "empty" is a non-action and terminates the call flow across any row. It can also be used to delete an action that is no longer required.

Notes: If a call flows as far as an "empty" call then it will be dropped.


Description: This action will immediately route the call to the defined extension. This extension can be selected from the drop down box.

Notes: This is the most commonly used cell in the library. Every function is represented as an extension in the dial plan and hence the terminal action of all call flows needs to route the call to some end point, or extension. Some cells (ie ddrouter, mapper) have this routing function integral to their operation, the others require this cell to direct the call to its destination.


Description: This somewhat unique cell will compile to a "short circuit" on the main compile and will route to the defined extension on the fallback server.

Notes:This cell is only useful for OSS deployments. Its operation is likely best understood by example. Assume that you have a company that wants calls handled personally but in the event of an internet outage calls would be handled by an IVR. This cell accomplishes this task. Make the 'FB exten' the IVR (*470) and then succeed the cell with your "normal" processing.


Description: This action is able to (optionally) play a prompt and then capture a defined number of digits. A maximum number of digits can be defined and once the maximum number of digits has been reached or the sequence is terminated with a "#" the call is allowed to proceed. The output from the action is contained in the local variable MYVAR.

Notes: Read the section on the "action.mapper" cell to understand how to use the digits collected in "MYVAR".


Description: Takes no parameters, simply hangs up the call.


Description: This action is similar to action.exten, except that it resolves the extension the call is sent to rather than it being defined in a fixed manner. The resolution can either be:

We will illustrate each of the ways this action can be used.

Pattern Matching

Its common to have blocks of DIDs where the last few digits represent the extension number being called. For example if a company has the block of DIDs that range from 201-555-2101 to 201-555-2120, then these will map to extension 2101 to 2120. On the DID tab to save having 20 listings of the individual DIDs its more convenient to list the DID as the pattern 201-555-XXXX - where X represents any digit 0 to 9. The mapper action is able to extract this information and then send the call to that extension, so if a call comes in for 201-555-2107 and mapper is set to extract the last 4 digits and not add an offset to it then the call is immediately sent to extension 2107.

The offset is handy if there is a constant difference between the DIDs and the extensions we a re looking to route to. For example if in the extensions were in fact from 2501 to 2520, then making the offset 400 would provide the routing we are looking for.

Some actions (ie action.getdigits) output their result in the variable MYVAR so that it can be used more flexibly (ie it could be an extension, it could also be a password, or an account number, etc ...). If you want to interpret the output of these types of actions as an extension then use action.mapper.

Example use of the "mapper" cell

In this example we can see that calls arriving on 1-518-708-6310 are applied to a "ddrouter". The default action for that cell is "next". The next cell is the "getdigits" cell which will pay the "enterPin" track and then get some digits from the caller. These digits are then translated in an a jump to an extension by the "mapper" cell, dereferencing the MYVAR variable.

mapper.jpg mapper example #1


Description: Provides the means to manually change the call path between one of two routes, nominally called "day" and "night" mode. You can specify an extension for the "night" mode, whereas as "day" mode is implemented as an implied "next".

Notes: Usually the extension "*491" is used to switch to "night mode" and "*492" switches to "day mode", but these can be defined as needed. If this cell is used on multiple rows then they will all switch in unison.

Description: Plays the defined track and then proceeds with the call to the next cell. The track is not interruptable.

Notes: The drop down on this action is a listing of tracks as defined under the "Tracks" tab.
To add a track be sure that 1) You have created it under the "Tracks" tab 2) Recorded it (see the "Tracks tab help for details) 3) Finally select it from the drop down menu on this cell.


Description: Sends the call to the voice mail box of the defined extension.

Notes: none