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 }}>"

Called Macros#

Clone the called macro to your hierarchy and modify if needed. The custom macro is then called for the associated feature by the caller macro.

See:
INI_Description_Cisco_CallHandler
INI_Description_Cisco_CallPark
INI_Description_Cisco_ChangeLine
INI_Description_Cisco_CPUG
INI_Description_Cisco_CTIRP
INI_Description_Cisco_HG
INI_Description_Cisco_MeetMe
INI_Description_Cisco_Reassign
INI_Description_Cisco_SubMove
INI_Description_From_Caller_Workflow
INI_Description_Hybrid_AddMVS
INI_Description_Hybrid_AddSnr
INI_Description_INILineAdd
INI_Description_Microsoft_QAS
INI_Description_UserMoveApps