Resource / DID Management with EngageIP

Module Required:

The functionality described below requires that you have the Resource Management module enabled in the EngageIP AdminPortal, if the module is not active the options detailed in this article will not be present in your EngageIP installation. Contact your LogiSense account representative if you wish to discuss adding this module to your installation.

 

Creating a DID Resource Type

Because the Resource Management Module can manage almost any type of resource some scripts must be added to the system to handle specific types of items.

The first is the “Item Quantity Script”. It is a JavaScript function that is used on the page where new items are being added to the system and allows for batch entry of items. For example, DIDs are typically added in sequential blocks (i.e. 519-658-0000 to 519-658-0999). The “Item Quantity Script” parses the items entered on the page to determine how many items are included in the block. For example, if there was a request for 1000 DIDs and you entered “5196580000-0999”, the script would parse that entry and determine that there are 1000 phone numbers. Once the correct number of items have been entered you can click Save and the items will be added to the system. You could also enter 2 items, “5196580000-0499” and “5196210000-0499”, which in combination would give you 1000 items and satisfy the requirements. A script for handling DIDs is as follows:

var start = input.split("-")[0]; var end = input.split("-")[1]; var fullend = start.substr(0, start.length - end.length) + end; return fullend - start + 1;

The other script is the “Add Item Script”. This C# script is similar in that it parses the items entered, but this script is responsible for actually creating the items in the system. A script for handling DIDs is as follows:

string item = context["item"].ToString(); ResourceRequest resourceRequest = context["resourceRequest"] as ResourceRequest; string start = item.Split('-')[0]; string end = item.Split('-')[1]; string fullend = start.Substring(0, start.Length - end.Length) + end; long quantity = Convert.ToInt64(fullend) - Convert.ToInt64(start) + 1; for (long i = 0; i < quantity; i++) { ResourceItem ri = ResourceItem.GetNew(); ri.Name = (Convert.ToInt64(start) + i).ToString(); ri.ResourceRequestID = resourceRequest.ID; ri.ResourceTypeCategoryID = resourceRequest.ResourceTypeCategoryID; ri.ResourceTypeID = resourceRequest.ResourceTypeID; ri.Create(); } return true;

Creating Categories

Resource Items are grouped into Categories in the system. These Categories can then be assigned to owners to allow the Owner to allocate Items from that Category. For example you may have two Categories “US” and “Canada” to group your DIDs into their geographic regions. You can then give some of your dealers access to the “US” Category, and others have access to the “Canada” Category (i.e. if they only operate in one country).

Creating Providers

Providers are the source of new Items. All Items in the system must come from a Provider. When dealing with DIDs you might have a separate Provider for each OCN that you need to get DIDs from.

Before adding Providers you will need to configure Provider Profile Questions. These will gather the extra information needed about each Provider for this specific Resource Type. For example, when managing DIDs you will want a Profile Question to get the OCN for each Provider. When you add a new Provider you will then be prompted to enter its OCN.

Creating Requests

In order to get Items into the system you must request them from a provider. Simply add a new request and select the Category, Provider and Quantity required. This is only a record of the request, nothing actually occurs when the request is created. If some automated mechanism is available to submit the request to the Provider a Workflow can be created to implement this.

Fulfilling Requests

When the Provider is ready to fulfill the request a user can edit the Request and click on the “Fulfill” button. The fulfillment screen has a spot to enter items and a indication of how many items are still required. When the quantity requirement has been satisfied they can click Save and the items will be added to the system.

Creating Pools

Each Owner that has a Category assigned to them can create Pools to group Items in any way they desire. When dealing with DIDs they might wish to reserve some numbers specifically for business customers (numbers ending in 0000 for example). To assign Items to Pools they need to go to the Category and use the View filters to restrict the list to the Items they wish to add to the Pool and then use the Bulk Edit feature to set all the Items to a Pool.

Adding Resource Requirements To Packages

You can add a “Resource” component to a Package to indicate that one of the Services in that package requires a Resource. Specify which Type, Category and Pool the Resource should come from. When the Package is added to an Account a list of matching Items will be presented so that one can be selected and assigned to the Service.

Putting an Item on Hold

A Hold can be placed on an Item so that it will not be available to be assigned. Some Holds are manually done, others are done automatically. An Item can be held for specified period of time after which it is automatically released. A Hold can be global or can be held for a specific Account. Items held for an Account can only be assigned to that Account (i.e. a reservation).

Hold Rules

Hold Rules determine when an Item will be held and for how long. Hold Rules can be set on the Type, Category or Pool. A Hold can be placed when the Item is added to the system, when it is assigned to a Service or when it is released from a Service.

Item Hierarchy

You can define a hierarchy of Items. That is, you can say that an Item of one Type “contains” one or more Items of another Type. When dealing with DIDs, you might configure two Types in the system, “Circuit” and “DID’. You can then say that a Circuit can contain DIDs. A specific Circuit Item can be set to own one or more DID Items. Setting which Items own which other Items can be done manually but is really intended to be maintained automatically, typically via a Workflow.