Number Inventory#

Important

From release 21.4-PB4 onwards, the number format in the VOSS Automate Internal Number Inventory (INI) is with prefix: \+, including a leading slash \ when the INI is in E164 format.

Verify that entries in the Internal Number column of the Number Inventory - also Webex Calling numbers - follow this format.

Overview#

Number inventory allows you to view and manage the numbers for use by users, devices, and services for the given hierarchy level. The inventory includes a combination of data that is automatically managed by the system (like usage) and other fields that are configurable and available to store any additional useful information you choose about the numbers (examples include ranges, billing IDs, circuit IDs) to complete your inventory view.

The inventory supports a range of capabilities outside the basic loading and tracking of inventory status. These include:

  • Number Reservation - mark numbers reserved and include a note about why to hold numbers for specific purposes (e.g VIPs, specific services, etc).

  • Number Cooling - this provides the ability to automatically quarantine numbers for a period of time when unassigned from a user/device/service to prevent re-use for a period of time.

  • Number Audit - this check the inventory against the currently configured devices and updates the inventory where needed to keep the inventory in sync for changes made outside the system.

  • Number Inventory Alerting - configure alerts to be sent if a threshold is met (e.g less than 10% of numbers are available) to allow for proactive management of the inventory. See: Number Inventory Alerting.

More details on these features are provided in the sections below.

Note

Typically numbers are pushed to the UC applications when they are allocated/assigned to users/devices/services. While some available numbers may be in the UC apps for various reasons, the platform is not trying to maintain the available numbers in the underlying UC applications as it is only important when assigning the numbers to be used.

Hierarchy Considerations#

The numbers in the inventory should be assigned to the appropriate hierarchy in Automate based on where you need the numbers to be used. The number inventory can exist at the same or higher hierarchy level to the users, services, and devices that will be assigned the numbers. So the hierarchy that the numbers are assigned to in the inventory will determine where they are visible for various MACD tasks, such as user on-boarding.

Here are some points to consider and potentially where to load the inventory numbers for different scenarios:

  • Site level numbers - Are the numbers dedicated to a single site, for instance due to local trunks, area codes, or emergency routing? If so, then numbers should be at that site in Automate so that they can only be allocated to users/services at that site.

  • Intermediate Nodes - Is a number range shared across a few separate sites in a common region or city, or within a geography (such as a country)? In this case, an intermediate node could make sense to group the sites and the inventory can then sit at that intermediate node. This allows the numbers to be shared across all the sites under that intermediate node.

  • No specific allocation required within an organization – then numbers can be at a common hierarchy node (such as a customer) and shared by all the sites. This could be the case if the customer or enterprise is within a single region with central breakout.

  • If you are using dial plan schemas, then the rules for the dial plan may determine where numbers can reside. For instance, if it is a site-based dial plan (with site codes), then all numbers in the inventory will need to reside at the site level.

  • Workflows and features in the system generally will not move inventory numbers to the same hierarchy as the service they are assigned to. This is due to the fact that the inventory does not need to be at the same level, it can reside higher up the hierarchy. For instance, if the inventory number is at customer level and the user it is assigned to is at a site, the inventory number would not be automatically moved. An administrator will need to move the number to that site for instance, but only if they want it to reside at the same hierarchy.

Users, devices, and services that will consume numbers are typically at the site level in the system, so numbers they need should be at the same level (site) or above the site they reside in (Intermediate, Customer). The approaches can also be mixed as needed if some numbers are site specific while others are shared pools. When adding the number(s) into the inventory, choose which hierarchy level to add the numbers to and this will determine their visibility in the system. This should be considered when loading. It is important to consider how the inventory should be allocated when designing a hierarchy setup and ultimately how to build out the inventory.

Vendor Specific Guidance and Notes#

Some behaviors and guidance are specific to UC vendors and how their numbers work. We shall cover that in this section.

Cisco UCM/Dedicated Instance#

There are a few considerations specific to the number inventory when used in a Cisco UCM/Webex Dedicated instance environment.

Vendor and Internal Number Type fields in the inventory:

  • Vendor – this field will be blank or Cisco, depending on how the numbers are loaded

  • Internal Number Type – this field is not used in UCM or Dedicated instance deployments

Partition and Cluster#

The number inventory is not partition or cluster aware. If the same numbers are used multiple times but in different partitions, then these all map to the same number. This should be taken into account when thinking about the hierarchy level at which the number inventory exists.

Also, not being cluster aware, if the same number exists on different clusters, this again will map back to the same inventory value unless numbers are assigned to the site level.

Cisco-Microsoft Hybrid Number Inventory#

If utilizing the Automate Cisco-Microsoft Hybrid feature for integrated services, then the following notes apply.

A Cisco-Microsoft hybrid setup is an integration of Cisco and Microsoft capability where we route Microsoft calls via Cisco Unified CM.

In a hybrid setup, the Internal Number Inventory (INI) can be set up in 2 ways:

  • E164 number based, for example:

    • an INI entry 3334567 is mapped to an external number of +15553334567.

    • The number 3334567 is set up in Cisco (along with routing for the mapped external number).

    • The number +15553334567 is set up in Microsoft as the line.

    • The numbers 3334567 and +15553334567 should be seen as the same number from an INI tracking perspective.

  • Internal number based (site code+extension or just extension)

    • an E164 number is generated by adding a prefix (+88800) to the internal number for setup in Microsoft.

      Note

      The named macro called MultiVendorLine-InternalExt-E164Prefix is used to store the prefix - currently set to +88800.

    • For example, 3334567 is set up as an internal number for the user and no external number is mapped. The line is selected in the Hybrid setup. Then the prefix is added, so the number +1888003334567 is the number in MS Teams for that user.

    Important

    The numbers 3334567 and +888003334567 should be seen as the same number from an INI tracking perspective. The mapping is also reflected in the Audit Number Inventory. In this case, an update of the inventory takes place so that these are not counted as two separate numbers.

The table below sums up the Number Inventory data for these cases.

Note that Extra2 and Extra4 hold the service type and E164 number (includes generated) respectively.

Scenario

Status

Vendor

E164 Number [7]

Usage

Extra2

Extra4

Cisco-MS-Hybrid

Used

Cisco, Microsoft

Exists

Device, User

Cisco-MS-Hybrid

<blank>

Cisco-MS-Hybrid [8]

Used

Cisco, Microsoft

<blank>

Device, User

Cisco-MS-Hybrid

+88800<INI>

Cisco-No-Services

Avail

<blank>

<blank>

<blank>

<blank>

<blank>

Cisco-Only

Used

<blank>

Exists

Device

<blank>

<blank>

MS-Only-Entvoice

Used

Microsoft

Exists

User

MS-Only-Entvoice

<blank>

MS-Only-Entvoice

Used

Microsoft

<blank>

User

MS-Only-Entvoice

+88800<INI>

MS-Only-Hybrid

Used

Microsoft

Exists

User

MS-Only-Hybrid

<blank>

MS-Only-Hybrid

Used

Microsoft

<blank>

User

MS-Only-Hybrid

+88800<INI>

MS-Only-No-Entvoice

Avail

<blank>

<blank>

<blank>

<blank>

<blank>

No-Hybrid-Service

Avail

<blank>

<blank>

<blank>

<blank>

<blank>

For details on the service type scenarios, see: Multi Vendor Service Definitions.

Footnote

Details and Usage

Selecting a specific number from the Number Inventory list view, opens the details view for that number.

The Number Details tab shows read only details for the number, for example Internal Number, Status, Usage, as well as editable fields such as Tag, Description, Reservation Notes, etc. In the case of Cisco-Microsoft hybrid entries, the vendor added would be “Cisco, Microsoft”.

The Usage tab provides links to all instances where the number is used.

  • In the case of Cisco-Microsoft hybrid usage, the last vendor added would be appended, as seen above in the “Device, User” instances.

  • In the case of Webex App Calling usage, the link directs to the Webex App user.

    See Webex App in the Core Feature Guide.

Note

  • If the same number is shared by multiple devices/services of the same type, using different partitions, only the first 10 instances will be displayed.

Related Topics

Webex App

Microsoft Teams Deployments#

The use of the inventory and how it is maintained or managed can differ depending on the types of numbers in your environment. The following is some guidance and best practices to consider for the different number types. If you have a mix of number types, then consider the notes for different number types.

Vendor and Internal Number Type fields in the inventory:

  • Vendor – this field will typically be Microsoft. If they are not loaded with this value initially, the system will update the numbers as they are allocated to vendor Microsoft.

  • Internal Number Type – this field is used to reflect the type of number in the Microsoft environment: Direct Routing, Operator Connect, or Calling Plan. This can be selected when loading the numbers and it is best to select the relevant values to ensure the best experience. In many circumstances, the system will also update the fields as relevant during audit or allocation of numbers if they are incorrect or left blank.

General Notes

The hierarchy consideration is a key section in this chapter to read in planning for numbers in the inventory. Often the numbers are meant to be used in specific sites or regions only due to agreements or emergency services requirements. This is the business context which the Automate number inventory can provide when the numbers are loaded into the inventory at the appropriate hierarchy level. In fact, we often find after adding Automate to an existing environment, that we identify various numbers that have been incorrectly assigned previously and enable them to be corrected. Any numbers that were added to the Automate inventory through the sync/audit process will likely require moving to the correct hierarchy level. More details on this in related to the specific numbers types are below.

This section covers specific logic related to creating and managing the inventory in relation to specific number types in the Microsoft environment. In Automate you can mix and match the types for different needs, so one or more of the sections may apply.

Direct Routing

In this type of setup, you are getting ranges of numbers outside the Microsoft framework from one or more providers. For these number types, the Microsoft tenant only knows about the numbers that you have assigned to users/services. The tenant has no knowledge of the ranges or available/unused numbers.

So the VOSS number inventory capability can only auto-populate the inventory from a sync/audit with those used numbers discovered from the tenant. In this scenario, you will need to load the available numbers into the VOSS Automate number inventory to be managed and available for administrators to assign going forward.

Here are a few guidelines in doing this setup:

  • You can preload the ranges of numbers you own ahead of any overbuild process that will sync/audit the inventory. In this case, the system will update the inventory as part of the sync/audit process to mark assigned numbers used. It will still add any used numbers it discovered form the tenant if there were any missed in the preload process.

  • You can load the full ranges after the overbuild process – this will fill in the inventory around the used numbers that were discovered and auto created in the inventory from the tenant. You may need to move the created numbers to a different hierarchy level depending on your needs (intermediate node, moving to site/customer). When you load the ranges after the sync/overbuild, the system will fill in the gaps by adding numbers as available that are missing in the inventory while leaving the ones added via the sync/audit process alone.

  • Any future ranges you add to the system beyond the initial overbuild will need to be added to VOSS Automate to be available for administrators to use.

Operator Connect and Calling Plan numbers

In this type of setup, you are getting ranges facilitated by the Microsoft Teams framework. For these types of numbers, the Microsoft tenant is fully aware of the ranges of numbers available as they are populated into the system by Microsoft (Calling Plans) or the selected Provider (Operator Connect). So it is important to note the numbers can only actually be used (e.g assigned to a user) when the numbers are available in the Microsoft Tenant post ordering – from Microsoft (Calling Plan) or the selected Provider (Operator Connect). If you add them to the Automate inventory and try to allocate them before they are present in the tenant, you will get an error message about the numbers not existing in the tenant.

At this point in time, the data we receive from the MIcrosoft tenant about the numbers does not provide any information regarding how the numbers are to be used - e.g site specific, etc.

The hierarchy recommendations earlier in this chapter should be referenced and numbers should be loaded according to how the numbers are ordered and registered with Microsoft or the Provider (e.g site specific, global, etc).

The best practice recommendation to streamline the inventory management of these number types is:

  • number ranges are loaded into the Automate Inventory at the appropriate hierarchy before they are synced in from the Microsoft tenant

  • This ensures that the numbers are at the correct hierarchy level and context in the system for use in the system - that users and services can only be assigned appropriate numbers.

  • When the sync/audit process is run, the system will update those inventory entries with status, usage, type, etc and will not move them.

The Automate system can generate inventory entries for numbers of these types; however there are some considerations and for this reason it is recommended above to preload the numbers for improved accuracy and ease of use. The following are considerations of the generated inventory and potential actions if the sync/audit was run before you loaded your inventory:

  • It will generate inventory entries for numbers assigned to users/services in the tenant only. We do this for assigned numbers to ensure they are at least captured and since they are assigned there is not a risk of being assigned incorrectly.

  • Numbers that are not assigned will not be generated in the inventory. This is to avoid available numbers being created at the wrong place in the hierarchy and inadvertently being assigned to users in the wrong sites, etc.

  • It will create the generated inventory entries at the same hierarchy level as the tenant details (typically customer). Typically, they are required at a different level in the hierarchy and they will need to be moved after this creation.

  • The ranges will need to be loaded to create the available numbers in the range within the inventory so they are available to be assigned to users/services. You can just load the whole range and the system will fill in the blanks, creating inventory entries for missing numbers while leaving existing numbers (created by the sync) alone.

You can look at the number data provided by Microsoft for these number types by reviewing the device/msteamsonline/Number device model. Note - these model instances will always be at the same level as the tenant - they do not get moved around and are completely independent of the inventory entries for the numbers.

Webex Calling#

This section covers the specifics related to number inventory handling in a Webex Calling environment. Some key considerations in a Webex Calling environment include:

  • In a Webex Calling environment, resources all reside in Locations including numbers regardless of the source (CCP, non-integrated CCP, Cisco, etc).

  • PSTN Numbers need to be loaded into Webex as available numbers before they can be used/assigned to users. This process can vary depending on how you are sourcing the numbers - CCP, Cisco Cloud, etc). Due to this, the numbers are typically already in Webex - to pull into the Automate system and inventory.

From the Number Range Management menu at a site:

  • For numbers and ranges of numbers, Starting Extension and Ending Extension number values must be prefixed with + and are then created and maintained in VOSS Automate with the prefix format \+. When adding numbers, this can also be seen in the Transaction detail.

  • Vendor – this field will typically be Webex Calling. If they are not loaded with this value initially, the system will update the numbers as they are allocated to vendor Webex Calling.

    Note

    Numbers can be pushed to the Webex Control Hub when adding number ranges at site level with the Vendor set as Webex Calling.

    ../../_images/number-range-vendor-webex.png
  • If the Operation is Add:

    When adding numbers and selecting the Vendor as Webex Calling, a Webex Control Hub panel displays the options if:

    1. The Webex App is configured at the customer hierarchy.

      See Webex App.
    2. The available macro WebexCallingNumberMgmtEnabledSite has not been cloned to the site and set to value False. (If required, this task can be carried out if Webex Calling number management should be disabled for a site.)

    The options are:

    • Push Numbers to Webex: this allows for numbers to be added to the site in VOSS Automate and to the Webex Control Hub. (Refer to the Create Spark Number action in the Transaction list.)

    • Push as Active: dependent on the option Push Numbers to Webex set to enabled.

      If enabled and Push Numbers to Webex is enabled, numbers are added in VOSS Automate INI added as Status of Available, and on Webex Control Hub created as Active.

      If disabled and Push Numbers to Webex is enabled, numbers are added in both VOSS Automate INI and the Webex Control Hub as Inactive.

    Number extensions are added to the INI when a user is assigned a number and an extension is then added.

  • If the Operation is Modify:

    This operation can be used on selected numbers that are in Status of Inactive - to set them as:

    • Active in the Webex Control Hub. Refer to the Activate Spark Number action in the Transaction list.

    • Status is Available in the VOSS Automate INI.

  • If the Operation is Delete:

    Selected numbers are deleted from VOSS Automate INI and the Webex Control Hub. Refer to the Delete Spark Number action in the Transaction list.

  • Internal Number Type – this field is used to reflect the type of number in the Webex environment. If you are adding or activating numbers via Number Range Management then the type is Phone Number. Any numbers marked as Extension have been synced in from the Webex Control Hub.

Since the numbers are known in the Webex environment, as well as the Locations for use, the VOSS Automate system will generate the inventory based on the data from Webex. This includes:

  • The sync process handles the creation of inventory entries in the Automate platform as numbers are pulled in. You should ensure the sync process handles Locations in Webex prior handling numbers (out of the box syncs ensure this).

  • During a site handling Webex Locations, if a corresponding Automate site does not exist, Automate will create a site.

    Webex Location Node Mapping for more details on Site to Location mapping for Webex for more details on how they are aligned.
  • When Webex Numbers are synced into VOSS Automate, the prefix format \+ is used. Any inventory entries that do not exist are created and they are created in the Automate site corresponding to the Webex Location. This includes PSTN numbers and also internal only extensions.

  • The internal number in the VOSS inventory uses the PSTN number (if it has one); otherwise it will use the extension number if that is the only data available.

  • For PSTN numbers, the extension (if there is one) is also captured in the inventory record via the Extension field.

  • Removal of numbers

  • Typically, inventory audit functionality will not be required if good sync practices are followed, as the inventory changes are handled through the sync process.

AudioCodes Device Number Integration#

Number Inventory. Once such devices are configured in VOSS Automate and data is synced, the Number Inventory displays these numbers as Status is Used, with the Vendor field set as AudioCodes. These numbers are therefore then not available to assign to subscribers during number management.

Workflows and data syncs are in place to ensure these numbers in the Number Inventory remain aligned with any changes in these devices.

Configure AudioCodes Devices#

Administrators with the required permissions to the relation/AudioCodesConnection and data/AudioCodes models can add entries to menu layouts to expose these models and allow for the configuration of the device.

Connection Details

If the relation/AudioCodesConnection model is available from the menu, the Connection Details input form allows for the configuration of the AudioCodes device in VOSS Automate.

  1. Add a descriptive Name for the connection.

  2. Add connection details and credentials:

    • Audio Codes Routing Manager: IP address or a hostname

    • Username and Password: credentials for the routing manager host

    • Authentication Method: select the type of authentication to use with the host

  3. Select AudioCodes Connection sync on Create/Update if an immediate data sync from the device is required.

Data Syncs and Schedules

When the connection details for the device is added, two default Data Sync instances and a Schedule also become available to be modified and enabled as required:

  • SyncAudioCodes__<connection-name>

  • PurgeAudioCodes__<connection-name>

  • ScheduleAudioCodes__<connection-name>

The data sync workflows would then update internal number inventory entries for the Vendor field set as AudioCodes in accordance with updates to changes (add, delete, update) to AudioCodes RegisteredUsers (device/audiocodes/RegisteredUsers).

AudioCodes and Number Cooling

In the case of the removal (or delete) of a AudioCodes RegisteredUsers instance, the internal number is placed into a configurable cooling period, with Status as Cooling.

Important

For AudioCodes internal numbers, the cooling period (days) is configured by means of a named macro called: audiocodes_cooling_duration (default setting is 2 days) and not by the Number Inventory Cooling Duration (Days) value in Global Settings (Global Settings).

A high level administrator with access to the named macro instances can carry out this configuration if needed.

The reason for the alternative cooling setting is that AudioCodes devices can become offline but are not deleted. The default maximum offline duration is here set to 2 days.

In addition, if the device does then come back online within the days set in the macro, the internal number will be set back to:

  • Status: Used

  • Usage: Device

  • Vendor: AudioCodes

When the line is in Cooling, the following internal number inventory fields are set:

  • Tag: an information message that the device is deleted or offline and the number of days when the INI will reach the release date.

  • Release Date

See: Viewing Numbers.

When the Release Date has been reached, the INI is put back into the Available pool of INI’s, as with standard cooling - see: Number Cooling.

AudioCodes and Audit Number Inventory

When the Audit Number Inventory is run, the Status and Usage of internal number inventory items that have the Vendor field set as AudioCodes are checked and verified to be:

  • Status: Used

  • Usage: Device

See:

Reservation#

Numbers can be reserved for future use. For example, for users who will soon be joining the company. When a number is reserved, it is unavailable and cannot be allocated to a subscriber, phone, device, etc.

Number Cooling#

Numbers can be placed into a cooling period, either manually or automatically. When automated number cooling is enabled, numbers are placed into cooling for a predefined period when the subscriber or phone associated with the number is deleted.

Note

Automated number cooling is enabled and disabled in the Global Settings. The default is disabled.

While the number is in its cooling period, it is unavailable and cannot be allocated, for example, to a subscriber, phone, or device.

A number is released from cooling and is available for use when:

  • The cooling period reaches its end date

  • It is manually released from the cooling period

Number Inventory entries - End-user Provisioning Tasks#

The number inventory is integrated into various features in the system to:

  1. Display options of numbers for selecting/assignment across the system. The numbers presented for selection follow rules specific to the feature in many cases, for instance can lines be shared or not, etc.

  2. Manage the state of the numbers in the inventory via the workflows - marking the number used, available, and updating other managed fields depending on the MACD being performed. This includes any specific logic setup for the unmanaged fields - See the section on flexibility for options to control the update that occurs.

Related Topics