Number Inventory Flexibility and Description Customization

Overview

When number inventory changes are made while using VOSS Automate features, users are provided with a mechanism to define the logic for the dynamic population of a set of number inventory fields.

To make use of the mechanism, the following elements should be noted:

  • Only a subset of number inventory fields can be managed.

  • The mechanism provided includes:

    • A Configuration Template (CFT) called IniUpdateCustomCFT

    • A set of macros to manage the description field. These are comprised of a “caller” macro entered into the CFT, which in turn references a set of macros that apply in accordance with the specified feature associated with the macro.

    • If the “caller” macro is added to the CFT, a set of default values are added to the description field when the associated feature is used.

    • Users therefore have a choice to either modify the “caller” macro representing the feature use logic, or the individual macros called by it.

Managed and Non-Managed Number Inventory Fields

Number Inventory data fields are of 2 types:

  • VOSS managed number inventory fields.

    The values of these fields are derived from workflows and cannot be customized.

    Managed number inventory fields are:

    status
    usage
    e164number
    vendor
    internal_number_type
    reservation_notes
    
  • VOSS non-managed number inventory fields.

    The values of these fields are updated when a number is marked used, available, etc.

    By default, when a number is marked as available, the non-managed extra- fields retain their value and are not cleared. Customers have options available to manage these with a provided Configuration Template (CFT) called: IniUpdateCustomCFT.

    For details, see Persisting and Modifying Values in Extra Fields.

    Non-managed number inventory fields are all those fields that are not included in the Managed number inventory fields.

Number Inventory Description Field Customization

The description field in the number inventory is cleared when a number is marked as available. However, a “caller” macro is available that can be referenced in the provided Configuration Template: IniUpdateCustomCFT.

To use the CFT and macros, clone IniUpdateCustomCFT from sys to the required hierarchy and set description field to:

{{ macro.INI_Description_From_Caller_Workflow }}

Using this “caller” macro allows customers to determine how to populate the description field for different scenarios (identified by pwf.ini_caller values in the macro) - number assignment, unassignment, the usage context (e.g users, phone, Auto Attendant, Call queue, etc). The “caller” macro references a set of individual macros that apply for various usage scenarios. These macros can in turn be customized to allow for a required update of the number inventory.

The default description values of these macros, as well as the scenario and macro name are listed below:

Named macro: INI_Description_From_Caller_Workflow defines a macro per context (pwf.ini_caller):

pwf.ini_caller

Feature

Macro Name

INILineAdd

Used by QuickSubscriber and AddPhone

INI_Description_INILineAdd

UserMoveApps

Used by QuickSubscriber

INI_Description_UserMoveApps

Cisco_CallHandler

Used by CallHandler

INI_Description_Cisco_CallHandler

Cisco_CPUG

Used by CallPickupGroups

INI_Description_Cisco_CPUG

Cisco_HG

Used by HuntGroups

INI_Description_Cisco_HG

Cisco_SubMove

Used by SubscriberMove

INI_Description_Cisco_SubMove

Cisco_ChangeLine

Used by Subscriber Change Line

INI_Description_Cisco_ChangeLine

Cisco_Reassign

Used by Reassing Services

INI_Description_Cisco_Reassign

Cisco_CallPark

INI_Description_Cisco_CallPark

Cisco_CTIRP

INI_Description_Cisco_CTIRP

Cisco_MeetMe

INI_Description_Cisco_MeetMe

Microsoft_QAS

INI_Description_Microsoft_QAS

Microsoft_QAS_Hybrid_Only

INI_Description_Microsoft_QAS

Hybrid_AddSnr

INI_Description_Hybrid_AddSnr

Hybrid_AddMVS

INI_Description_Hybrid_AddMVS

Macro Name

Default Macro Description Value

INI_Description_INILineAdd

input.description, else macro.DISPLAY_NAME_FNAME_LNAME_MAX_40_CHARS

INI_Description_UserMoveApps

input.description, else macro.DISPLAY_NAME_FNAME_LNAME_MAX_40_CHARS

INI_Description_Cisco_CallHandler

input.DisplayName

INI_Description_Cisco_CPUG

input.description

INI_Description_Cisco_HG

input.description

INI_Description_Cisco_SubMove

pwf.description_Display_Name

INI_Description_Cisco_ChangeLine

data.User.display_name | username:input.username

INI_Description_Cisco_Reassign

macro.DISPLAY_NAME_FNAME_LNAME_MAX_40_CHARS

INI_Description_Cisco_CallPark

pwf.description

INI_Description_Cisco_CTIRP

input.description

INI_Description_Cisco_MeetMe

input.description

INI_Description_Microsoft_QAS

if pwf.workflow_source = MS_TEAMS input.FirstName and input.LastName else input.first_name input.last_name

INI_Description_Hybrid_AddSnr

input.first_name input.last_name

INI_Description_Hybrid_AddMVSa

pwf.dataUserObject.first_name pwf.dataUserObject.last_name

Macro Details

Caller Macro

Clone the caller macro to your hierarchy and modify if needed. The called macro references associated with a feature can be substituted with custom macros.

  • name: INI_Description_From_Caller_Workflow

  • description: “Calculation of INI description field using pwf.ini_caller value to identify required macro. For use by INIUpdateCustomCFT”

macro (Line breaks added for readability):

"macro": "(( pwf.ini_caller == INILineAdd )) <{{ macro.INI_Description_INILineAdd }}>
          (( pwf.ini_caller == UserMoveApps )) <{{ macro.INI_Description_UserMoveApps }}>
          (( pwf.ini_caller == Cisco_CallHandler )) <{{ macro.INI_Description_Cisco_CallHandler }}>
          (( pwf.ini_caller == Cisco_CPUG )) <{{ macro.INI_Description_Cisco_CPUG }}>
          (( pwf.ini_caller == Cisco_HG )) <{{ macro.INI_Description_Cisco_HG }}>
          (( pwf.ini_caller == Cisco_SubMove )) <{{ macro.INI_Description_Cisco_SubMove }}>
          (( pwf.ini_caller == Cisco_ChangeLine )) <{{ macro.INI_Description_Cisco_ChangeLine }}>
          (( pwf.ini_caller == Cisco_Reassign )) <{{ macro.INI_Description_Cisco_Reassign }}>
          (( pwf.ini_caller == Cisco_CallPark )) <{{ macro.INI_Description_Cisco_CallPark }}>
          (( pwf.ini_caller == Cisco_CTIRP )) <{{ macro.INI_Description_Cisco_CTIRP }}>
          (( pwf.ini_caller == Cisco_MeetMe )) <{{ macro.INI_Description_Cisco_MeetMe }}>
          (( pwf.ini_caller == Microsoft_QAS )) <{{ macro.INI_Description_Microsoft_QAS }}>
          (( pwf.ini_caller == Microsoft_QAS_Hybrid_Only )) <{{ macro.INI_Description_Microsoft_QAS }}>
          (( pwf.ini_caller == Hybrid_AddSnr )) <{{ macro.INI_Description_Hybrid_AddSnr }}>
          (( pwf.ini_caller == Hybrid_AddMVS )) <{{ macro.INI_Description_Hybrid_AddMVS }}>
          <{{ fn.drop }}>"