Generator Keywords

Introduction

This document describes the generator keywords; these tools provide powerful mechanisms for generating URIs and Call Ids.

Auto-Increment generator for URI and Call Id values

In some circumstances, no attribute is available within the LDAP/AD schema that can be used to Call Identifiers. We therefore added a new keyword “Auto-Increment” (“AI”) that enables Call Ids to be generated and assigned to multiple values on the LDAP configuration mappings.

This allows the Call Id value to be shared across multiple fields (specifically, primary URI, secondary URI and Call Id). It will work with the multi-role URI/Call Id fields as well.

The format of the keyword is: xx%AI(N)%yy

  • AI = “Auto-Increment” – (add one)
  • %% are the keyword delimiters
  • xx are optional prefix values
  • yy are optional postfix values
  • N defines the length of the number required – it generates a Call Id/URI value of N characters long and pads to the left with zeros. If the value becomes longer than N characters, it auto extends to the new length. For example, if N has the value 5, numbers in the range 00000 to 99999 will be generated until the counter becomes a 6-digit number at 100,000 after which the values will be 6 digit 100000, 100001, 100002 etc.
    • We plan adding a “wrapping range” keyword in a future version.
  • The base value for the Call Id is 1.
  • If you reference %AI(6)% multiple times on the same LDAP settings definition, the same value is used for all fields. The counter increments for the next user. You can therefore, for example, use %AI(6)% for the Secondary URI and Call Id.

The result of that would be that users could direct dial into a Space via the secondary URI or via the IVR and use the Call Id.

If no Call Id attribute is specified in the LDAP mappings field, the Call Id is generated in the following manner:

  • The base value is 1; it is incremented for each new coSpace created.
  • In addition, a configurable prefix of 700 is defined in the VQ’s configuration database. The Call Id value is appended to the prefix resulting in Call Ids with the values 7001, 7002 etc.

The Auto-Increment keyword gives you complete control:

  • 666%AI(6)% - would give you values: 666000001, 666000002, 666000003 etc.
  • 666%AI(6)88 - would give you values 66600000188, 66600000288, 66600000388 etc.
  • The value generated by the auto-incrementor (“AI”) is stored on the Space. This means if you needed to change a prefix, we can detect the change. So, for example, if you had a Space 666%AI(6)%88 and needed to change 666 to 777, you could:
    • original: 666%AI(6)%88 generating coSpace CallID 66600000188.

    • updated to: 777%AI(6)%88 coSpace would be updated at next import to have Call Id 77700000188 and rerun the importer; we’d detect that 666 had changed, we’d retain the AI value (000001) and update the coSpace to have Call Id (or P-URI, S-URI) of 77700000188.
  • The keyword will also work with existing Call Ids that used the 700 prefix. If that’s required, you can use 700%AI(0)%.
    • The effect of that (assuming you haven't changed the 700 prefix via a configuration change) would be to allow you to use the existing Call Id and drop it into, for example, the primary or secondary URIs. This will be useful in scenarios where Call Ids are already known and you want, for example, to allow direct dialing.
  • When defining the length component for generators please ensure you specify a length value (the generated values are leading zero filled) that will give you sufficient values – for example, length 4 would give a number range of 0…999 (one thousand values). This might sound a lot but isn’t; you should be considering 6 or 7 digits. Please ensure the number ranges generated work with your dial-plan.
    • Please also note that the generator functions do not currently ‘wrap-around’ and re-use unused numbers. Prefix chains can be defined so the values generated can go thru a list of defined ranges. For example, %66,67AI(6)% would generate values 66000000 thru 66999999 and 67000000 thru 67999999.
    • Once the generator value has wrapped around over the available set of values, it’ll continue incrementing and therefore (in this example) start generating 7 digit values which will be appended to the last prefix (in this case 67) giving a 9 digit result rather than a 8 digit result.

Space Template URI/Call ID generation enhancements

The Space Template page gives the Space "designer" the ability to automatically generate URIs and/or call IDs whenever users use AM/VQCM to create CMS Spaces. Using generators to create Spaces make it easier to create Spaces that have URIs/Call IDs that fit into a company’s dial plan, hence making this process less prone to error.

To enable this functionality fields have been added to the Space Template page that allows a URI Generator or a Call ID generator to be assigned to URIs/secondary URIs and role based URIs (and call IDs).

Current generators provided by the system are:

  • Auto-Increment: %AI(N)%
  • Random: %RND(N)%

where N specifies the level of padding required.

Prefixes and postfixes can be used in the same was as described in the previous section for Auto-Increment on the LDAP Configuration page.

The Auto-Increment increases a counter when a URI is generated and so allows increasing URIs/Call IDs (which are guaranteed to be unique) while the Random generator selects a random number to use (which are not currently guaranteed to be unique, although the chance of a clash is small). To avoid confusion the generator types should not be mixed in a single template.

As URIs/Generators are generated when a template is selected in the AM/VQCM UI if the Space is not saved then the auto increment value will not get reset and so that value will remain unused.

Additional properties to turn automatic URI/Call ID generation on or off have been added (“Auto URI” and “Auto Call ID”) to the page as well as options to make the values editable.

NOTE: The RND generator will only generate numbers up to 9 digits.

Support for Secondary Call Ids

A Secondary Call Id can be configured from the LDAP Configuration and Space Template pages. The Secondary Call Id allows, for example, short Call Ids to be defined for easier access to Spaces. In some customer environments, long Call Id values were being imported from LDAP and, whilst they worked, they became a usability pain-point for users caling into calls. The Secondary Call Id allows the value from LDAP to be transformed, the first xx digits truncated and a ‘short dial’ option made available on the Space.

Examples

Defining a Space Template with pre-populating Address (URI) and Call Id fields

Close-up:

Here’s a Space created using the “URI Generation” Space Template:

Note how the Address/URI has been populated with a 6 digit number with “.vmr” appended and how Call Id is been set to the same number prefixed with “9”.

Creating a Space with manually entered URI and Generated Call Id, Secondary URI and Secondary Call Id

Note how Auto URI has been checked to allow a Generator to be used for the Secondary URI. Also note how the Primary URI (appears as Address – more user friendly – on the user facing page) has been left blank and the Editable button is checked. This means that the user can enter their own URI/Address (unlike the first example where the URI/Address was auto-generated). The Call Id, Secondary URI and Secondary Call Id values have been generated.

In this example, no validation rule has been defined; the user can therefore type in any address they like. So, although that’s possible and will be used by some customers, giving users the task of defining the URI/Address introduces plenty of scope for users getting tangled and needing to call your service help desk. We therefore recommend using number-based Generators to produce URI/Address values that will work.

If you do want to allow users to enter their own URI/Addresses, validation rules can be applied to enforce consistency.

For example, if you want to ensure that the URI always ended “.vmr”, you could add the following validation rule: ^.*vmr$. This is a regular expression and states “from the start of the text, look for zero of more characters followed by vmr with vmr being the last characters in the text”. If you miss off the ^ and $ characters, the validation rule will pass if zero or more characters followed by vmr are present anywhere in the string. The dot means “any character” and the * means “zero or more instances”.

Use the “Help text” fields to give users guidance on the format of URI/Address they need to enter.

In the example, you can see the Help Text field has been used to indicate which values were created by a Generator.

Here’s an example of a Space (“mySpace”) created using this Template:

VQ Customer Support

If you need assistance with this, please contact our Customer Support Team who will be happpy to assist you.

Telephone: +44 1249 880140 and select option 2

Email: support@vqcomms.com